今天在navicat上操作mysql數據庫表,突然沒有響應了。隨后重啟,mysql服務也終止了。隨后啟動服務,檢查表,發現一張表卡沒了,就重新添加一張表。報了一個錯:
Error : Tablespace for table '`database`.`temp`' exists. Please DISCARD the tablespace before IMPORT.
可是show databases看了一下根本就沒有這張表啊。網上查了半天都沒有找到類似的情況,花了好幾個小時。
最后終於找到解決辦法如下:
1、關閉所有mysql操作,停止mysql服務。
2、找到安裝目錄下的數據庫文件,應該在你安裝目錄下的data文件夾下,然后打開你對應的數據庫名的文件夾。找到那個表對應的文件,還有損壞的文件,一並刪除。
數據庫中的文件名,應該是和你的表名一一對應的,一個表,兩個文件,一個數據文件,一個是日志文件,除了這個還有一個“db.opt”文件不要刪除。其他的亂碼的文件,和原來你出錯的文件全部刪除。
3、完了以后重新啟動mysql服務,重新添加那個同樣名字的表就可以添加成功了。