我執行了一個查詢,刪除了大約 1800 萬筆記錄。執行該查詢後,mysql停止回應查詢。我已經重新啟動了伺服器,現在無法使用以下命令啟動 mysql 服務:
service mysql start
也許它只是列印錯誤,但我找不到錯誤日誌檔案。我正在運行 CentOS 6 並使用 yum 從其官方儲存庫安裝了 mariaDB。
我該怎麼做才能啟動mysql?我不在乎查詢是否被取消。我可以看到一些 mysqld 進程正在消耗 CPU 和 I/O。我想也許它仍在嘗試執行這個查詢。
答案1
你寫了“我無法啟動mysql服務......”,但是你可以看到一些mysqld進程。嘗試執行:
service mysql status
如果服務已啟動,則嘗試停止它並在啟用錯誤日誌記錄的情況下以安全模式執行 mariaDB。如果服務未啟動,則嘗試終止 mysqld 進程(注意責任)並在安全模式下執行 mariaDB。
有關安全模式的更多詳細資訊請參閱官方文件。
答案2
對於查看此內容的其他人,您還可以使用 mysqladmin 命令列出所有正在執行的查詢,並在需要時選擇性地終止它們。這將保留在該實例上執行的任何其他查詢。
https://dev.mysql.com/doc/refman/5.5/en/mysqladmin.html
請注意,SHOW VARIABLES 將傳回 MySQL 日誌的位置(如果還需要的話)。