2012-12-13 70 views
0

我在Windows 2008上安裝了MySql 5.1.13數據庫,然後在一天的時間中,我備份了我的服務器[300多個數據庫]。卸載舊版本並安裝5.5版本的MYSQL。現在我將數據文件夾複製回Mysql 5.5數據位置,並獲得了我所有的數據庫,但後來我意識到大約250個數據庫雖然在位置存在,但它們不在PHPmyadmin中顯示錶格。我嘗試在這些數據庫的幾個上運行「顯示錶」,並且表名稱確實顯示[並且因此退出了tablename.frm文件]。MYSQL 5.5升級問題:所有表都沒有了

更不用說所有Innodb表都只有一個缺失。如何讓他們輕鬆回來。我有每個數據庫的備份,但運行250個SQL文件並不容易:)。

回答

0

您的innodb引擎可以有自己的獨立文件夾,他們存儲他們的數據文件。根據MySQL手冊,InnoDB默認在MySQL數據目錄中創建表空間文件,請參閱:http://dev.mysql.com/doc/refman/5.0/en/innodb-configuration.html

通常情況下,您會將表格分割到不同的驅動器上以提高性能,因此您可能會遇到將InnoDB表配置爲放置在另一個驅動器或文件夾中的情況。如果有,請檢查以前的MySQL配置文件並檢查以下行:innodb_data_home_dir =/ibdata

這將指示文件的位置。我沒有試過這個,但是如果是這樣的話,你應該能夠將當前的配置指向舊的innodb位置。如果這不起作用,我認爲恢復將是你最好的選擇。

祝你好運!

+0

我確實有從舊服務器的350 + MB的ibdata文件,但我的新升級版本也有34MB文件創建相同的名稱。我嘗試使用innodb_data_file_path = ibdata1:34M添加兩個ibdata文件; ibdata2:400M:autoextend但它不起作用並且服務器安裝失敗。我必須刪除它才能讓服務器正常工作。 –

+0

看起來你將不得不運行還原。 – Namphibian

+0

我想通了,運行恢復..啊,糟糕的是,運行250 SQL文件比導入舊設置更容易... –