xtrabackup出现‘FLUSH NO_WRITE_TO_BINLOG TABLES‘: 1205 (HY000) Lock wait timeout exceeded;
xtrabackup备份MySQL时,可能会出现拿不到锁而超时失败的现象,这里说明解决办法。
·
xtrabackup备份MySQL时,可能会出现拿不到锁而超时失败的现象,这里说明解决办法。
现象
xtrabackup备份MySQL数据库出现超时的错误:
Error: failed to execute query 'FLUSH NO_WRITE_TO_BINLOG TABLES': 1205 (HY000) Lock wait timeout exceeded; try restarting transaction
...
Error: failed to execute query 'FLUSH NO_WRITE_TO_BINLOG TABLES': 1205 (HY000) Lock wait timeout exceeded; try restarting transaction
解决方法
解决方法有两个,一个是修改xtrabackup的参数,另一个是杀死长时间执行的线程。
杀死长SQL的线程:
查询执行时间长的线程:
mysql> select * from processlist where command not like 'Sleep' order by time desc limit 3;
+-----+-----------------+-----------+--------+---------+--------+-------------------------+-----------------------------------------------+
| ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO |
+-----+-----------------+-----------+--------+---------+--------+-------------------------+-----------------------------------------------+
| 5 | event_scheduler | localhost | NULL | Daemon | 432662 | Waiting on empty queue | NULL |
| 132 | root | localhost | sakila | Query | 632 | User sleep | select * from actor where actor_id=sleep(100) |
| 131 | root | localhost | NULL | Query | 628 | Waiting for table flush | flush table with read lock |
+-----+-----------------+-----------+--------+---------+--------+-------------------------+-----------------------------------------------+
3 rows in set (0.00 sec)
mysql>
mysql> kill 132;
Query OK, 0 rows affected (0.00 sec)
也可以在sys.processlist、INFORMATION_SCHEMA.PROCESSLIST或者performance_schema.threads里面找到长时间执行的SQL,把它们杀死即可。
修改xtrabackup的参数
对于执行时间长的SQL,还可以通过修改相关参数来解决:
- 使用–ftwrl-wait-*系列参数,意思是备执行FLUSH TABLES WITH READ LOCK时遇到等待长SQL语句执行时等待设置时间,超时还没有执行完,备份退出宣布失败。
- 使用–kill-long-query-*系列参数,意思是遇到等待长SQL语句执行时,超时就是kill掉执行的SQL语句,并且可以设置SQL类型默认全部。
- 使用–safe-slave-backup-*系列参数,意思是在从库备份,备份开始先停止slave sql线程,防止有超长SQL语句执行,备份完再启动slave sql线程。
文章下方是我的微信,欢迎加我(托业890分的Oracle ACE)。👇
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献7条内容
所有评论(0)