幾次數據庫的丟失讓我郁悶到了極點,不惜浪費再多的時間也得找出根本的原因,MySQL表 使用中的異常情況相信好多網友都遇到過,Google上也有好多解決方案,好像都是于事無補的一些操作,有的更是驢唇不對馬嘴,下面是我從高人那里整理出來的,希望對大家有幫助。
錯誤表現:
運行頁面時顯示 Table “xxx” doesn’t exist.
phpMyAdmin中存在的表顯示”使用中(in use)”, 無法對表進行操作.
可能的原因:
升級了MySQL版本
改變了安裝目錄
數據備份不完全
一般來說, 數據備份不完全是引起這個錯誤的根本原因.
以WordPress數據庫來說, 數據表類型分為MyISAM與InnoDB兩種.
以表”Table”為例:
如類型是MyISAM, 數據文件則以”Table.frm”"Table.MYD”"Table.MYI”"三個文件存儲于”/data/$databasename/”目錄中.
如類型是InnoDB, 數據文件則存儲在”$innodb_data_home_dir/ibdata1″(一般情況).
由于MySQL這樣數據混雜的形式, 往往很容易讓使用者在備份時忘記了備份InnoDB, 從而導致了上述錯誤.
當然了, 解決方法就很簡單, 連帶Data_InnoDB一起轉移便可.
仍然需要注意的是, 僅僅轉移可能是不夠的: 你可能需要檢查my.ini中對于innodb_data_home_dir的定義.
如有, 則將它改成你現在Data_InnoDB的絕對目錄路徑.
如沒有, 則將它加入my.ini中, 由于懶惰就不寫冗長的注釋了.
innodb_data_home_dir = "C:/Program Files/MySQL/MySQL Server 5.0/data/"
如果數據庫目錄下面有:ibdata1 那就是了。