MariaDBFLUSHTABLES命令只关闭未使用的表

例会话一
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版本不支持该功能

创新互联成立与2013年,先为孟村等服务建站,孟村等地企业,进行企业商务咨询服务。为孟村企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。


新闻名称:MariaDBFLUSHTABLES命令只关闭未使用的表
转载源于:http://myzitong.com/article/pjepdc.html