1.环境
系统:Windows Server 2016
数据库:Mysql5.7
2.设置
2.1.确保两台服务器都安装了Mysql5.7
2.2.在主服务器上,找到并编辑 MySQL 配置文件 my.ini,在 [mysqld] 部分添加以下参数:
server-id = 1 # 主服务器的唯一标识
log-bin = mysql-bin # 启用二进制日志的文件名前缀
binlog-format = ROW # 设置二进制日志格式为行级复制
2.3.重启主服务器的Mysql以使配置更改生效
2.4.在从服务器上,同样找到并编辑 MySQL 配置文件 my.ini,在 [mysqld] 部分添加以下参数:
server-id = 2 # 从服务器的唯一标识,与主服务器不同即可
2.5.重启从服务器的Mysql以使配置更改生效
2.6.在主服务器上,使用以下命令创建一个可以被从服务器连接和授权的用户:
GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'从服务器IP地址' IDENTIFIED BY '密码';
使用主服务器上的Mysql的root用户,执行以上命令
2.7.在从服务器上,登录 MySQL 控制台,并执行以下命令配置主从关系:
CHANGE MASTER TO MASTER_HOST='主服务器IP地址', MASTER_USER='slave_user', MASTER_PASSWORD='密码', MASTER_PORT=主服务器端口号(3316), MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=0;
使用从服务器上的Mysql的root用户,执行以上命令
这里MASTER_LOG_FILE、MASTER_LOG_POS需要在主服务器上,登录mysql后用命令
SHOW MASTER STATUS;
比如:
2.8.在从服务器上启动复制进程:
START SLAVE;
2.9.检查从服务器的复制状态
SHOW SLAVE STATUS\G
检查输出中的 "Slave_IO_Running" 和 "Slave_SQL_Running" 是否都显示为 "Yes",表示主从复制已成功建立。
3.问题
当主服务数据库删除数据实例时,会出现主从不同步现象。此时,需要重新设置整个流程,才能恢复主从同步功能。