原创

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),回复关键字领取资料:如HadoopDubboCAS源码等等,免费领取资料视频和项目。 

涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。

评论

分享:

支付宝

微信