1. 程式人生 > >mysql匯入sql檔案出現1050和1813的解決辦法

mysql匯入sql檔案出現1050和1813的解決辦法

注:本文只是可能的一種解決辦法,不保證試用於所有情況。

  這兩天從伺服器資料庫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或命令列匯入。