参考文章:https://blog.csdn.net/imHanweihu/article/details/89419129
本地运行两个mysql服务,请参考:Windows系统 Mysql8.0.11:同ip运行两个mysql服务
按F6进入命令操作界面;
命令:show master status;
file对应后面的从库配置日志文件,position也对应后面的配置
Binlog_Do_DB是需要同步的数据库
Binlog_Ignore_DB是不用同步的数库
注意:% 代表任何ip都能连接这个主库
服务器权限 全部选上
按F6进入命令操作界面;
敲命令:stop slave;
接着敲:
change master to master_host='192.168.2.106',master_port=3306,master_user='sqlslave',master_password='sqlslave',master_log_file='mysql-bin.000005',master_log_pos=155;
master_host 主库ip
master_port 主库端口
master_user 上面新建的用户
master_password 上面新建用户的密码
master_log_file 主库命令行中的file值
master_log_pos 主库命令行中的position值
注意:master_log_pos可以填0,为什么能填0呢,参考文章:mysql配置主从关系时的语句master_log_pos的值到底填写什么?
所以上面的语句也可以是:
change master to master_host='192.168.2.106',master_port=3306,master_user='sqlslave',master_password='sqlslave',master_log_file='mysql-bin.000005',master_log_pos=0;
最后敲:start slave;
启动主从数据同步。
先去从库执行命令show slave status;
可以看到Slave_IO_Running和Slave_SQL_Running都是Yes则表示配置成功。
Slave_SQL_Running、Slave_IO_Running必须都为YES,主从配置才算成功!!!
Q1:Slave_IO_Running状态为Connecting
A1:检查第5步的change语句中的host、port、log_file是否正确,比如像笔者每次重启电脑之后本机host的ip可能发生改变,或者每次重启mysql服务之后log_file文件也会发生变化,导致主从配置不生效,此时需要重新配置主从关系,即重新执行第5步操作。
Answer1补充:笔者A1中提到的每次重启mysql服务之后log_file文件发生变化需要重新配置主从,解决方案:每次重启mysql服务的时候都按以下步骤:先停止从库,再停止主库,启动的时候先启动主库,再启动从库;这样,log_file文件虽然发生了变化,但按照这样的正常流程去停止启动mysql服务,主从配置就会相应的变化,而不需要我们手动去再重新配置主从。
Q2:Slave_SQL_Running状态为No
A2:查看mysql的err文件,解决文件内记录的报错信息即可。
在主库需要同步的库里新增表并插入数据,然后打开从库验证从库也新增了相同的表及数据,则表示主从同步配置成功。
相关文章:
PS:
如果博文有写的不对或者有更好的方式,欢迎大家评论或者私信指正。