香港公司能在國(guó)內(nèi)做網(wǎng)站個(gè)人免費(fèi)網(wǎng)上注冊(cè)公司
Mysql
啟動(dòng)報(bào)錯(cuò):本地計(jì)算機(jī)上的mysql
服務(wù)啟動(dòng)后停止,某些服務(wù)在未由其他服務(wù)或程序使用時(shí)將自動(dòng)停止
文章目錄
- `Mysql`啟動(dòng)報(bào)錯(cuò):本地計(jì)算機(jī)上的`mysql`服務(wù)啟動(dòng)后停止,某些服務(wù)在未由其他服務(wù)或程序使用時(shí)將自動(dòng)停止
- 1. 備份`mysql`的`data`文件夾
- 2. 重新構(gòu)建 `Windows`的`Mysql` 服務(wù)
- 2.1 管理員權(quán)限進(jìn)入`CMD`
- 2.2 刪除 `Mysql` 服務(wù)
- 3. 不指定配置文件導(dǎo)致的后果
- 3.1 新創(chuàng)建了`Mysql`服務(wù)
- 3.2 新建用戶
- 3.3 無法生效配置文件
- 4. 總結(jié)
- 5. 參考博客
背景:在修改了
my.ini
配置之后,重啟Windows
的Mysql
服務(wù)后,遇到的mysql
啟動(dòng)報(bào)錯(cuò)。
1. 備份mysql
的data
文件夾
Tips:
如果你是選擇默認(rèn)安裝,一般Mysql
的data
文件夾路徑在C:\ProgramData\MySQL\MySQL Server 8.0\Data
Mysql
默認(rèn)安裝時(shí),會(huì)有兩個(gè)關(guān)鍵路徑 (C:\ProgramData\MySQL\MySQL Server 8.0
和C:\Program Files\MySQL\MySQL Server 8.0
)- 這兩個(gè)路徑 前者是 數(shù)據(jù)庫(kù)數(shù)據(jù),配置文件,數(shù)據(jù)庫(kù)日志 等
Mysql
核心數(shù)據(jù)存儲(chǔ)地,后者是Mysql
軟件本身,即提供服務(wù)的程序。- 如果你不想要丟失核心數(shù)據(jù),請(qǐng)一定要備份好
data
文件夾
如果你沒有做好 mysql
的data
文件夾備份操作,請(qǐng)不要執(zhí)行以下操作
2. 重新構(gòu)建 Windows
的Mysql
服務(wù)
2.1 管理員權(quán)限進(jìn)入CMD
? Step-1:
按 Win + s
,輸入cmd
? Step-2:
右鍵 命令提示符,選擇以管理員身份運(yùn)行
? Step-3:
檢驗(yàn)是否是以 C:\Windows\system32>
開頭,如果是,則說明以管理員權(quán)限身份運(yùn)行打開成功
2.2 刪除 Mysql
服務(wù)
? Step-1:
刪除 MySQL
服務(wù)
$ mysqld --remove mysql
? Step-2:
重新安裝 Mysql
服務(wù),并指定配置文件路徑
$ mysqld --install MySQL80 --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini"
? Step-3
:如果出現(xiàn)重復(fù)提示可以在 Windows
中注銷該服務(wù)
? 重復(fù)提示
?
? 刪除服務(wù)
$ sc delete mysql
? Step-4:
再次執(zhí)行重新安裝 Mysql
服務(wù),并指定配置文件路徑
得到結(jié)果
? Step-5:
按 win + s
輸入 服務(wù)
? Step-6:
找到剛剛注冊(cè)的 MySQL81
服務(wù)
現(xiàn)在你就可以隨意啟動(dòng)這個(gè)服務(wù)了,他繼承了之前數(shù)據(jù)庫(kù)的一切配置,此時(shí),打開 navicat
進(jìn)行連接,一切數(shù)據(jù)還在。
檢查配置文件路徑
$ SELECT variable_path,COUNT(*) FROM performance_schema.variables_info WHERE variable_path<>'' GROUP BY variable_path;
好!是想要的配置文件路徑,沒跑了!
3. 不指定配置文件導(dǎo)致的后果
Tips:
以下篇幅都是在記錄坑點(diǎn),或許你有一天也會(huì)遇到,希望本博客能夠給你帶來思路的啟迪;
3.1 新創(chuàng)建了Mysql
服務(wù)
? 如果你執(zhí)行了如下操作:
Tips:
初看沒有什么問題,Windows
會(huì)告訴你正確的結(jié)果,但是Mysql
會(huì)給你在路徑C:\Program Files\MySQL\MySQL Server 8.0
下,建立一個(gè)data
文件夾
? 這相當(dāng)于新建了一個(gè) MySQL
的數(shù)據(jù)存放地址,也就意味著,你之前工作過的數(shù)據(jù)庫(kù)和表找不到了,這是一個(gè)全新的數(shù)據(jù)庫(kù),不得不說,這是一個(gè)沮喪的事情,但是更加糟糕的還不在于此。
3.2 新建用戶
? 這時(shí),你進(jìn)入MySQL
數(shù)據(jù)庫(kù)輸入以下指令
$ mysql -uroot -p
? 系統(tǒng)提示你輸入密碼,你會(huì)發(fā)現(xiàn),你之前保存的密碼已經(jīng)不見了,這個(gè)時(shí)候相當(dāng)于一個(gè)新的用戶,你可以直接不輸入密碼按Enter
即可進(jìn)入;
?
? 但是使用第三方軟件時(shí),必須要求數(shù)據(jù)庫(kù)有密碼,會(huì)出現(xiàn) Access denied for user 'root'@'localhost' (using password:YES)
報(bào)錯(cuò),于是我們必須設(shè)置 MySQL
密碼。
$ set passeord for root@localhost=password('root'); (MySQL 5.7 可以用)
? 如果你是 8.0 版本及以上用戶,會(huì)提示報(bào)錯(cuò) ERROR 1064 (42000) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘password(‘root’)’ at line 1
,可以使用以下指令解決問題。
$ ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
? 刷新權(quán)限(注意結(jié)尾有分號(hào)),然后回車。
$ flush privileges;
? 測(cè)試是否成功:輸入之前第一步輸入過的 mysql -uroot -p
,并回車,這個(gè)時(shí)候一樣會(huì)要求我們輸入密碼,接下來我們輸入 剛剛設(shè)置好的密碼,并回車,出現(xiàn)下圖結(jié)果即為成功。
?
Tips:
這個(gè)時(shí)候你很疑惑,為什么這個(gè)流程像是Mysql
卸載了重裝??但是這個(gè)好像比重裝更加糟糕,接下來的篇章你會(huì)看到問題所在。
3.3 無法生效配置文件
當(dāng)你想要檢查一下剛剛新建的用戶使用的數(shù)據(jù)庫(kù)文件路徑的時(shí)候,最糟糕的事情來了,你無法讓更改的 my.ini
配置文件生效。
使用指令
$ show variables like '%datadir%'
你會(huì)發(fā)現(xiàn)默認(rèn)數(shù)據(jù)存儲(chǔ)路徑如下,但是我記得我以前的數(shù)據(jù)庫(kù)存儲(chǔ)路徑在 C:\ProgramData\MySQL\MySQL Server 8.0
,同時(shí)我的配置文件也在 C:\ProgramData\MySQL\MySQL Server 8.0
路徑下。
這個(gè)時(shí)候,沖突發(fā)生了!
當(dāng)你修改配置文件 my.ini
中的 datadir
想要重新自定義數(shù)據(jù)庫(kù)存儲(chǔ)路徑時(shí),保存后,重復(fù)上述指令,你會(huì)發(fā)現(xiàn),你的修改沒有變化!
這時(shí)應(yīng)該意識(shí)到 是不是加載錯(cuò)誤了 my.ini
配置文件?
使用指令 MySQL8.0
專用指令,如果是其他版本的 MySQL
建議百度搜索,如何檢查MySQL
加載的配置文件路徑。
$ mysql> SELECT variable_path,COUNT(*) FROM performance_schema.variables_info WHERE variable_path<>'' GROUP BY variable_path;
你會(huì)得到
$ Empty set (0.00 sec)
這麻煩就大了,說明**你沒有配置。。**這意味著你不知道他的默認(rèn)值,無法修改配置文件,導(dǎo)致你幾乎喪失權(quán)限。如果你是一個(gè)普通的開發(fā)者,只是想要完成任務(wù),這可以忍受,如果你是一個(gè)專業(yè)的開發(fā)者,那么幾乎完全無法忍受不能操作配置文件,這給程序帶來了極大的不確定性。
如果是正常的,應(yīng)該會(huì)得到如下正確示例
Tips:
無法修改配置文件意味著什么?
- 意味著
MySQL
的某些限制你無法修改,比如最短響應(yīng)時(shí)間- 意味著你無法根據(jù)個(gè)人程序?qū)?code>MySQL 進(jìn)行個(gè)人化改造
4. 總結(jié)
對(duì)于本次事件,我個(gè)人的感覺是 `Windows` 的某些服務(wù)損壞了,并不是 `Mysql` 的問題,但是`windows` 幾乎能夠讓你找不出錯(cuò)誤來,只能說看了很多解決方案,被坑了,不能簡(jiǎn)單的進(jìn)行 `mysqld --initialize` 這個(gè)會(huì)坑死人的。
? 收獲:
- 至少收獲了在
Windows
中Mysql
的配置路徑區(qū)別 Windows
刪除服務(wù),注冊(cè)服務(wù)Mysql
數(shù)據(jù)庫(kù)data
文件夾重定向Mysql
在windows
的配置檢查
5. 參考博客
-
【解決】mysql本地計(jì)算機(jī)上的MySQL服務(wù)啟動(dòng)后停止。某些服務(wù)在未由其他服務(wù)或程序使用時(shí)將自動(dòng)停止_本地計(jì)算機(jī) 上的 mysql 服務(wù)啟動(dòng)后停止。某些服務(wù)在未由其他服務(wù)或程序使用時(shí)將自-CSDN博客
-
完美解決MySQL ERROR:Access denied for user
root
@localhost
(using password:YES)_access denied for user ‘root’@‘localhost’ (using p-CSDN博客 -
【完美解決】mysql啟動(dòng)不了:本地計(jì)算機(jī)上的MySQL服務(wù)啟動(dòng)后停止_本地計(jì)算機(jī)上的mysql服務(wù)啟動(dòng)后停止 某些-CSDN博客
-
windows 本地安裝的mysql 查找配置文件,my.cnf,my.ini位置的方法-CSDN博客
-
mysql 數(shù)據(jù)文件夾 data 的設(shè)置與移動(dòng)【windows | 實(shí)測(cè)】 - 知乎 (zhihu.com)
-
我無法在%ProgramData中找到我的MySQL文件夾%ProgramData% - VoidCC
-
(7 封私信 / 80 條消息) 有沒有大佬知道ProgramData文件里沒有MySQL文件是怎么回事啊? - 知乎 (zhihu.com)
-
安裝MySQL遇到的一下問題和細(xì)節(jié)_為什么program files和programdata中都有mysql-CSDN博客
-
關(guān)于修改MySQL數(shù)據(jù)存儲(chǔ)路徑,超詳細(xì)!!!_更改mysql數(shù)據(jù)庫(kù)存儲(chǔ)位置-CSDN博客
-
MySQL如何找到使用的是哪個(gè)配置文件?-騰訊云開發(fā)者社區(qū)-騰訊云 (tencent.com)
-
新特性解讀 | MySQL 8.0 輕松改配置,云上友好 - MySQL分布式中間件DBLE - SegmentFault 思否
-
Windows環(huán)境下手動(dòng)啟動(dòng)、停止MySQL服務(wù). 命令行啟動(dòng)、停止MySQL服務(wù). 查找MySQL安裝目錄._啟動(dòng)與停止mysql的命令是是-CSDN博客)
-
MySQL 服務(wù)正在啟動(dòng) . MySQL 服務(wù)無法啟動(dòng) 服務(wù)沒有報(bào)告任何錯(cuò)誤 解決方案_mysql 服務(wù)正在啟動(dòng) . mysql 服務(wù)無法啟動(dòng)。 服務(wù)沒有報(bào)告任何錯(cuò)誤。-CSDN博客
-
修改MySql8.0的數(shù)據(jù)庫(kù)默認(rèn)存儲(chǔ)位置_mysql8.0 數(shù)據(jù)庫(kù)指定數(shù)據(jù)庫(kù)存放位置怎么設(shè)置-CSDN博客
-
net start mysql MySQL 服務(wù)正在啟動(dòng) . MySQL 服務(wù)無法啟動(dòng)。 服務(wù)沒有報(bào)告任何錯(cuò)誤。_net start mysql無法啟動(dòng)-CSDN博客
-
關(guān)于修改MySQL數(shù)據(jù)存儲(chǔ)路徑,超詳細(xì)!!!_mysql_Wang_JR1229-GitCode 開源社區(qū) (csdn.net)
-
mysql 查找配置文件位置方法_查看mysql配置文件位置-CSDN博客
-
mysql啟動(dòng)報(bào)錯(cuò):本地計(jì)算機(jī)上的mysql服務(wù)啟動(dòng)后停止,某些服務(wù)在未由其他服務(wù)或程序使用時(shí)將自動(dòng)停止_本地計(jì)算機(jī)上的mysql服務(wù)啟動(dòng)后停止某些服務(wù)在未有其他服務(wù)或程序使用時(shí)將自動(dòng)停止-CSDN博客
-
在 Windows 系統(tǒng)中刪除「服務(wù)」的 4 種方法_windows卸載任務(wù)管理器的服務(wù)-CSDN博客
-
windows server mysql錯(cuò)誤1053 服務(wù)沒有及時(shí)響應(yīng)啟動(dòng)或控制請(qǐng)求_mob64ca12d5604e的技術(shù)博客_51CTO博客
-
如何解決本地計(jì)算機(jī)上的mysql服務(wù)啟動(dòng)停止后,某些服務(wù)在未由其他服務(wù)或程序使用時(shí)將自動(dòng)停止(如果你在網(wǎng)上找了方法都不行,可以試試這個(gè))-CSDN博客