在数据备份时,通过查看发现数据库出现Waiting for table flush语句,并该语句一直出现,将对应的mysqldump语句退出掉,还是显示出该语句。故障情况如下:在执行mysqldump时,通过查看show processlist查看(该语句一直显示出现):二
故障模拟
开启3个会话。第一个会话:模拟一个大事物:第二个会话:第三个会话:三
建议方案
3.1 备份恢复使用,不需要二进制和位点恢复操作,不加上master-data参数,不会产生Waiting for table flush去拿一致性位点3.2 对于需要使用二进制和位点进行数据恢复来说(一般将全备进行恢复,搭建从库)在操作之前检查数据库中是否存在大事物,存在大事物会导致Waiting for table flush3.3 备份前检查数据库中是否存在大事物 END