主从延迟 解决方案

万事皆有因,有因必有果,我们只要找其原因,必能找到办法
主从延迟原因:
1–减少锁竞争
如果查询导致大量的表锁定,需要考虑重构查询语句,尽量避免过多的锁。
2–负载均衡
搭建多少slave,并且使用lvs或nginx进行查询负载均衡,可以减少每个slave执行查询的次数和时间,从而将更多的时间用于去处理主从同步。
3–salve较高的机器配置
4–Slave调整参数
为了保障较高的数据安全性,配置sync_binlog=1,innodb_flush_log_at_trx_commit=1等设置。而Slave可以关闭binlog,innodb_flush_log_at_trx_commit也可以设置为0来提高sql的执行效率(这两个参数很管用)
5–并行复制
即有单线程的复制改成多线程复制。
解决办法:
1,从缓存中读取数据
2,提高从库配置
3,禁用存库的二进制我日志 bin_log
4,配置中修改 sync_binlog=0 0:系统判断接受到更新后立刻同步 1: 效率是0的5倍 但性能占用大
5,log_slave_update_log
6,使用中间件 mysql _proxy
7,强制从主库取数据

上一篇:mysql锁场景及排查


下一篇:查看事务锁:innodb_trx + innodb_locks + innodb_lock_waits