2015-03-13 34 views
1

重新安裝AMPPS後(升級失敗,因此我在舊版本中安裝了新版本,一些配置文件在新安裝後修復)後,某些MySQL數據庫表似乎已丟失。在phpMyAdmin中,我只能看到其中的一些。我檢查了數據庫文件夾,發現我可以看到所有表格的文件 - 只有其中一些沒有出現。某些MySQL表在AMPPS更新/重新安裝後無法訪問

實施例: 文件對於被顯示在phpMyAdmin一個表:

  • dbtable_ok.frm
  • dbtable_ok.MYD
  • dbtable_ok.MYI

文件爲表是不顯示在phpMyAdmin中:

  • dbtable_not_ok.frm
  • dbtable_not_ok.ibd

後面的這些文件也不會被網站(特別的Joomla)進行訪問。

這是關於數據庫和服務器,phpMyAdmin的的信息:

數據庫服務器

Server: localhost via TCP/IP 
Server type: MySQL 
Server version: 5.6.23 - MySQL Community Server (GPL) 
Protocol version: 10 
User: [email protected] 
Server charset: UTF-8 Unicode (utf8) 

Web服務器

Apache/2.4.12 (Win32) OpenSSL/1.0.1l PHP/5.3.29 mod_wsgi/3.5 Python/2.7.9 
Database client version: libmysql - mysqlnd 5.0.8-dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325 
PHP extension: mysqli Documentation 

我希望有在配置文件中的一些簡單的設置修復此... 謝謝!

回答

1

MySQL錯誤日誌中的任何提示或警告?

這對你來說可能是個壞消息。重新安裝可能會覆蓋您現有的數據庫。特別是,InnoDB表在ibdata1(等等)文件中存儲(通過MySQL默認);這個文件在MySQL安裝之間是不可移植的。可能發生的情況是,新的AMPPS安裝安裝了一組刪除現有數據庫的新數據庫 - 無論是MySQL用來追蹤它還是整個數據庫的元數據。

現在看起來你已經有了一個單獨的.ibd文件,這意味着所有的希望都不會丟失。這些指令相當複雜,恕我直言,不適合在這裏複製和粘貼,但參考MySQL手冊https://dev.mysql.com/doc/mysql-enterprise-backup/3.7/en/partial.restoring.single.html和我剛發現的這個隨機站點http://www.chriscalender.com/recovering-an-innodb-table-from-only-an-ibd-file/,也許其中一個將有所幫助。這是來自MySQL啓動的錯誤消息可能有助於確定發生了什麼問題的地方。取決於您的備份的年齡,從備份還原可能會更安全。

+0

非常感謝您的解釋。我不知道這些文件不是便攜式的。在過去,我只需通過複製包含MySQL表的數據文件夾就可以將表移動到其他安裝。也許有些不同,也許在那些我沒有使用InnoDB的情況下。我確實有備份,並且沒有任何「丟失」的本地站點是獨一無二的。所以我會看看我是否嘗試修復網站或重新安裝我仍然需要的網站。 – Ralf 2015-03-25 09:00:57

+0

錯誤日誌:事實上,有很多。有趣的閱​​讀,我應該早點檢查一下。 – Ralf 2015-03-25 09:06:21