今天在MySQL中新建表的时候报了一个错误:
看到信息中Another DDL job ,第一反应是因为有其他人在操作这个库,但是没有commit导致该库被锁了导致的,但是问了一圈没有人在操作这个库,那原因就不是锁了;
仔细看了下报错信息,按其中描述,执行一下sql:
check table [table_name];
show ddl
remove ddl [id];
drop table if exists [table_name]
然后再重新建表,成功。
事后查了下,首先,该报错的原因是是执行DDL语句的时候,sql没有执行完成就突然中止了,中止的原因很多,用户再次执行该语句,就会提示这个DDL还在执行队列中,没有执行完成;解决办法只需要把这个命令删除即可。