Innodb
強制終止長時間執行的索引創建
我有一個 192GB 的表,我開始在一夜之間添加索引。
幾個小時後,這種情況仍在繼續。
啟動時
alter table
數據庫非常安靜。在此期間還有其他查詢嘗試執行,包括一些 cron 作業,因此當我醒來時,其中一些查詢的多個副本被此索引添加阻塞。我試圖殺死
ALTER TABLE
,但它仍然顯示:204997797 root localhost web_db 23793 Killed manage k alter table reports add key requisition_ix (requisition_id)
我還殺死了在夜間執行的其他查詢,但尚未停止與數據庫的新連接。
有沒有辦法強行殺死它?
percona-xtradb-cluster-server-5.5(目前獨立)
伺服器上目前有 376GB 可用空間。有
#sql-5db_c3804a5.frm
文件,但我看不到其他臨時文件。在
error.log
我看到這樣的事情:211015 8:07:22 [ERROR] Table web_db/reports contains 14 indexes inside InnoDB, which is different from the number of indexes 13 defined in the MySQL
如果絕對沒有辦法殺死它,有沒有辦法監控索引添加/回滾的進度?
有沒有辦法強行殺死它?
沒門。您必須等待終止的查詢修改回滾。即使您應該嘗試重新啟動伺服器,在重新啟動期間也會繼續回滾。並且強制執行此過程可能會導致數據損壞。等待…
有什麼方法可以查看進度嗎?
沒有這樣的功能。