这篇文章主要讲解了“怎么用mysql减少主从延迟”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用mysql减少主从延迟”吧!
1、优化SQL。
避免慢SQL,减少批量操作,建议以update-sleep的形式写脚本;
2、降低多线程大事务并发的概率。
优化业务逻辑;
3、增加服务器。
目的是分散阅读压力,从而减少服务器负载;
4、提高从库机的配置。
减少主库写binlog和从库读binlog的效率差;
5、尽量使用短链路。
即主库与从库服务器的距离尽量短,提高端口带宽,减少binlog传输的网络延迟;
6、实时要求的业务读强制走主库,从库只做灾备备份。
实例
mysql> stop slave;
Query OK, 0 rows affected (0.03 sec)
mysql> change master to master_delay=600;
Query OK, 0 rows affected (0.01 sec)
mysql> start slave;
Query OK, 0 rows affected (0.01 sec)
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 172.17.61.131
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql_bin.000037
Read_Master_Log_Pos: 154
Relay_Log_File: slave_relay_bin.000002
Relay_Log_Pos: 320
Relay_Master_Log_File: mysql_bin.000037
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
。。。
Exec_Master_Log_Pos: 154
Relay_Log_Space: 527
。。。
Master_Server_Id: 10000
Master_UUID: 8d8746fb-2cc6-11e8-b1b6-000c295c63e0
Master_Info_File: /u01/mysql/master.info
SQL_Delay: 600
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
Master_Retry_Count: 86400
。。。
1 row in set (0.00 sec)
感谢各位的阅读,以上就是“怎么用mysql减少主从延迟”的内容了,经过本文的学习后,相信大家对怎么用mysql减少主从延迟这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://www.py.cn/db/mysql/34355.html