MariaDB FLUSH TABLES命令只关闭未使用的表
短信预约 -IT技能 免费直播动态提醒
例会话一
select id,sleep(60) from t1;
因未执行完,t1表持有METADATA LOCK(MDL)元数据锁
会话二
FLUSH TABLES;
在MariaDB 10.4 版本以前,执行FLUSH TABLES会把所有的表强制关闭,因会话一持有MDL元数据锁,固FLUSH TABLES会等待Waiting for table metadata lock
在MariaDB 10.4 GA版本,将只关闭未使用的表,正在使用中的表忽略不受影响。(除非你手工指定表,如FLUSH TABLES t1,将会强制关闭t1表)
场景:MHA在线切换调用master_ip_online_change脚本时,第一步会执行FLUSH NO_WRITE_TO_BINLOG TABLES关闭所有表,此时如果你的数据库有未执行完的慢SQL,FLUSH NO_WRITE_TO_BINLOG TABLES就会卡住,导致无法切换。
注:MySQL 8.0.17版本不支持该功能
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341