Mysql

更改 MySQL 數據庫伺服器上的數據目錄

  • January 3, 2019

我已經在 Windows Server 2012 R2 上安裝了 mysql server 5.6.24。

我導入了轉儲文件,數據文件儲存在C:\ProgramData\MySQL\MySQL Server 5.6\data

我想更改目錄,如D:\ProgramData\Data.

你能幫我嗎,有人嗎?

  1. 以管理員身份打開 Windows CLI 並關閉 MySQL
net stop mysql
  1. 將數據複製到D:\ProgramData\Data
xcopy /s C:\ProgramData\MySQL\MySQL Server 5.6\data D:\ProgramData\Data
  1. 創建或編輯C:\ProgramData\MySQL\MySQL Server 5.6\my.ini

將此添加到my.ini

[mysqld]
datadir = D:/ProgramData/Data
  1. 啟動 MySQL
net start mysql

如果無法執行net start mysql,請嘗試 Windows 控制面板。 5. 登錄 MySQL 並驗證一切正常

當你登錄到 MySQL 時,執行這個

mysql> SHOW GLOBAL VARIABLES LIKE 'datadir';

請記住為使用者網路服務管理員提供與預設數據目錄使用的相同的完全權限,否則會導致可怕的“啟動然後停止”錯誤。在確定新目錄正常工作之前,請勿刪除此目錄。

如果這不起作用,這裡是回滾計劃:

net stop mysql
del "C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"
net start mysql

在 Windows 10 上添加 MySQL server 8.0 的目前答案,以了解如何在安裝後更改數據庫目錄(我在網際網路上搜尋並沒有找到解決方案,幾乎發瘋了,所以我希望這對某人有所幫助)。

第一步與 MySQL Server 5.6 的通常其他說明中的相同。唯一的區別基本上是第三步:

  1. 轉到服務(例如按 WIN+R,鍵入services.msc,輸入)並MySQL80通過右鍵點擊並點擊“停止”來停止服務(服務名稱是在安裝過程中指定的,因此名稱可能與您不同)。
  2. 將數據庫文件夾移動到您想要的任何位置。初始位置通常是C:\ProgramData\MySQL\MySQL Server 8.0\data. 在C:\ProgramData\MySQL\MySQL Server 8.0\文件夾內,應該有一個my.ini文件。打開它以使用 Notepad++(或其他記事本)對其進行編輯,並蒐索以某種形式提及舊位置的行。它應該有兩種情況(一種用於datadir,一種用於secure-file-priv)。將兩者重命名為相應的新位置(可能只重命名該部分就足夠了datadir,但最好是安全而不是抱歉)。最初,它們通常看起來像這樣:
datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data

secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"

因此,如果新位置應為E:/MySQL/MySQL Server 8.0/...,則重命名兩個條目,如下所示:

datadir=E:/MySQL/MySQL Server 8.0/Data

secure-file-priv="E:/MySQL/MySQL Server 8.0/Uploads"
  1. 現在,在移動數據庫並重命名my.ini文件中的條目後,再次重新啟動服務之前,打開系統資料庫編輯器(例如按 WIN+R,鍵入“regedit”,按 Enter),導航到Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80(再次MySQL80,您在安裝過程中選擇的 MySQL 服務的服務名稱,可能不同於MySQL80),然後右鍵點擊該ImagePath條目並選擇修改。應該有一個類似於這樣顯示的字元串:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQL80

這基本上是由服務執行的實際 exe 文件的連結,帶有一個附加的配置文件參數,即my.ini我們之前修改的那個文件。因此,在這裡,配置文件的路徑當然也需要更新,因為它被移動了,所以對於這個例子,它將被更改為:

"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="E:\MySQL\MySQL Server 8.0\my.ini" MySQL80

請注意,當然,只需要更改配置文件的路徑。 4. 現在服務可以重新啟動了!再次轉到服務並右鍵點擊該MySQL80服務以再次選擇“啟動”選項,它應該重新啟動而沒有問題。如果跳過第 3 步,重新啟動通常將不起作用!

引用自:https://dba.stackexchange.com/questions/111829