Windows系统 Mysql8.0.11:数据库主从同步配置

Windows Mysql8:数据库主从同步配置

参考文章:https://blog.csdn.net/imHanweihu/article/details/89419129
本地运行两个mysql服务,请参考:Windows系统 Mysql8.0.11:同ip运行两个mysql服务

1、确保两个mysql服务同时运行

Windows系统 Mysql8.0.11:数据库主从同步配置_第1张图片

2、使用mysql连接上两个mysql服务

Windows系统 Mysql8.0.11:数据库主从同步配置_第2张图片

3、在主库敲命令查看主库状态

按F6进入命令操作界面;
命令:show master status;
Windows系统 Mysql8.0.11:数据库主从同步配置_第3张图片
file对应后面的从库配置日志文件,position也对应后面的配置
Binlog_Do_DB是需要同步的数据库
Binlog_Ignore_DB是不用同步的数库

4、主库添加用户

Windows系统 Mysql8.0.11:数据库主从同步配置_第4张图片
Windows系统 Mysql8.0.11:数据库主从同步配置_第5张图片
注意:% 代表任何ip都能连接这个主库
服务器权限 全部选上

Windows系统 Mysql8.0.11:数据库主从同步配置_第6张图片

5、在从库打开命令行,关联主库日志文件,来实现主从数据同步

按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;启动主从数据同步。

6、验证是否成功

6.1、命令验证:

先去从库执行命令show slave status;
Windows系统 Mysql8.0.11:数据库主从同步配置_第7张图片
可以看到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服务,主从配置就会相应的变化,而不需要我们手动去再重新配置主从。
Windows系统 Mysql8.0.11:数据库主从同步配置_第8张图片
Q2:Slave_SQL_Running状态为No
A2:查看mysql的err文件,解决文件内记录的报错信息即可。

6.2、数据验证

在主库需要同步的库里新增表并插入数据,然后打开从库验证从库也新增了相同的表及数据,则表示主从同步配置成功。

相关文章:

  • Spring boot整合dynamic-datasource实现多数据源的读写分离
  • Windows系统 Mysql8.0.11:同ip运行两个mysql服务

PS:
如果博文有写的不对或者有更好的方式,欢迎大家评论或者私信指正。

你可能感兴趣的:(数据库,mysql)