Windows下MySQL資料目錄修改?

折騰了很久MySQL資料目錄移植,網上的說法大同小異,都說修改my.ini資料目錄配置,拷貝資料檔案就行,然而都失敗了!忘記了關鍵的一不,目錄授權,導致MySQL無法啟動,報1067錯誤。我的MySQL版本和Windows版本如下,其他版本也可參考,相信查不了多少。

MySQL:5.6.20安裝版

Windows:Server2008 R2 Enterprise

方法/步驟

停掉MySQL服務:

windows services 中的MySQL服務,停止。

建立新的資料檔案目錄:

也即你現在想要儲存的MySQL資料目錄,例如:E:\MySQL5.6Data

拷貝資料檔案:

將原資料目錄下的“資料檔案及子目錄”拷貝到剛才建立的E:\MySQL5.6Data目錄下;注意你的原資料檔案目錄及資料檔案,不要拷貝錯了,如果你沒怎麼修改過原目錄的話,原目錄的樣子應該是“..\ProgramData\MySQL\...\data\”,把data目錄下的內容拷貝至新目錄下。

新資料檔案目錄授權

這一步很重要,很多同學就因為這部導致無法啟動MySQL,只有1067錯誤

右鍵新目錄E:\MySQL5.6Data,選擇“安全”選項卡,將下面所有的使用者及組授予完全控制權限(注意:測試機可以這麼做,如果是生產環境,你需要一個一個試,直到不報1067錯誤為止)。

修改my.ini檔案

網上很多文章都說my.ini在MySQL的安裝目錄下,很多人可能會發現那個位置並沒有my.ini檔案,只有一個my-default.ini檔案,這個檔案基本沒用。

非安裝版的MySQL:my.ini配置檔案可能就在這個目錄下;

安裝版的MySQL:my.ini檔案大多數都在你的資料檔案目錄下,如果不在,你可以在windows服務列表中右鍵MySQL服務,選擇屬性,在“常規”選項卡中可以看到可執行檔案路徑,後面有一個 --defaultFile引數,這個引數後面的值就是你的my.ini檔案的路徑。

找到my.ini檔案後,開啟,修改其中的datadir的值為新目錄,如E:\MySQL5.6Data;大多數情況下修改這個地方就行了,但為了保證一些“變異”,你可以通過搜尋原資料路徑關鍵字(如原來的碟符)來檢測是否需改完畢了。

修改完畢後儲存,如果你是安裝版的MySQL,且my.ini檔案就在原資料檔案目錄下,你還需要做兩件事

1、把修改後的my.ini檔案拷貝到MySQL安裝目錄或者新的資料檔案目錄下;

2、windows + r 開啟“執行”,輸入regedit回車開啟登錄檔,HKEY_LOCAL_MACHINE-->SYSTEM-->CurrentControlSet-->services下找到MySQL服務鍵,然後修改其ImagePath屬性值為my.ini檔案新的絕對路徑。

啟動MySQL

在MySQL服務列表中,啟動MySQL。

注意事項

生產環境,授權要注意。

僅供參考,不對負面後果負任何責任。

相關問題答案