mysql資料庫殺掉堵塞程序
mysql>SHOW PROCESSLIST;檢視程序;
mysql>KILL ID;殺掉程序;
這是殺掉單一程序,一個一個解決起來太麻煩;
批量解決,匯出到檔案,在匯入處理;
1,
mysql>select CONCAT('KILL ',id,';') FROM information_schema.`PROCESSLIST` where DB = 'finance_49db6118b5b24de792246550429dfb2b';
+------------------------+
| concat('KILL ',id,';')
+------------------------+
| KILL 3101;
| KILL 2946;
+------------------------+
2,
mysql>select CONCAT('KILL ',id,';') FROM information_schema.`PROCESSLIST` where DB = 'finance_49db6118b5b24de792246550429dfb2b' INTO OUTFILE'/var/lib/mysql-files/a.txt';
Query OK, 2 rows affected (0.00 sec)
注意:CONCAT('KILL ',id,';')裡 KILL後面有個空格;
INTO OUTFILE 後面的路徑是mysql配置檔案裡配置的路徑,隨意指定路徑會引起許可權問題;
會報這個錯:The MySQL server is running with the --secure-file-priv option so it cannot execute this statement;
可以通過下面命令檢視預設路徑;
mysql>show variables like '%secure%';
如果值為Null就需要到mysql安裝路徑下的my.ini檔案,設定一下路徑:
然後重啟mysql;
3,mysql> source /tmp/a.txt;
Query OK, 0 rows affected (0.00 sec);
我用navicat連線資料庫,匯入檔案不成功,source命令不變色;
後來我發現 何必呢
mysql>select CONCAT('KILL ',id,';') from information_schema.`PROCESSLIST` where DB = 'finance_49db6118b5b24de792246550429dfb2b';
然後點選
全選 複製到執行視窗;
然後 執行;哈哈哈,全部解決;