MySQLDump在使用之前一定要想到的事情
如果mysqldump执行的过程中需要flush tables,而正在此时,有一个慢SQL正在运行,这时mysqldump会被阻塞(waiting for table flush
),
并且其他连接对这个表的所有操作(甚至查询
)都被阻塞.系统Hung了.
这个问题在XtraBackup备份的时候同样存在.
如果是人工执行,一定要开启另外一个连接,监控 show processlist,查看是否阻塞.
如果是调度执行,拼人品了.
其实优化慢SQL才是正道.
另外在mysqldump导出的过程中,不要有任何的DDL操作,否则同样会引发
metadata lock的连环阻塞.