當我嘗試刪除表時,MySQL掛起。我沒有任何其他公開會議。如何解決這個問題?我已經等了10個小時,這個過程還沒有結束。刪除表使MySQL掛起
回答
Waiting for table metadata lock
drop table tableA name
SELECT l1.lat, l1.lon, l2.zipcode FROM tableA l1, tableBl2 where l1.lat = l2.latitude and l1.lon = l2.longitude limit 10
如果這是你的表格,請參閱this link
你有一個隱含的僵局。終止其他交易以釋放掉,或者終止釋放其他交易。您可以在sql_plus中使用KILL thread_id。
由於我想出了另一個有趣的經驗,我添加了更多信息。
Metadata
死鎖同樣可以在DDL操作之間在給定的表(drop
,alter
...)和該表的選擇查詢發生。
是,select
。因此,如果您在mysql(或php,例如pdo::fetch
)中循環遊標並且在同一個表上運行ddl語句,則會發生死鎖。
這種非典型場景的一種解決方案是在任何select語句被完全獲取後,系統地釋放帶有commit
語句的隱式鎖。
我丟棄了表格,現在我無法創建新表格,因爲我收到了錯誤代碼(28):無法將文件'..'同步到磁盤。我假設通過放棄桌子我會有更多的自由空間。 –
哪些文件?我認爲你應該重啓服務器,因爲這個鎖持續了很長時間。 – Sebas
當我運行一個非常大的創建表語句與多列我得到這個錯誤信息。通過重新啓動服務器,你的意思是退出並重新連接?你如何明確重啓服務器? –
重新啓動MySQL的可能不是最漂亮的解決方案,但它爲我工作:
sudo /etc/init.d/mysql restart
mysqladmin drop YOURDATABASE
'mysql.server restart'適用於我。 –
- 1. 從Scala中刪除掛起的進程
- 2. 刪除密鑰空間掛起
- 3. 使用Liquibase刪除MySQL表
- 4. 刪除表mySql
- 5. PHP掛在MySQL刪除語句
- 6. MySQL刪除不起作用
- 7. MySQL截斷掛起
- 8. MySQL查詢掛起
- 9. Mysql查詢掛起
- 10. mysql的刪除表
- 11. Mysql - 刪除多表
- 12. MYSQL多表刪除
- 13. OpenCL:內核永遠掛起,除非我刪除參數
- 14. 使用MySQL刪除
- 15. mysql在登錄時掛起
- 16. MySQL OdbcCommand命令somtimes掛起?
- 17. mysql轉儲查詢掛起
- 18. Mysql:刪除行與使用「刪除」列
- 19. 刪除MySQL錶行使用jQuery的Ajax
- 20. 刪除整個表的列。使用mysql
- 21. 使用PHP從MySQL表中刪除行
- 22. 如何使用php刪除/刪除mySQL中的特定錶行?
- 23. 一起刪除幾行mysql數據庫?
- 24. mysql的刪除主鍵不起作用
- 25. 從mysql的20排起刪除
- 26. PHP AJAX MySQL刪除不起作用
- 27. 從MySQL中刪除行不起作用
- 28. mysql刪除級聯不起作用
- 29. php mysql刪除不起作用
- 30. MySQL刪除請求不起作用
請發佈SHOW ENGINE INNODB STATUS的結果,如果數據庫是根據課程的InnoDB的 – Sebas
看起來像你正試圖將表drop已經在使用中(呃,我的意思是它已被其他進程鎖定),因此它正在等待進程提交。 – Rahul
我已經添加了日誌輸出。 –