Waiting for commit lock MySQL5.6.12 led to the problem of living from the library hang analysis

Label Mysql
521 people read comment(0) Collection Report
Classification:

Nagios alarm, a line from the library is not detected in the slave state, so remote up to see the problem:


1, slave status\G show stuck:

Type'help; ';' Or '\h' ForType help.'\c' To Clear TheInput statement. current

Show slave status\G mysql>

Slave status show stuck, can not move, this situation is the first encounter.


2, look at the w load without pressure:

[root@tmp3_72Next week# w
 Thirteen:Twenty-three:Thirty-oneUpEight hundred and twenty-eightDays,Twenty-one:Fifty-four,ThreeUsers, loadAverage: Zero.08,Zero.05,Zero.00
USER     TTY      FROM              LOGIN@IDLE   JCPU   PCPU WHAT
Tty1 root -Twenty-nineSep13Eight hundred and twenty-sevenDaysZero.FifteenSZero.Fifteen-bash s
Pts/ rootZero    One hundred and ninety-two point one six eight.One hundred and twenty point two eight   Thirteen:Nineteen    Three:Forty-nine   Zero.EighteenSZero.FourteenMySQL s
Pts/ rootOne    One hundred and ninety-two point one six eight.One hundred and twenty point two eight   Thirteen:Twenty-three    Zero.00SZero.08sZero.02S w
[root@tmp3_72Next week#
[root@tmp3_72Next week#
[root@tmp3_72Next week#

3, Top to see the mysqld process to occupy CPU only 0.3%

Write the picture here.


4, view the error log, no abnormal records found:

[root@tmp3_72Mysql]# tail -f /usr/local/mysql/mysqld.log
Two thousand and fifteen-Twelve-Twenty-nine Twenty:Thirty-five:Thirty-one Twenty-nine thousand two hundred and fifty-four[Note] -':'To resolves':';
Two thousand and fifteen-Twelve-Twenty-nine Twenty:Thirty-five:Thirty-one Twenty-nine thousand two hundred and fifty-fourServer [Note]SocketOn IP: created':'.
Two thousand and fifteen-Twelve-Twenty-nine Twenty:Thirty-five:Thirty-one Twenty-nine thousand two hundred and fifty-fourEvent Scheduler: Loaded [Note]ZeroEvents
Two thousand and fifteen-Twelve-Twenty-nine Twenty:Thirty-five:Thirty-one Twenty-nine thousand two hundred and fifty-four/usr/ [Note]LocalReady /mysql/bin/mysqld:ForConnections.
Version:'5.6.12-log'  Socket:'/usr/local/mysql/mysql.sock'Port:Three thousand three hundred and sixDistribution Source
Two thousand and fifteen-Twelve-Twenty-nine Twenty:Thirty-five:Forty Twenty-nine thousand two hundred and fifty-four[Note]MASTER TO executed''CHANGEPreviousStateMaster_host=', master_port=Three thousand three hundred and six, master_log_file=', master_log_pos=Four, master_bind='New.StateMaster_host=', master_port=Three thousand three hundred and six, master_log_file='mysql-bin.036282', master_log_pos=One hundred and twenty, master_bind='.
Two thousand and fifteen-Twelve-Thirty Ten:00:04 Twenty-nine thousand two hundred and fifty-four[Note]MASTER TO executed''CHANGEPreviousStateMaster_host=', master_port=Three thousand three hundred and six, master_log_file=', master_log_pos=Four, master_bind='New.StateMaster_host='192.168.12.71', master_port=Three thousand three hundred and six, master_log_file='mysql-bin.036282', master_log_pos=One hundred and twenty, master_bind='.
Two thousand and fifteen-Twelve-Thirty Ten:00:04 Twenty-nine thousand two hundred and fifty-fourSlave SQL thread initialized starting, replication in [Note]Log 'mysql-bin.036282'Position atOne hundred and twenty, relayLog './mysql-relay-bin.000001'Position:Four
Two thousand and fifteen-Twelve-Thirty Ten:00:04 Twenty-nine thousand two hundred and fifty-fourStoring MySQL user name [Warning]OrInformation in the master.info repository password isNotSecureAndTherefore isNotPlease see the MySQL Manual recommended.ForAbout this issue moreAndAlternatives. possible
Two thousand and fifteen-Twelve-Thirty Ten:00:04 Twenty-nine thousand two hundred and fifty-fourSlave I/O thread: connected to [Note] master'repl@192.168.12.71:3306'Started in replicationLog 'mysql-bin.036282'Position atOne hundred and twenty

5, to see the background of the MySQL process, there is a mysqldump backup process, the implementation of a long time, I kill out to try

[root@tmp3_72Mysql]# PS -eaf|grep MySQL
RootSixteen thousand and one hundred Sixteen thousand and ninety-four  Zero Twelve:00?00:00:00-c /home/data/mysql/backup/scripts/backup_full.sh /bin/sh
RootSixteen thousand one hundred and four Sixteen thousand and one hundred  Zero Twelve:00?00:00:00-uroot --password= /usr/local/mysql/bin/mysqldump -R-ELocalhost --skip-opt --single-transaction --flush-logs --master-data= -hTwo--create-option --quick --extended-insert --set-charset --add-drop-table --disable-keys --databases user_db plocc_system parking_db
RootEighteen thousand nine hundred and eighty-six Eighteen thousand nine hundred and sixty-seven  Zero Thirteen:NineteenPts/Zero    00:00:00Mysql
NagiosNineteen thousand four hundred and eighty-six Nineteen thousand four hundred and eighty-five  Zero Thirteen:Thirty-three?00:00:00-unagios /usr/local/nagios/libexec/check_mysql -P3306-S/usr/local/mysql/mysql.sock -s -Hlocalhost--password=XXXXXXXXXXXXTest -w -dSixty-cOne hundred
RootNineteen thousand five hundred and eleven Nineteen thousand one hundred and twenty-one  Zero Thirteen:Thirty-fourPts/One    00:00:00MySQL grep
RootTwenty-eight thousand two hundred and forty-two     One  Zero  Two thousand and fifteen?00:00:00/usr/local/mysql/bin/mysqld_safe --datadir= /bin/sh/home/data/mysql/data--pid-file=/usr/local/mysql/mysqld.pid
MysqlTwenty-nine thousand two hundred and fifty-four Twenty-eight thousand two hundred and forty-two  Nine  Two thousand and fifteen?Sixteen:Fifty-six:Thirty-six--basedir= /usr/local/mysql/bin/mysqld/usr/local——datadir = / MySQL /家MySQL数据数据的插件你/=/usr本地/ MySQL //图书馆/插件-用户MySQL日志错误= =/usr/local/ MySQL / mysqld开放的文件。日志——极限=8192文件=——PID/usr/local/ MySQL / mysqld.pid = -插座/usr/local//MySQL的MySQL.sock -港口3306
[根“tmp3 _ 72MySQL的]#杀死9 16104
[根“tmp3 _ 72MySQL的]#
[根“tmp3 _ 72MySQL的]#
[根“tmp3 _ 72MySQL的]# PS电炉| grep的MySQL18986 18967  0 1319PTS /0    000000MySQL
根19 555 19121  0 1334PTS /1    000000grep的MySQL
根28242     1  0  2015年???????000000/bin/sh /usr/local MySQL /斌/ mysqld安全- = _ datadir家庭/家庭/数据/ MySQL /数据文件=——PID/usr/local/ MySQL / mysqld.pid
MySQL29254 28242  9  2015年???????165636/usr/local MySQL /斌/ mysqld - basedir =/usr/local——datadir = / MySQL /家MySQL数据数据的插件你/=/usr本地/ MySQL //图书馆/插件-用户MySQL日志错误= =/usr/local/ MySQL / mysqld开放的文件。日志——极限=8192文件=——PID/usr/local/ MySQL / mysqld.pid = -插座/usr/local//MySQL的MySQL.sock -港口3306
[根“tmp3 _ 72MySQL的]#

6、kill掉备份进程后,执行一条简单的delete语句,会卡住,看来kill解决不了问题

MySQL的SELECT * FROM >测试;
+——+——+
| | | ID名称
+——+——+
| |零| 0
1 |零| |
| | |零2
| 3 |零|
+——+——+
4行集(0.02秒)

MySQL >
MySQL >
从MySQL >删除where id = 0的测试;

去查询当前进程:

MySQL的SELECT >用户州立计数(1从信息_ schema.processlist)集团。用户州立;;;;;;;
---------------------------------------- + + + +有选择
|用户|州立| count(1|)
---------------------------------------- + + + +有选择
用户| _ |仙人掌|17|
用户执行| | _ |仙人掌      657|
| |执行| Nagios       38|
| ploccsys _ Web ||10|
|根|执行|        1|
|根| init |        2|
| |系统用户 queueing事件日志|靠近主继电器1|
| |系统用户 等待为锁定|提交1|
---------------------------------------- + + + +有选择
8在(rows集合0.01美国证券交易委员会(SEC)

MySQL >

有许多类似下面的线程:

|516544 用户| _ |仙人掌 192.168.x.x118.1242082||查询|375 |执行| 表演/*!50002 全球*/现状|
|516564 用户| _ |仙人掌 192.168.x.x118.1242208||查询|350 |执行| 表演/*!50002 全球*/现状|
|516571 用户| _ |仙人掌 192.168.x.x118.1242215||查询|330 |执行| 表演/*!50002 全球*/现状|
|516575 用户| _ |仙人掌 192.168.x.x118.1242218||查询|320 |执行| 表演/*!50002 全球*/现状|
|516592 用户| _ |仙人掌 192.168.x.x118.1242230||查询|315 |执行| 表演/*!50002 全球*/现状|
|516598 用户| _ |仙人掌 192.168.x.x118.1242359||查询|300 |执行| 表演/*!50002 全球*/现状|

要不要重启mysql db或者是重启cacti服务器?想来还是继续再看看,万不得已不能用绝招_。^ ^


7、写了个脚本来kill这些来自cacti的show status的线程

[脚本] tmp3 _ 72根”# killsleep _ cacti.sh VIM

它是用来杀死# MySQL正在睡眠
#!/bin/sh
whiledo
N =————uroot ` mysqladmin密码列表“”| i grep的睡眠|厕所L`
日期=日期+“% % % % % D h:[ M ] `:%s
  回声 n

  如果[n GT 10]
  然后
  回声 “睡眠正在开始杀……”
  fori“uroot mysqladmin————密码列表“”一个睡眠| | grep2 }”“{印刷元`
  do
密码=————uroot mysqladmin“”杀死一美元
  
  回声 “仙人掌开始执行状态列表显示杀……”
  fori“uroot mysqladmin————密码列表“”|执行grep grep | I I I状态显示| grep grep,awk | I |仙人掌2 }”“{印刷元`
  do
mysqladmin -中-密码=“”我的
  完成

  回声 “睡眠太多了,我杀了它”> > /甲氧苄啶/ sleep.log
  回声 日期$> > /甲氧苄啶/ sleep.log
  FI
睡眠
完成

执行后,通过显示完整的列表;这些线程仍然存在,只是状态从excuteing变成了杀而已:其它问题仍然没有改观

MySQL >选择用户、命令、计数(1)从information_schema.processlist集团用户的命令;
+ + + + -------------- --------- ----------
|用户|命令|计数(1)|
+ + + + -------------- --------- ----------
|仙人掌_user |杀| 792 |
| cacti_用户|查询| 4 |
|仙人掌_user |睡眠| 1 |
| Nagios |查询| 48 |
| ploccsys_Web |睡眠| 10 |
|根|杀| 1 |
|根|查询| 2 |
|根|刷新| 1 |
|系统用户|连接| 2 |
+ + + + -------------- --------- ----------
9行(0.01秒)

MySQL >

7、重新查看奴隶状态,还是无效

MySQL >显示奴隶地位的G
误差 二千零六(hy000):MySQL服务器已经走了
无连接。尝试重新连接…
连接标识:五十二万三千二百七十五
当前数据库:测试

8、去查看发动机状态

MySQL >显示引擎INNODB STATUS \ G
***************************1。行***************************
类型:InnoDB
姓名:
状态:
=====================================
二千零一十六0106 十五08五十二 f3ef5a19700 InnoDB监视器输出
=====================================
每平均计算 这个 最后 五十-----------------
背景线
-----------------
srv_master_thread环:四十七万五千四百八十九srv_active,srv_shutdown,十九万五千三百二十二srv_idle
srv_master_thread日志冲洗写:六十七万零八百
----------
信号灯
----------
操作系统等待数组信息:预订计数 六十九万七千四百六十一
操作系统等待数组信息:信号计数 七十一万零二百六十九
互斥自旋等待二百三十四万零二百六十,轮一千八百六十三万五千五百二十二,操作系统等四十九万八千二百七十九
RW共同旋转十三万二千一百一十一,轮三百六十三万一千四百四十一,操作系统等十一万九千六百一十二
RW不包括旋转二万五千二百,轮二百二十一万三千一百一十二,操作系统等七万零三百三十六
旋转每等待:七点九六互斥,二十七点四九RW共享,八十七点八二RW除外
------------
交易
------------
TRX身份证件计数器十二亿四千七百八十五万五千八百四十六
清除完成对于TRX的N:o <十二亿四千七百八十五万五千八百三十五撤消氮:状态:运行 闲置
历史列表 长度 二千四百四十二
每届会议的交易清单:
---交易0,不是开始
MySQL线程身份证件 五十二万三千七百三十一,操作系统线程句柄0x7f3ef5a19700,查询身份证件 一亿五千零八万九千六百一十二本地根初始化
显示引擎INNODB STATUS
---交易0,不是开始
MySQL线程身份证件 五十二万二千五百四十,操作系统线程句柄0x7f3ef7ea8700,查询身份证件 一亿五千零八万六千七百六十二localhost root执行
显示/ *!五万零二全球* /地位
---交易1247853306,不是开始
MySQL线程身份证件 三万五千六百七十一,操作系统线程句柄0x7f4bf8083700,查询身份证件 排队主事件 这个继电器日志
交易1247855447,活动11330秒
MySQL表使用,锁
锁的结构(S)、堆大小三百七十六行锁(的),撤消日志条目
MySQL线程身份证件 三万五千六百七十二,操作系统线程句柄0x7f4bf8052700,查询身份证件 一亿五千零五万九千一百一十一等待对于提交锁
--------
文件/输出
--------
输入/输出线程状态:等待对于输入/输出请求(插入缓冲线)
输入/输出线程状态:等待对于输入/输出请求(日志螺纹)
输入/输出线程状态:等待对于输入/输出请求(螺纹)
输入/输出线程状态:等待对于输入/输出请求(螺纹)
输入/输出线程状态:等待对于输入/输出请求(螺纹)
输入/输出线程状态:等待对于输入/输出请求(螺纹)
输入/输出线程状态:等待对于输入/输出请求(螺纹)
输入/输出线程状态:等待对于输入/输出请求(螺纹)
输入/输出线程状态:等待对于输入/输出请求(螺纹)
输入/输出线程状态:等待对于输入/输出请求(螺纹)
在正常的AIO读:],AIO写道:],
IBUF AIO读:日志我/哦:,我/我的:
待冲(fsync)日志缓冲池:
九千零六十七操作系统文件读,一亿二千九百三十万五千四百七十七操作系统文件写,一千二百七十五万四千九百四十四操作系统fsyncs
读/秒,AVG字节/写/写,fsyncs / s
-------------------------------------
插入缓冲区和自适应哈希索引
-------------------------------------
输入缓冲器:尺寸,自由列表伦恩十一赛格的大小,十三合并
合并操作:
插入,删除标记,删除
废弃作业:
插入,删除标记,删除
哈希表大小七千五百六十九万二千一百七十九,节点堆有二千四百三十七缓冲区
哈希查找/ s,非哈希搜索/的
---
日志
---
日志序列 四千一百八十二亿六千四百七十万九千八百八十一
日志刷新   四千一百八十二亿六千四百七十万九千八百八十一
页面刷新 四千一百八十二亿六千四百七十万九千八百八十一
最后检查点  四千一百八十二亿六千四百七十万九千八百八十一
待定日志写,自动化程度:全写在
一亿一千零六万零三百一十 日志我做了, 日志我/我的/
----------------------
缓冲池和内存
----------------------
分配总内存三百五十一亿六千五百零四万四千七百三十六附加池分配
字典内存分配一百四十二万零五百九十五
缓冲池大小二百零九万七千一百四十四
自由缓冲区一百三十七万五千二百三十一
数据库页面七十一万九千四百七十六
旧数据库页二十六万五千四百二十四
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面一千四百七十四年轻的
年轻人的,非弹性的
页 九万一千二百八十六,创造六十二万八千一百九十,写的三千四百八十万七千五百八十二
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:七十一万九千四百七十六,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
----------------------
个人缓冲池信息
----------------------
---缓冲池0
缓冲池大小二十六万二千一百四十三
自由缓冲区十七万二千零二
数据库页面八万九千八百三十六
旧数据库页三万三千一百四十二
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面九十七年轻的
年轻人的,非弹性的
页 一万一千五百三十四,创造七万八千三百零二,写的五百六十四万四千九百四十三
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:八万九千八百三十六,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
---缓冲池1
缓冲池大小二十六万二千一百四十三
自由缓冲区十七万一千九百一十四
数据库页面八万九千九百二十四
旧数据库页三万三千一百七十四
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面二百五十九年轻的
年轻人的,非弹性的
页 一万一千四百二十五,创造七万八千四百九十九,写的三百三十五万二千六百四十七
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:八万九千九百二十四,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
---缓冲池2
缓冲池大小二十六万二千一百四十三
自由缓冲区十七万一千五百七十
数据库页面九万零二百六十七
旧数据库页三万三千三百零一
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面一百五十八年轻的
年轻人的,非弹性的
页 一万一千七百二十,创造七万八千五百四十七,写的二百一十八万二千七百二十一
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:九万零二百六十七,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
---缓冲池3
缓冲池大小二十六万二千一百四十三
自由缓冲区十七万二千一百二十
数据库页面八万九千七百二十四
旧数据库页三万三千一百
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面一百四十一年轻的
年轻人的,非弹性的
页 一万一千一百一十七,创造七万八千六百零七,写的八百一十五万五千四百四十八
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:八万九千七百二十四,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
---缓冲池4
缓冲池大小二十六万二千一百四十三
自由缓冲区十七万一千六百六十五
数据库页面九万零一百六十七
旧数据库页三万三千二百六十四
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面一百四十二年轻的
年轻人的,非弹性的
页 一万一千六百七十五,创造七万八千四百九十二,写的七百四十五万零七百零九
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:九万零一百六十七,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
---缓冲池5
缓冲池大小二十六万二千一百四十三
自由缓冲区十七万二千零八十一
数据库页面八万九千七百四十六
旧数据库页三万三千一百零八
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面一百八十五年轻的
年轻人的,非弹性的
页 一万一千二百五十八,创造七万八千四百八十八,写的三百五十万五千一百五十七
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:八万九千七百四十六,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
---缓冲池6
缓冲池大小二十六万二千一百四十三
自由缓冲区十七万三千二百七十五
数据库页面八万八千五百六十九
旧数据库页三万二千六百七十四
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面三百三十六年轻的
年轻人的,非弹性的
页 一万零六百二十二,创造七万七千九百四十七,写的二百四十八万八千二百六十五
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:八万八千五百六十九,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
---缓冲池7
缓冲池大小二十六万二千一百四十三
自由缓冲区十七万零六百零四
数据库页面九万一千二百四十三
旧数据库页三万三千六百六十一
修改后的数据库页面
待读
待写道:LRU,冲洗列表 ,单页
年轻的页面一百五十六年轻的
年轻人的,非弹性的
页 一万一千九百三十五,创造七万九千三百零八,写的二百零二万七千六百九十二
读/秒,创建/秒,写/写
没有缓冲池页获取 这个 最后打印输出
页提前s,驱逐没有访问/随机提前/秒
LRU Len:九万一千二百四十三,unzip_lru Len:
输入/输出总和我[ ]:],和[解压我[ ]:]
--------------
行操作
--------------
在InnoDB查询,查询队列
 观内开放InnoDB
主线程处理号码二万九千二百五十四身份证件 一百三十九兆九千二百五十八亿九千四百六十万四千五百四十四,状态:睡觉
数插入行七千一百九十六万七千一百六十六,更新九千四百四十一万九千九百七十九,删除四万五千九百七十五 七十三亿六千六百零二万九千一百八十四
插入/插入,更新/秒,删除/秒,读/秒
----------------------------
InnoDB监视器输出端
============================

 零点零二美国证券交易委员会

MySQL >

9、去查看是否有锁信息

MySQL >选择*从information_schema innodb_trx \ G;
***************************1。行***************************
trx_id:十二亿四千七百八十五万五千四百四十七
trx_state:运行
trx_started:二千零一十六0106 十二0002
trx_requested_lock_id:
trx_wait_started:
trx_weight:
trx_mysql_thread_id:三万五千六百七十二
trx_query:
trx_operation_state:
trx_tables_in_use:
trx_tables_locked:
trx_lock_structs:
trx_lock_memory_bytes:三百七十六
trx_rows_locked:
trx_rows_modified:
trx_concurrency_tickets:
trx_isolation_level:提交读
trx_unique_checks:
trx_foreign_key_checks:
trx_last_foreign_key_error:
trx_adaptive_hash_latched:
trx_adaptive_hash_timeout:一万
trx_is_read_only:
trx_autocommit_non_locking:
 美国证券交易委员会

误差:
未指定查询

MySQL >

MySQL >选择*从innodb_locks;
 美国证券交易委员会

MySQL >
MySQL >
MySQL >
MySQL >选择*从innodb_lock_waits;
 美国证券交易委员会

MySQL >

有一个事务是运行状态,根据trx_mysql_thread_id:35672查询PROCESSLIST表:

MySQL >选择*从列表id是35672;
+ + + + ------- ------------- ------ ------ + --------- + + + + ------- ------------------------- ------
| ID |用户|主机| DB |命令|时间|状态信息| |
+ + + + ------- ------------- ------ ------ + --------- + + + + ------- ------------------------- ------
| 35672 |系统用户| |空|连接| 11948 |等待提交锁|空|
+ + + + ------- ------------- ------ ------ + --------- + + + + ------- ------------------------- ------
1行(0.01秒)

MySQL >

正常的从服务器是:

MySQL >选择ID限2从列表的顺序;
+ + + + ---------- ------------- ------ ------ + --------- + + + + -------- ------------------------------------------------------------------ ------
| ID |用户|主机| DB |命令|时间|状态信息| |
+ + + + ---------- ------------- ------ ------ + --------- + + + + -------- ------------------------------------------------------------------ ------
| 29903251 |系统用户| |空|连接| 624229 |等待主人送事件|空|
| 29903252 |系统用户| |空|连接| 5 |奴隶已经阅读所有中继日志;等待Slave I/O线程T |空|
+ + + + ---------- ------------- ------ ------ + --------- + + + + -------- ------------------------------------------------------------------ ------
2行(0秒)

MySQL >

而我的这台出故障的从服务器是:

MySQL >选择ID限2从列表的顺序;
+ + + + ------- ------------- ------ ------ + --------- + + + + -------- ---------------------------------------- ------
| ID |用户|主机| DB |命令|时间|状态信息| |
+ + + + ------- ------------- ------ ------ + --------- + + + + -------- ---------------------------------------- ------
| 35671 |系统用户| |空|连接| 624374 |排队主事件的中继日志|空|
| 35672 |系统用户| |空|连接| 12379 |等待提交锁|空|
+ + + + ------- ------------- ------ ------ + --------- + + + + -------- ---------------------------------------- ------
2行(0.01秒)

MySQL >

再次查看统计,确定问题所在为系统用户|连接|等待提交锁线程导致:

MySQL >选择用户命令状态,伯爵从information_schema.processlist组)用户命令状态;
+ + + + -------------- --------- ---------------------------------------- ---------- +
|用户|命令|状态|计数()|
+ + + + -------------- --------- ---------------------------------------- ---------- +
| cacti_user | 杀了  |执行|      七百九十二|
| cacti_user | 查询   |执行|      三百四十四|
| Nagios | 查询   |执行|       七十二|
| ploccsys_web | 睡眠| ||
|根| 杀了  |执行|        |
|根| 杀了  | init |        |
|根| 查询   |执行|        |
|根| 查询|等待表冲洗||
|根| 刷新 | init |        |
|系统用户| 连接|排队主事件的中继日志||
|系统用户| 连接|等待承诺锁定||
+ + + + -------------- --------- ---------------------------------------- ---------- +
十一集合中的行(零点零二美国证券交易委员会

MySQL >

10、问题解决

事情到此地步,已经很明确了就是等待提交锁这个导致的全局锁,所以杀掉innodb_trx中的运行事务的MySQL线程:

MySQL >杀死35672
•>;
查询确定,0行受影响(0秒)

MySQL >

然后再去检查列表;已经正常了,如下所示:

MySQL >显示完整列表;
+ + + + -------- -------------- ------------------- -------------------- + --------- + + + + ------- ---------------------------------- -----------------------
|身份证件|用户|主机              | DB | 命令|时间|状态|信息|
+ + + + -------- -------------- ------------------- -------------------- + --------- + + + + ------- ---------------------------------- -----------------------
|五十二万七千零二十三 |根| localhost | information_schema | 查询| | init |显示完整的列表|
|五十二万七千一百六十五 |系统用户|||连接|五十四|等待主发送事件||
|五十二万七千一百六十六 |系统用户|||连接|一万二千五百四十八|系统锁||
|五十二万七千一百六十七 | ploccsys_web | 一百九十二点一六八1228三万三千零六 | plocc_system | 睡眠|二十八| ||
|五十二万七千一百六十八 | ploccsys_web | 一百九十二点一六八1228三万三千零七 | plocc_system | 睡眠|二十八| ||
|五十二万七千一百六十九 | ploccsys_web | 一百九十二点一六八1228三万三千零八 | plocc_system | 睡眠|二十八| ||
|五十二万七千一百七十 | ploccsys_web | 一百九十二点一六八1228三万三千零九 | plocc_system | 睡眠|二十八| ||
|五十二万七千一百七十一 | ploccsys_web | 一百九十二点一六八1228三万三千零一十 | plocc_system | 睡眠|二十八| ||
|五十二万七千一百七十二 | ploccsys_web | 一百九十二点一六八1229四万三千四百七十三 | plocc_system | 睡眠|十六| ||
|五十二万七千一百七十三 | ploccsys_web | 一百九十二点一六八1229四万三千四百七十四 | plocc_system | 睡眠|十六| ||
|五十二万七千一百七十四 | ploccsys_web | 一百九十二点一六八1229四万三千四百七十六 | plocc_system | 睡眠|十六| ||
|五十二万七千一百七十五 | ploccsys_web | 一百九十二点一六八1229四万三千四百七十七 | plocc_system | 睡眠|十六| ||
|五十二万七千一百七十六 | ploccsys_web | 一百九十二点一六八1229四万三千四百七十八 | plocc_system | 睡眠|十六| ||
+ + + + -------- -------------- ------------------- -------------------- + --------- + + + + ------- ---------------------------------- -----------------------
十三集合中的行(美国证券交易委员会

MySQL >

在查看奴隶状态,是没有状态,如下所示:

MySQL >显示奴隶地位的G
*************************** 1。行* **************************
slave_io_state:
master_host:192.168.12.71
master_user:REPL
master_port:3306
connect_retry:60
master_log_file:mysql-bin.037579
read_master_log_pos:2172311
relay_log_file:mysql-relay-bin.002685
relay_log_pos:13453336
relay_master_log_file:mysql-bin.037578
slave_io_running:无
slave_sql_running:无
replicate_do_db:
replicate_ignore_db:
replicate_do_table:
replicate_ignore_table:
replicate_wild_do_table:
复制_wild_ignore_table:
last_errno:0
last_error:
skip_counter:0
exec_master_log_pos:13453173
relay_log_space:15626372
until_condition:无
until_log_file:
until_log_pos:0
master_ssl_allowed:无
master_ssl_ca_file:
master_ssl_ca_path:
master_ssl_cert:
master_ssl_cipher:
master_ssl_key:
seconds_behind_master:空
大师_ssl_验证_server_证书:无
last_io_errno:0
last_io_error:
last_sql_errno:0
last_sql_error:
复制_ignore_server_ids:
master_server_id:71
master_uuid:9b0dcf62-29f4-11e3-9471-677b33903869
master_info_file:mysql.slave_master_info
sql_delay:0
sql_remaining_delay:空
slave_sql_running_state:
master_retry_count:86400
master_bind:
last_io_error_timestamp:
last_sql_error_timestamp:
master_ssl_crl:
master_ssl_crlpath:
retrieved_gtid_set:
executed_gtid_set:
auto_position:0
1行(0秒)

MySQL >

之后启动奴隶,奴隶搞定开始。


11、网友风神”普的提示

与读取锁定+显示从状态问题:如果一个客户端线程在一个奴隶的客户端线程与读取锁的锁,那么主做一些更新,显示在同一客户端的从属地位将被阻止。分析:执行FLUSH TABLES WITH奴隶读锁,同时在主执行DML。然后,DML应停止在一个状态”等承诺锁定”。这个状态意味着SQL线程持有RLI -> data_lock等待mdl_commit锁。现在在同一个客户端会话中,使用读写锁的刷新表执行问题显示从状态命令。这个命令将被阻塞等待RLI -> data_lock造成锁死。一旦发生这种情况,它将不可能释放的“解锁表”命令在同一个客户端,在同一个客户端,在全球读锁被收购的全球阅读锁。这会导致死亡的锁。修正:现有代码持有RLI -> data_lock整个时间提交操作。而不是整个持有锁的代码提交时间已经重组,在这样一种方式,锁只举行期间RLI对象被更新。

然后去查了下我这台DB从服务器,确实有每我这台从库是有做mysqldump备份的,一个小时备份一次,然后仙人掌监控也会每分钟就来抽取一次数据,可能还真的是mysqldump +仙人掌的SHOW SLAVE STATUS一起执行导致的bug出现。我先去将备份改成4个小时一次,继续观察后续情况。

猜你在找
查看评论
*以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:997054次
    • 积分:一万六千零二十二
    • 等级:
    • 排名:319名第
    • 原创:438篇
    • 转载:3篇
    • 译文:2篇
    • 评论:522条
    我的课程
    博客专栏
    技术网址连接
    http://dev.mysql.com/doc/
    文章分类
    文章存档
    Latest comments