mysql備份導入表出現Table XXX doesn't exist的解決方法
mysql備份導入表經常會提示Table XXX doesn't exist,該怎么解決?以下是由陽光網小編整理關于mysql備份導入表出現Table XXX doesn't exist的解決方法,希望大家喜歡!
mysql備份導入表出現Table XXX doesn't exist的解決方法
今天服務器轉移,安裝MySQL后,完整導入data文件,將整個數據庫導入。
之后打開phpmyadmin,發現了一個奇怪的問題,表明數據myshuju有48張表,但點進去后發現實際上標注只有47張表。
分析后發現,data文件夾中有所有數據表的frm文件,但在phpmyadmin中看不到這些表,
因為表比較小,所有采用sql文件的方式進行新增表。到這里問題就簡單了。
會出現下面兩個情況:
第一種情況:直接導入原數據表的sql文件,原frm文件不刪除
出錯:#1146 - Table 'eticket.et_admin' doesn't exist
第二種情況:刪除原frm文件,刷新phpmyadmin,再導入該數據表的sql文件
出錯:#1146 - Table 'eticket.et_admin' doesn't exist
完美解決方法:刪除原frm文件,重啟mysql服務器,刷新phpmyadmin,再導入該數據表的sql文件
成功:導入成功,執行了X個查詢。
問題分析,數據庫的表,創建的時間和方式不一致,丟失的表,一般為后期手動添加的表,與原來創建的表,存在一些差異。
MySql導入數據時Table XXX doesn't exist的'解決
數據表為Innodb引擎
data文件夾中存在數據表的frm文件,但在phpmyadmin中看不到這些表,于是采用導入sql文件的方式進行恢復
1、直接導入原數據表的sql文件,原frm文件不刪除
出錯:#1146 - Table 'eticket.et_admin' doesn't exist
2、刪除原frm文件,刷新phpmyadmin,再導入該數據表的sql文件
出錯:#1146 - Table 'eticket.et_admin' doesn't exist
3、刪除原frm文件,重啟MySQL服務器,刷新phpmyadmin,再導入該數據表的sql文件
成功:導入成功,執行了 28 個查詢。 (ticket.sql)
Linux環境下MySQL報Table 'xxx' doesn't exist錯誤解決方法
問題:程序報Table 'xxx' doesn't exist 的錯誤,但是查看數據庫發現該表已經存在且字母也沒有拼錯。
原因:Linux 上的mysql 默認是區分大小寫導致的。
解決:改動mysql的配置文件,在my.cnf中的[mysqld]下面(位置不能錯)加上lower_case_table_name=1這句(1表示不區分大小寫,0區分大小寫),保存重新啟動mysql。
沒有my.cnf文件,如果是默認安裝執行以下列操作
[root@hqw mysql]# cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
在my.cnf加入配置信息
【mysql備份導入表出現Table XXX doesn't exist的解決方法】相關文章: