前言
安裝MySQL數(shù)據(jù)庫(kù)與Navicat并不算難事拙已,關(guān)鍵是怎么讓他們工作花費(fèi)了我整整一天的時(shí)間耀怜,最終才把弄好。遇到各種各樣的問(wèn)題途凫,上網(wǎng)看了大量博客,發(fā)現(xiàn)很多博客都是直接copy或者并不能非常好的解答自己遇到的問(wèn)題溢吻。這里記錄一下自己遇到的問(wèn)題和解救方案维费。
關(guān)于軟件
Navicat和MySQL直接在官網(wǎng)上下載即可,安裝也是非常的方便促王。Navicat是收費(fèi)軟件犀盟,如果覺(jué)得自己比較富裕的話可以購(gòu)買,如果想破解的話蝇狼,網(wǎng)上也有非常多的教程(P.S:這里不建議下載“綠色版”或者“完美破解版”阅畴,很有可能是流氓軟件或者是不完整功能,現(xiàn)在下載覺(jué)得可以使用迅耘,后續(xù)開發(fā)的時(shí)候就會(huì)遇到各種bug贱枣,所以推薦下載官方正版,然后破解颤专。PP.S:在這里不給出破解的方法是因?yàn)榕Ω纾平夤ぞ咴诤笃诳赡芫蜁?huì)因?yàn)楫a(chǎn)品的升級(jí)發(fā)生改變,導(dǎo)致不能皮杰栖秕,所以這里不給出破解教程春塌。)
遇到的問(wèn)題
這里只說(shuō)一下自己遇到的問(wèn)題和解決方法(不知道是不是版本問(wèn)題,反正網(wǎng)上能搜到的解決辦法我實(shí)際上都試了一遍........)
關(guān)于無(wú)法啟動(dòng)MySQL
1067:你的MySQL服務(wù)沒(méi)有打開簇捍,進(jìn)入任務(wù)管理器->服務(wù)只壳,在目錄下查看MySQL服務(wù)是否已經(jīng)開啟;如果是MySQL Developer版本的話垦写,應(yīng)該會(huì)有MySQL與MySQL80這兩個(gè)服務(wù)吕世,只要MySQL80是開啟的就代表你服務(wù)開啟成功了。
3534:這個(gè)應(yīng)該是最常見(jiàn)的錯(cuò)誤梯投∶剑可能的原因是實(shí)際上你的mysqld進(jìn)程或者其他進(jìn)程占用了端口3306况毅,將進(jìn)程kill一下就可以了,當(dāng)然這種情況出現(xiàn)的原因比較低尔艇。最普遍的可以嘗試下面的方法:
將C:\Program Files\MySQL\MySQL Server 8.0\bin
加入到環(huán)境變量path中尔许,這里的路徑可能和我不一樣,填寫你們自己的路徑终娃;
進(jìn)入C:\Program Files\MySQL\MySQL Server 8.0
,首先看是否有data文件夾
1.如果沒(méi)有data文件夾就進(jìn)入C:\Program Files\MySQL\MySQL Server 8.0\bin
目錄下味廊,shift加鼠標(biāo)右擊,點(diǎn)擊進(jìn)入命令窗口(cmd窗口)棠耕,輸入下列命令:
mysqld --install
mysqld --initialize
net start mysql
2.如果有data文件夾余佛,先將data文件夾下所有的文件清空或者移走,然后進(jìn)入C:\Program Files\MySQL\MySQL Server 8.0\bin
執(zhí)行:
mysqld -remove
mysqld --install
mysqld --initialize
net start mysql
如果還是3534窍荧,重啟電腦重新啟動(dòng)一下服務(wù)試試辉巡。因?yàn)槌霈F(xiàn)3534總體來(lái)說(shuō)就是端口被占用、服務(wù)沒(méi)有成功開啟蕊退、data文件夾出現(xiàn)了問(wèn)題郊楣、未加入path這些原因造成的。
1405:這個(gè)是最讓我頭疼的問(wèn)題瓤荔,好不容易解決了服務(wù)開啟問(wèn)題净蚤,但是無(wú)法登陸。登陸的方式為在C:\Program Files\MySQL\MySQL Server 8.0\bin
CMD窗口下輸入mysql -u root -p
然后輸入密碼登錄即可输硝,但是就是這里會(huì)出現(xiàn)1405的錯(cuò)誤今瀑,有以下兩個(gè)原因:
1.輸對(duì)了密碼,確保是正確的但卻始終報(bào)錯(cuò)点把。這個(gè)很有可能是你配置Navicat出現(xiàn)的問(wèn)題放椰,更改了加密規(guī)則,所以進(jìn)不了mysql命令窗口愉粤。這里我建議是重裝一下mysql server,因?yàn)樽顬榉奖恪?br>
2.不記得密碼了拿撩,加密方式?jīng)]有更改衣厘。首先net stop mysql
停止mysql服務(wù),然后找到my.ini文件打開進(jìn)行修改(一般會(huì)在mysql安裝目錄下C:\Program Files\MySQL\MySQL Server 8.0'压恒,但也有可能是在
C:\ProgramData\MySQL\MySQL Server 8.0下影暴,ProgramData需要打開“顯示隱藏文件的功能”) 在my.ini中的[mysqld]下加上skip_grant_tables跳過(guò)權(quán)限檢查,保存探赫。 然后登陸
mysql -u root -p`型宙,這時(shí)計(jì)時(shí)需要輸入密碼一個(gè)回車就可以正產(chǎn)登陸了,之后通過(guò)下列命令:
#將數(shù)據(jù)庫(kù)切換至mysql庫(kù)
mysql> USE mysql;
#修改密碼
mysql> UPDATE user SET password=PASSWORD(‘newpasswd’)WHERE user=’root’;
#刷新MySQL權(quán)限相關(guān)的表
mysql> flush privileges;
mysql> exit;
修改密碼成功后伦吠,將my.ini文件中加入的跳過(guò)權(quán)限語(yǔ)句刪除或加#號(hào)注釋妆兑。重啟服務(wù)魂拦,使用修改后的密碼登錄即可。
關(guān)于Navicat
如果成功解決了破解問(wèn)題搁嗓,其實(shí)Navicat遇到的問(wèn)題就非常的少芯勘,基本上只有2059錯(cuò)誤。
2059:出現(xiàn)2059這個(gè)錯(cuò)誤的原因是在mysql8之前的版本中加密規(guī)則為mysql_native_password腺逛,而在mysql8以后的加密規(guī)則為aching_sha2_password荷愕。我們可以將mysql用戶登錄的加密規(guī)則修改為mysql_native_password。
請(qǐng)確保能進(jìn)入MySQL>這個(gè)輸入命令的窗口棍矛,
第一條: ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
第二條: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
#注意此處的password為你的登陸密碼安疗,本人的操作為:
第一條: ALTER USER 'root'@'localhost' IDENTIFIED BY '123****' PASSWORD EXPIRE NEVER;
第二條: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123****';
關(guān)于刪除mysql
如果發(fā)現(xiàn)自己實(shí)在不知道為什么會(huì)出錯(cuò),各種方式都嘗試了够委,那么很有可能你在嘗試中更改了某些配置荐类,所以可以重新安裝mysql。除了利用安裝程序進(jìn)行卸載之外慨绳,還需要清除regedit注冊(cè)表中的信息掉冶,可以參照這篇博客