最近线上频繁的出现slave延时的情况,经排查发现为用户在删除数据的时候,由于
表主键的缺少,同时删除条件没有
索引,或或者删除的条件过滤性极差,导致slave出现hang住,严重的影响了生产环境的稳定性,也希望通过这篇博客,来加深主键在innodb引擎中的重要性,希望用户在使用RDS,设计自己的表的时候,一定要为表加上主键,主键可以认为是innodb存储引擎的生命,下面我们就来分析一下这个案例(本案例的生产环境的binlog为row模式,对于myisam存储引擎也有同样的问题):
-
(1).现象slave:
-
Mysql> show slave status\G;
-
*************************** 1. row ***************************
-
Slave_io_State: Waiting for master to send event
-
Master_Host: xxx.xx.xx.xx
-
Master_User: replicator
-
Master_Port: 3006
-
Connect_Retry: 60
-
Master_Log_File: mysql-bin.000006
-
Read_Master_Log_Pos: 47465657
-
Relay_Log_File: slave-relay.100383
-
Relay_Log_Pos: 251
-
Relay_Master_Log_File: mysql-bin.000006
-
Slave_IO_Running: Yes
-
Slave_SQL_Running: Yes
-
Replicate_Do_DB:
-
Replicate_Ignore_DB:
-
Replicate_Do_Table:
-
Replicate_Ignore_Table:
-
Replicate_Wild_Do_Table:
-
Replicate_Wild_Ignore_Table:
-
Last_Errno: 0
-
Last_Error:
-
Skip_Counter: 0
-
Exec_Master_Log_Pos: 18057461
-
Relay_Log_Space: 29409335
-
Until_Condition: None
-
Until_Log_File:
-
Until_Log_Pos: 0
-
Master_SSL_Allowed: No
-
Master_SSL_CA_File:
-
Master_SSL_CA_Path:
-
Master_SSL_Cert:
-
Master_SSL_Cipher:
-
Master_SSL_Key:
-
Seconds_Behind_Master: 1339
-
Master_SSL_Verify_Server_Cert: No
-
Last_IO_Errno: 0
-
Last_IO_Error:
-
Last_SQL_Errno: 0
-
Last_SQL_Error:
-
slave的Seconds_Behind_Master一直在增加,slave出现hang住。
--结束END--
本文标题: 【Mysql】mysql主键的缺少导致备库hang
本文链接: https://lsjlt.com/news/49142.html(转载时请注明来源链接)
有问题或投稿请发送至:
邮箱/279061341@qq.com QQ/279061341
0