字體:  

解決 mysqldump #1146 table doesn't exist when using LOCK TABLES

camry 發表於: 2015-9-23 09:06 來源: ADJ網路控股集團


Q1.執行 mysqldump 時出現找不到某一個 tables 並且中斷執行?

Error Meaage:

執行 mysqldump 時出現找不到某一個 tables 並且中斷執行

QUOTE:

# mysqldump adj_com_tw > adj.sql           //執行 mysqldump 並出現如下錯誤訊息
mysqldump: Got error: 1146: Table ‘adj.show_results' doesn't exist when using LOCK TABLES
找了 google 說加上 --skip-lock-tables 試試,也是不行

QUOTE:

# mysqldump --skip-lock-tables adj_com_tw > adj.sql
Error: Couldn't read status information for adj.show_results ()
mysqldump: Couldn't execute 'show create table `show_results`': Table 'adj.show_results' doesn't exist (1146)
進入 phpmyadmin 管理介面後關於此 show_results table 的徵狀

1.並沒有看到 show_results table
2.但使用指令 show tables; 卻有看到 show_results table
3.使用 drop table show_results 又說該 table 不存在無法 drop
4.至 mysql 目錄下有看到 show_results.frm 檔案

解決方式:

QUOTE:

應該是之前有 deleted and recreated InnoDB data files 但是忘了刪除關聯檔案 .frm ,所以只要把 show_results.frm 檔案拿掉,並重新啟動 mysqld 後,就可順利執行 mysqldump 了。