MySQL主从不一致的几种故障总结分析、解决和预防
解决与预防:
relay_log_info_repository=TABLE
(InnoDB)
参数解释说明:
若relay_log_info_repository为FILE,当设置为0,交由OS刷新磁盘,受参数sync_relay_log_info的影响,默认为10000次刷新到磁盘;
若relay_log_info_repository为TABLE,且为INNODB存储,则无论为任何值,则都每次event都会更新表。
relay_log_info_repository=table可以避免relay.info更新不及时,SLAVE 重启后导致的主从复制数据重复插入报错问题。
修改步骤:
1. stop slave;
2. set global relay_log_info_repository=’TABLE’;
或在my.cnf中设置:
relay_log_info_repository = TABLE
(2).主从不一致故障,主库宕机
解决与预防:
方法1:主库启动后,binlog补全即可
方法2:Innodb_flush_log_at_trx_commit=1
Innodb_flush_log_at_trx_commit参数值说明如下:
0 - 每一秒将修改记录同步到日志(磁盘)中,commit的时候不同步
1 - 每次事务commit都将修改记录同步到日志(磁盘)中
2 - 每次事务commit都将修改写入到操作系统cache中,然后每一秒将修改记录同步写入到日志(磁盘)中
方法3:应用程序双写
方法4:应用程序写日志
方法5:MySQL半同步(semi sync)
(3).主从不一致故障,从库数据被修改
通常报错总结如下:
ERROR:1032
从库找不到要删除的数据
ERROR:1062
从库插入数据,发生唯一性冲突
ERROR:1452
无法在外键的表插入或更新参考主键没有的数据
解决与预防:
1.设置用户权限
2.设置从库只读权限
set global read_only=true
MySQL主从不一致的几种故障总结分析、解决和预防的更多相关文章
- MySQL中遇到的几种报错及其解决方法
MySQL中遇到的几种报错及其解决方法 1.[Err] 1064 - You have an error in your SQL syntax; check the manual that corre ...
- pt-table-sync修复mysql主从不一致的数据
pt-table-sync简介 顾名思义,它用来修复多个实例之间数据的不一致.它可以让主从的数据修复到最终一致,也可以使通过应用双写或多写的多个不相关的数据库实例修复到一致.同时它还内部集成了pt-t ...
- MySQL主从不一致修复
场景: 线上正在服务的库由于紧急主从切换导致主从不一致,报错信息如下: Last_Error: Coordinator stopped because there were error(s) in t ...
- mysql主从不一致解决方法
方法一:忽略错误后,继续同步 该方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况 stop slave; #表示跳过一步错误,后面的数字可变 set global ...
- MySQL主从不一致情形与解决方法
参考:https://blog.csdn.net/hardworking0323/article/details/81046408 https://blog.csdn.net/lijingkuan/a ...
- mysql 不能启动的两种错误提示及解决方法
在linux系统中安装mysql服务器详细步骤并解决ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passw ...
- mysql主从同步的键值冲突问题的解决方法
转自https://njs375666635.iteye.com/blog/2242067 多主互备和主从复制有一些区别,因为多主中都可以对服务器有写权限,所以设计到自增长重复问题 出现的问题(多主自 ...
- mysql主从同步(3)-percona-toolkit工具(数据一致性监测、延迟监控)使用梳理
转自:http://www.cnblogs.com/kevingrace/p/6261091.html 在mysql工作中接触最多的就是mysql replication mysql在复制方面还是会有 ...
- MySQL主从架构之Master-Slave主从同步
MySQL复制 MySQL复制是指将主库上的DDL和DML操作通过二进制日志传到从库上,使主库和从库上的数据保持同步 复制原理: 主服务器将更新写入二进制日志文件,并维护文件的一个索引来跟踪日志循环. ...
随机推荐
- visual studio xcopy /exclude测试
http://files.cnblogs.com/files/zfanlong1314/exclude%E6%B5%8B%E8%AF%95.zipxcopy 提供了 /EXCLUDE: 参数用于在复制 ...
- Unity5.0与Android交互
1. 目标 1) Unity3D可调用Android Java函数(在.jar中) 2) Java可调用Unity3D函数 3) Unity3D可调用Android C函数(在.so中) 2. 测试环 ...
- springboot-application.properties可配置属性总结 (datasource 和 JPA)
########################################## ###datasource ########################################## ...
- DCI:The DCI Architecture: A New Vision of Object-Oriented Programming
SummaryObject-oriented programming was supposed to unify the perspectives of the programmer and the ...
- 4)linux程序设计入门--时间概念
)程序设计入门--时间概念 前言:Linux下的时间概念 这一章我们学习Linux的时间表示和计算函数 时间的表示 时间的测量 计时器的使用 .时间表示 在程序当中,我们经常要输出系统当前的时间,比如 ...
- TYVJ-P1864 守卫者的挑战 题解
P1864 [Poetize I]守卫者的挑战 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 打开了黑魔法师Vani的大门,队员们在迷宫般的路上漫无目的地搜 ...
- wamp网站Forbidden You don't have permission to access
Forbidden You don't have permission to access 问题原因:apache的2.4的版本中 Require all denied 应该变成Require a ...
- Nginx安装及配置文件解释
安装nginx,还是在mac上面用brew比较方便. 首先,brew install nginx,提示改权限 sudo chown -R $(whoami) /usr/local 然后brew ins ...
- 修改elementUI组件样式无效的问题研究
问题背景:el-tabs的选项卡默认字体是14px,大了,想改成12px,结果在style里面加样式总是不生效. 解决:样式放到app.vue里面,样式就生效了 .panel-content .el- ...
- spring mvc--默认都使用了哪些bean
在MVC中默认使用的bean都定义在了 org.springframework.web.servlet下的DispatcherServlet.properties 下载源文件后可查看到默认bean定义 ...