解決windows下mysql8修改my.ini設(shè)置datadir后無法啟動問題
mysql8修改my.ini設(shè)置datadir后無法啟動問題
mysql默認數(shù)據(jù)庫文件在安裝目錄下。創(chuàng)建數(shù)據(jù)庫的時候,并不能指定數(shù)據(jù)文件存放位置。這就很扯。它只能通過修改mysql.ini來更改數(shù)據(jù)文件存放目錄,而且是一刀切的,沒有辦法做到數(shù)據(jù)文件和日志文件分開存放。假如服務(wù)器有多個盤,就不能利用磁盤不同IO的優(yōu)勢。但是,既然是服務(wù)器,通常會做陣列的吧,做了陣列,就無所謂哪個盤了。
我這次要說的,是修改mysql.ini后,mysql無法啟動的問題。
我遇到的是2個原因:
- 一個是mysql.ini修改后字符編碼被改變,導(dǎo)致mysql無法識別;
- 另一個是存放mysql數(shù)據(jù)文件的新路徑?jīng)]有足夠權(quán)限。
1、字符編碼問題
一般來說,mysql.ini位于mysql安裝目錄下。但其實并不準(zhǔn)確,像我的操作系統(tǒng)是win10,mysql默認安裝在c:\program files
,但mysql.ini位于C:\ProgramData\MySQL\MySQL Server 8.0
。
這是一個隱藏的文件夾。
如果要改變數(shù)據(jù)文件的存儲路徑,就要修改mysql.ini。mysql.init默認字符編碼是ANSI,保存后,就有可能會改變其字符編碼為UTF-8,導(dǎo)致mysql無法識別,從而無法啟動mysql。
正確做法是:
1)首先備份一個mysql.ini。切記?。?!
2)用記事本打開mysql.ini,修改mysql.ini里的datadir,如
# Path to the database root datadir=e:\mysql\Data
3)mysql.ini默認字符編碼是ANSI。所以修改后,用記事本另存為,記得選字符編碼為ANSI。
2、新路徑權(quán)限問題
如上所述,我將datadir修改成新的路徑e:\mysql\Data,同時將C:\ProgramData\MySQL\MySQL Server 8.0\Data拷貝到新路徑。但要注意,這個文件夾必須要有足夠的權(quán)限,mysql才能使用。其中,關(guān)鍵的權(quán)限是SYSTEM或NETWORK SERVICE要有全部權(quán)限。
也有可能是network service。這個可能是跟安裝時的環(huán)境有關(guān)。最好是看一下原先數(shù)據(jù)存放點C:\ProgramData\MySQL\MySQL Server 8.0\Data的安全屬性。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL中REPLACE INTO和INSERT INTO的區(qū)別分析
REPLACE的運行與INSERT很相似。只有一點例外,假如表中的一個舊記錄與一個用于PRIMARY KEY或一個UNIQUE索引的新記錄具有相同的值,則在新記錄被插入之前,舊記錄被刪除。2011-07-07IDEA鏈接MySQL報錯08001和連接成功后不顯示表的問題及解決方法
這篇文章主要介紹了IDEA鏈接MySQL報錯08001和連接成功后不顯示表的問題及解決方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10mysql error 1071: 創(chuàng)建唯一索引時字段長度限制的問題
這篇文章主要介紹了mysql error 1071: 創(chuàng)建唯一索引時字段長度限制的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09MySQL數(shù)據(jù)庫列的增刪改實現(xiàn)方法
這篇文章主要介紹了MySQL數(shù)據(jù)庫列的增刪改實現(xiàn)方法,結(jié)合實例形式分析了mysql數(shù)據(jù)庫針對列的增加、修改、刪除等相關(guān)操作sql命令及使用技巧,需要的朋友可以參考下2019-03-03mysql報錯:MySQL server version for the right syntax to use nea
這篇文章主要介紹了mysql報錯:MySQL server version for the right syntax to use near type=InnoDB的解決方法,涉及MySQL語句的使用技巧,需要的朋友可以參考下2016-01-01