2012-12-24 111 views
4

我在Windows7上使用MySQL 5.5和MySQLWorkbench。我已在C:驅動器上成功創建了一個數據庫,但我想將其移至E:驅動器。我停止了mysqld守護進程並編輯my.ini文件以將datadir =「C:/ ProgramData/MySQL/MySQL Server 5.5/Data /」更改爲datadir =「E:/ MySQL/data /」。我將數據從C:位置複製到E:位置。 我可以啓動mysqld進程,但是我創建的數據庫沒有出現。任何人都可以解釋我做錯了什麼?如何將MySQL數據庫從一個硬盤移動到另一個硬盤?

+1

你更改過的'my.ini'文件在哪裏?它是否仍然可以指向「C:」位置? – mellamokb

+0

它指向正確的位置。 – kernelK

回答

-1

使用此工具http://sourceforge.net/projects/mysqlbutool/轉儲數據庫到磁盤,然後使用這個工具http://www.webyog.com/

+0

我沒有將它移動到另一臺服務器。我希望實際的數據來自E:驅動器,而不是C:驅動器。我希望mySQL生活在C:驅動器上。 – kernelK

+0

現在,我的innodb數據存儲在服務器上的一個隱藏文件夾中:C:\ Program Data \ MySQL \ MySQL Server 5.5 \ data \我想移動到E:驅動器 – kernelK

+0

我可以複製當前數據innodb_data_home_dir到一個新的位置,然後指定新的位置作爲適當的innodb_data_home_dir路徑? – kernelK

0

,因爲我想我的InnoDB數據庫移到坐在另一分區將其還原到新的服務器,我停止了MySQL的從MySQL工作臺。我將我的innodb數據庫ibdata1以及2個日誌文件(我的C:\ ProgramData \ MySQL \文件夾中自動創建的日誌文件)複製到我的E:分區上的新文件夾中。添加以下到MY.INI:

innodb_data_home_dir = "E:/MySQL Data" 

現在,當我開始我的數據庫,所有的改變都以在E ibdata1中提出:驅動器。

+0

請參閱下面的[innodb-configuration](http://dev.mysql.com/doc/refman/5.0/en/innodb-configuration.html) – kernelK

0

基本上,您想要將舊目錄中的所有內容複製到新目錄中。確保在執行此操作時不要複製binlog(如果有的話,它們看起來像mysql-bin.001等,也不要複製mysql-bin.index,因爲它包含對舊的二進制日誌的實際路徑引用) 。一旦你這樣做,你應該能夠重新啓動mysql守護進程並登錄來查看數據庫。

PS:未經測試,但應該有效。

0

當我試圖移動我的數據庫時,我遇到了Windows沒有與原始數據文件夾具有相同權限的問題。您可以通過轉到文件夾的屬性然後選擇安全選項卡來檢查正確的用戶是否有權訪問新文件夾。

相關問題