主从辅助无法同步问题解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了主从辅助无法同步问题解决相关的知识,希望对你有一定的参考价值。

问题:建立主从复制(单主单从M-S)后无法同步数据

这里首先对单主单从M-S的操作步骤先做下简要说明(具体操作略。。。)

一.环境准备;
二.master操作
1.开启主服务器二进制日志(并加入git选项);
2.在主服务器的mysql上创建rep用户,并用create和insert命令模拟在MySQL上加入数据;
3.通过mysqldump命令逻辑备份master上的二进制日志,用scp命令发送给slave;
三.slave操作
1.验证用户rep是否能登录,(如果登录出现ssl无法通过问题,参考上篇博客,其实方法与本篇相同);
2.为避免slave上没必要的二进制文件,在导入master二进制日志时临时关闭slave从服务器二进制日志;
3.在MySQL中用source命令导入IO接收 的中继日志;
4.在slave中配置slave环境;
5.启动slave服务;
(本篇问题所在步骤)
6.查看slave属性;
7.在master中修改数据,在slave上验证,如果能同步则说明主从完成同步。

在上述操作步骤中,在配置完slave后无法同步

无论在master上增删改都无法同步至slave上
通过show slave status\G 命令查看后显示slave_SQL_Running:No error 1007出现:

技术分享图片

在/etc/my.cnf中加入一条命令就能解决这个错误: slave_skip_error=1007;
让MySQL跳过这个错误;
技术分享图片
然后systemcal restart mysqld,重启mysqld;
以为现在可以同步了 但是再看slave属性,还存在一个错误:error 1050,仍然不能同步数据;
技术分享图片
同上面的操作一样在/etc/my.cnf的配置文件中加入命令:slave_skip_error=1050;
技术分享图片
然后systemcal restart mysqld,重启mysqld;
这时候在看slave属性:
技术分享图片

错误没有了,通过查询看见数据已经可以同步了,

这时候再从/etc/my.cnf中注释加入的两行命令:
#slave_skip_error=1007;
#slave_skip_error=1050;
技术分享图片
MySQL依然同步(笔者这里的错误认为是2个简单的小错误,不一定对所有error有效)。

总结:
在master生成日志后,又存在一定的操作,使master中数据改动,在slave中导入中继日志后两个数据库的数据不一致,所以不能同步数据,在在配置文件中用skip跳过错误的之后,同步得意进行,slave自动从master上同步数据,工作得意正常进行。
(小白的第二篇,其实原理和第一篇大致相同)

以上是关于主从辅助无法同步问题解决的主要内容,如果未能解决你的问题,请参考以下文章

在线业务mysql主从数据库同步不一致问题解决

解决mysql开启GTID主从同步出现1236错误问题

解决mysql开启GTID主从同步出现1236错误问题

解决mysql开启GTID主从同步出现1236错误问题

解决mysql开启GTID主从同步出现1236错误问题

解决MySql主从同步不一致问题