原创

mysql 数据库主从同步故障问题

mysql数据库实现主从同步是的错误问题:

主从同步不了;但是参数设置Slave_IO_Running: Yes, Slave_SQL_Running: Yes主从一致的。

查看从日志显示如下错误信息:

111201 17:29:13 [ERROR] Error reading packet from server: Lost connection to MySQL server during query ( server_errno=2013)
111201 17:29:13 [Note] Slave I/O thread: Failed reading log event, reconnecting to retry, log 'mysql-bin.000048' position 432318024
111201 17:29:13 [Note] Slave: connected to master 'emuser@221.10.1.60:3306',replication resumed in log 'mysql-bin.000048' at position 432318024
111202 20:19:20 [ERROR] Slave: Error 'Column 'refresh' cannot be null' on query. Default database: 'cdn_view'. Query: 'insert into DNS_ALL values (NULL,'eqifa.com','pvyigao','A','210.51.100.11',360,'CNC',NULL,NULL,NULL,NULL,NULL,'2014092000','root.eqifa.com.','ns.esoso.com.',0)', Error_code: 1048
111202 20:19:20 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-bin.000049' position 263269149
111209  9:32:41 [Note] /usr/libexec/mysqld: Normal shutdown


解决方法:

从日志上看可能是插入数据,从的没有正常同步;或者主的插入记录错误。

首先在从上slave stop;然后slave start;问题依旧

最后按照笨方法重新做了下;最终还是解决问题了。

操作步骤如下:

1、从停止复制,主锁表

slave stop;
flush tables with read lock;

记录主的Position

2、rsync库文件到从

3、从手动执行同步

change master to master_host='123.57.47.16=54',master_user='emuser',master_password='emaradmin', master_log_file='mysql-bin.000056', master_log_pos=323979991;

4、启动从复制

slave start

5、主解锁

unlock tables;

6、主插入记录;查看从是否有新记录。

关注下方微信公众号“Java精选”(w_z90110),回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。

Java精选专注程序员推送一些Java开发知识,包括基础知识、各大流行框架(Mybatis、Spring、Spring Boot等)、大数据技术(Storm、Hadoop、MapReduce、Spark等)、数据库(Mysql、Oracle、NoSQL等)、算法与数据结构、面试专题、面试技巧经验、职业规划以及优质开源项目等。其中一部分由小编总结整理,另一部分来源于网络上优质资源,希望对大家的学习和工作有所帮助。

评论

分享:

支付宝

微信