要设置MySQL主从同步,您需要执行以下步骤:
-
配置主数据库(Master):
- 打开主数据库的配置文件(通常是my.cnf或my.ini),启用二进制日志功能。在文件中添加以下行:
log-bin = mysql-bin server-id = 1
- 重启主数据库以使配置生效。
- 打开主数据库的配置文件(通常是my.cnf或my.ini),启用二进制日志功能。在文件中添加以下行:
-
配置从数据库(Slave):
- 打开从数据库的配置文件,启用从服务器功能。在文件中添加以下行:
server-id = 2
- 重启从数据库以使配置生效。
- 打开从数据库的配置文件,启用从服务器功能。在文件中添加以下行:
-
在主数据库上创建用于复制的用户:
- 登录主数据库,并执行以下SQL语句创建复制用户:
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%'; FLUSH PRIVILEGES;
- 登录主数据库,并执行以下SQL语句创建复制用户:
-
备份主数据库并将备份还原到从数据库。
- 在主数据库上执行以下命令创建数据库备份文件:
mysqldump -u username -p dbname > backup.sql
- 将备份文件传输到从数据库,并使用以下命令还原备份:
mysql -u username -p dbname < backup.sql
- 在主数据库上执行以下命令创建数据库备份文件:
-
在从数据库上配置主从关系:
- 登录从数据库,并执行以下SQL语句:
CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=123;
其中,'master_ip’是主数据库的IP地址,'mysql-bin.000001’是主数据库中的最新二进制日志文件,123是主数据库中的复制位置。
- 登录从数据库,并执行以下SQL语句:
-
启动从数据库的复制进程:
- 执行以下SQL语句启动复制进程:
START SLAVE;
- 执行以下SQL语句启动复制进程:
-
检查主从同步状态:
- 执行以下SQL语句检查主从同步状态:
SHOW SLAVE STATUS\G
检查输出的状态中是否有"Slave_IO_Running"和"Slave_SQL_Running"字段的值为"YES",表示主从同步已成功设置。
- 执行以下SQL语句检查主从同步状态:
完成以上步骤后,您的MySQL主从同步就已经设置完成了。主数据库上的更新操作将被自动复制到从数据库上。