解決mysql表不能查詢修改刪除等操作並出現卡死


問題現象1進程wait卡住

測試環境mysql出現了一個怪表:select查詢表卡死,alter修改表卡死,甚至我不想要這個表了,delete、truncate、drop表都卡死卡主了......

解決辦法

>show full processlist;    // 列出進程,找出處於waiting的process,要殺死這些process
......
......
>kill ID;            // ID號就是指的列出的第一列“Id”

到此,可以解決一般性的卡死。(如果必要,考慮重啟一下mysql)

 

 

問題現象2刪除表報錯ERROR 1051 (42S02): Unknown table ‘xxx’

表刪除不掉,mysql也重啟了,而且drop表的時候出現ERROR 1051 (42S02): Unknown table......

mysql> drop table db_A.tbl_aaa;
ERROR 1051 (42S02): Unknown table 'db_A.tbl_aaa'

解決辦法

方法①:修復表,使之正常后,再將其刪除(推薦

[root@server-1 ~]# mysqlcheck --auto-repair --database db_A --user=root --password
Warning: Using unique option prefix database instead of databases is deprecated and will be removed in a future release. Please use the full name instead.
Enter password: 
db_A.tbl_aaa            OK
db_A.tbl_bbb            OK
db_A.tbl_ccc            OK
db_A.tbl_ddd            OK
db_A.tbl_eee            OK
db_A.tbl_fff            OK

再次登錄mysql執行

mysql> use db_A;
Database changed
mysql> drop table tbl_aaa;
Query OK, 0 rows affected (0.01 sec)

 

方法②:進數據存放目錄直接刪除相應的表文件

mysql默認數據存放目錄: /var/lib/mysql/ 

~]# cd /var/lib/mysql/db_A/
db_A ]# rm -f tbl_aaa.frm
db_A ]# rm -f tbl_aaa.ibd

然后再次連接mysql,db_A庫中的tbl_aaa表就不見了。

 

結束.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM