mysql匯入sql檔案出現1050和1813的解決辦法
阿新 • • 發佈:2019-02-06
注:本文只是可能的一種解決辦法,不保證試用於所有情況。
這兩天從伺服器資料庫dump出一個40多mb的sql檔案向本地mysql匯入時遇到了錯誤1050 ERROR 1050 (42S01): Table ‘test’ already exists 和錯誤1813 ERROR 1813 (HY000) at line 25: Tablespace for table ‘databasename.tablename’ exists. Please DISCARD the tablespace before IMPORT.找了好久發現國內網站基本沒什麼能用的解決方案,終於在一國外的網站上找到了解決方案。
首先檢視mysql data目錄下出錯資料庫資料夾下是否存在以下兩個檔案
tablename.ibd
tablename.frm
實際情況很可能只有其中的ibd檔案,如果是這樣的話,需要重新匯出出問題的資料庫,並加上引數
--add-drop-database
然後重新匯入。
根據實測,用sqlyog匯入成功,用navicat總會出現奇奇怪怪的錯誤,比如error2013之類的,試了良久未能解決,建議改用sqlyog或命令列匯入。