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