使用MySQL的业务,大多都会用到MySQL的Replication,做读写分离,HA,热备份或者增量都少不了利用主从机制.
不过,很多情况下都会报 1032 和 1205 错误.tudou@Gyyx
首先1032.
Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND;
造成1032错误的根本原因是主从数据库数据不一致,导致同步操作在从库上无法执行.
目前我所遇到的情况分为两种:
1Replication 时使用了 主--binlog-do-db=db_name或者从--replicate_do_db=db_name.
假设 有两个库 pubs 和 test,忽略的是test,结果有这样一条sql 在 主上的test库执行:insert into pubs.tname values(XXXXX);
那么根据服务的配置,主上执行成功,从上没有执行,就会引发1032错误
2TRIGGER 和PROCEDURE的版本问题,如果在主从上版本不一致,例如主上的某个PROCEDURE执行后写入了5条数据,而从上执行后只写入了1行数据,这时,必然会引发1032错误
解决方法:
1 不使用--binlog-do-db
和--replicate_do_db=db_name
改为
从上--replicate_wild_do_table=db_name.%
2
保证 主从TRIGGER 和PROCEDURE的版本一致
再说说 1205:
这个错误就比较好理解了,一般都是主上的操作连接是autocommit的,结果运行超时失败,从库上进行同步时就会报错.
两种做法:
1 在主上设置my.cnfinnodb_rollback_on_timeout=1,超时时rollback
2 在从上忽略1052.my.cnf--slave-skip-errors=1205
另外再某些网络中还会报[ERROR] Error reading packet from server: Lost connection to MySQL server during
query ( server_errno=2013)
一般的情况下三种情况会造成2013错误
1 反向解析
2max_allowed_packet 不一致
3 网络问题
解决方法
1skip-name-resolve 禁用反向解析
2 配置主从max_allowed_packet为相同的值
3 调整net_write_timeout 的值
小插曲,在我写手记的时候一个朋友报2013错误,使用了上面三种方案都不见效,并且非常准时的出现Lost
connection to MySQL server ,最后查出竟然是网络代理程序控制了连接超过30分钟自动挂断....
分享到:
相关推荐
mysql replication搭建
MySql Replication Tutorial,关于MySql Replication 的 PPT
针对这一情况,提出在现有硬件的基础上利用JDBC规范与MySQL Replication实现数据库集群从而解决数据访问瓶颈。其主要方法是在进行JDBC连接之前实现负载均衡,所有SQL请求由负载均衡器进行统一调度。在数据库端利用...
MySQL Replication一主多从环境搭建
第18章 MySQL Replication(共27页).pptMySQL从入门到精通 第19章 MySQL Cluster(共49页).pptMySQL从入门到精通 第20章 PHP操作MySQL数据库(共7页).pptMySQL从入门到精通 第21章 MySQL实战-新闻发布系统数据库...
mysql-replication mysql数据库主从复制步骤
Mysql Replication HA 配置
胖子摸索出来的,Ubuntu上MySQL的Replication配置,的简单记录步骤
详细描述mysql-replication配置,mysql主从库切换,验证等
mysql replication修改库名及复制单个表
MySQL Group Replication 详细搭建部署过程
NULL 博文链接:https://risheng.iteye.com/blog/1853366
深入理解MySQL Group Replication.pdf
MySQL Replication PPT资源
MySQL Replication Tips and Tricks 关于mysql复制的使用技巧,在新版中的新特性,推荐!!
Ensure high performance and high availability of your MySQL solution using effective replication and backup techniques A comprehensive guide to performing query optimization, security and a whole host...
MySQLReplication主从复制全方位解决方案.docx
MySQL Replication(复制)已经在一些著名的网站和企业广泛应用以将数据库的扩展性提升到极限水平。对用户而言可以简单快速地为数据库创建多个副本,超越单个数据库实例容量的限制,弹性扩展数据库系统以满足快速增长...
mysql replication binlog php 同步工具 运行环境 目前只支持数据库utf8编码 php版本>=5.4 mysql版本>=5.1 需要安装php sockets扩展 运行用户需要有创建文件的权限
本篇文章详细介绍了Mysql 5.7 基于组复制(MySQL Group Replication)的配置说明,实为线上操作手册,在此分享,希望能帮助到有用到的朋友~