Mysql

Windows 上的 MySql 服務在更改 datadir 後不會啟動

  • October 4, 2021

嘗試更改 MySQL 的預設 Windows 安裝的數據目錄。這是我採取的步驟。

  • 停止 MySql 服務。
  • 找到 MySql 的數據目錄並將其移動到另一個驅動器,確保路徑名沒有空格。
  • 在 C:\Program Files\MySQL\MySQL Server 5.7 中複製 my-default.ini 文件,然後將其重命名為 my.ini 並對其進行編輯,如下所示:

> > $$ mysqld $$ > datadir = F:\ProgramData\MySQL\MySQLServer\Data >

  • 將原始數據文件夾的內容複製到這個新的數據文件夾中。
  • MySql 服務在 NETWORK SERVICE 使用者下執行,因此我已授予該使用者對新文件夾的完全控制權限。
  • 刪除了原始數據文件夾。
  • MySql 服務無法啟動,windows 事件日誌中沒有出現有用的錯誤消息。

據我所知,MySql 錯誤日誌位於 datadir 中,所以看那裡沒有多大幫助?

我怎樣才能找到並糾正我做錯了什麼?

如果您打開 Windows 服務並檢查服務屬性,您會發現如下內容:

"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" MySQL57

不足以更改 my.ini 文件中的 datadir,還需要指向 windows 以使用正確的 my.ini 文件執行服務

就我而言,它還與 Windows 記事本的文件編碼有關。編輯 my.ini 文件時,伺服器無法讀取它,因為它預設保存為 UTF-8。通過選擇“另存為”並選擇 ANSI 編碼,它工作正常。

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