MySQL 主从配置是指将一个 MySQL 服务器(主服务器)的数据复制到一个或多个从服务器上。这种配置有助于提高数据可用性、备份、负载均衡等方面的性能。下面是一个简单的 MySQL 主从配置步骤:
确保主从服务器上安装了 MySQL 数据库,并且版本相同或兼容。
在主服务器上编辑 MySQL 配置文件(通常是 my.cnf 或 my.ini)。找到以下几行并做相应修改:
csharp复制代码server-id = 1 # 主服务器的唯一标识,每个服务器都要设置不同的ID log_bin = /var/log/mysql/mysql-bin.log # 设置二进制日志文件路径和名称,确保目录存在并具有写权限 binlog_do_db = your_database_name # 设置要复制的数据库名称
重启主服务器使配置生效。
在从服务器上编辑 MySQL 配置文件,找到以下几行并做相应修改:
csharp复制代码server-id = 2 # 从服务器的唯一标识,每个服务器都要设置不同的ID replicate-do-db = your_database_name # 设置要复制的数据库名称
重启从服务器使配置生效。
在主服务器上创建一个用于复制的用户,并授予该用户复制权限:
sql复制代码CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';FLUSH PRIVILEGES;
在从服务器上执行以下命令,配置从服务器的复制:
sql复制代码CHANGE MASTER TO MASTER_HOST='主服务器IP地址', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.XXXXXX', MASTER_LOG_POS=XXXX; # XXXX表示要开始的二进制日志位置,可以从主服务器上查询得到START SLAVE; # 启动从服务器复制进程
检查从服务器的复制状态,确保状态正常(如 "Slave_IO_Running: Yes" 和 "Slave_SQL_Running: Yes"):
sql复制代码SHOW SLAVE STATUS\G;
如果状态正常,表示主从配置已经完成。从服务器会开始接收并同步主服务器的数据变化。
9. 定期检查复制状态和日志,确保复制过程没有出现问题。如果遇到问题,可以查看日志文件进行排错。