一、問題如下:
在Navicat中調整表結構,添加新的字段。之后保存的時候就一直顯示正在保存,等了一會兒也一直沒有反應,點關閉也停止不了保存操作,就一直卡着。
二、問題解決
1、查看當前的進程列表:
show processlist
會發現有等待的進程:
這些進程狀態為Waiting for table metadata lock,等待表元數據鎖。
在表information_schema.innodb_trx中查看數據,在事務沒有完成之前,鎖不會釋放alter table獲取不到metadata的獨占鎖。
殺掉trx_mysql_thread_id這個id的進程即可。
2、殺掉進程:
kill xxx
xxx為進程id,通過該命令殺掉卡死的進程。