Windows 安裝mysql 8.0 &采坑總結(jié)

記錄個(gè)人安裝Mysql8.0.13的過(guò)程,以及踩過(guò)的坑
一、安裝
1.從網(wǎng)上下載MySQL8.0.12版本,[下載地址](https://dev.mysql.com/downloads/mysql/)
將下載的文件解壓,我解壓的路徑是:C:\app\mysql-8.0.13-winx64

2.配置系統(tǒng)環(huán)境變量

image.png

3. 配置文件
首先在解壓的路徑下查看是否含有my.ini的文件,如果沒(méi)有則新建一個(gè),內(nèi)容如下:

[mysql]
# 設(shè)置mysql客戶(hù)端默認(rèn)字符集
default-character-set=utf8 
[mysqld]
#設(shè)置3306端口
port = 3306 
# 設(shè)置mysql的安裝目錄
basedir=C:/app/mysql-8.0.13-winx64
# 設(shè)置mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)的存放目錄
datadir=C:/app/mysql-8.0.13-winx64/data
# 允許最大連接數(shù)
max_connections=500
default_authentication_plugin=mysql_native_password
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8
# 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎
default-storage-engine=INNODB

4. 數(shù)據(jù)庫(kù)配置
通過(guò)管理員權(quán)限進(jìn)入cmd(如果不是管理員權(quán)限就會(huì)出現(xiàn)問(wèn)題) ,進(jìn)入MySQL安裝目錄的bin目錄下,并執(zhí)行安裝命令mysqld --initialize --console,就會(huì)出現(xiàn)以下畫(huà)面,其中標(biāo)紅的為數(shù)據(jù)庫(kù)root用戶(hù)的初始密碼,一定要牢記,后面登錄需要用到,當(dāng)然要是不小心關(guān)掉了或者沒(méi)記住,刪掉初始化的 data目錄,再執(zhí)行一遍初始化命令又會(huì)重新生成。

image.png

此處坑點(diǎn):提示“找不到msvcp140.dll”* ,解決方案見(jiàn)采坑記錄。
再然后輸入mysqld --install安裝mysql服務(wù),輸入net start mysql啟動(dòng)服務(wù),備注:mysqld --remove是卸載MySQL服務(wù),net stop mysql是停止服務(wù)。

image.png

5. 進(jìn)入數(shù)據(jù)庫(kù)的配置
輸入mysql -u root -p后會(huì)讓你輸入密碼,密碼為前面讓你記住的密碼,輸入正確后就會(huì)出現(xiàn)如下界面,表示進(jìn)入了MySQL命令模式。

image.png

接著更改密碼,輸入ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密碼'; 出現(xiàn)如下界面表示更改成功。


image.png

此處如果提示You must reset your password using ALTER USER...則需要輸入

SET PASSWORD = '新密碼';

到此,MySQL8.0.13數(shù)據(jù)庫(kù)就安裝完成了。
創(chuàng)建新用戶(hù):

CREATE USER '用戶(hù)名'@'host名稱(chēng)' IDENTIFIED WITH mysql_native_password BY '密碼';

給新用戶(hù)授權(quán):

GRANT ALL PRIVILEGES ON *.* TO '用戶(hù)名'@'host名稱(chēng)';

刷新權(quán)限:

FLUSH PRIVILEGES;

采坑記錄
1.提示“找不到msvcp140.dll
是沒(méi)有安裝VC++2015版運(yùn)行庫(kù)導(dǎo)致的(Microsoft Visual C++ 2015 Redistributable),下載地址https://www.microsoft.com/en-us/download/details.aspx?id=53587。點(diǎn)擊download里面有兩個(gè)exe文件,一個(gè)64位的一個(gè)32位的。下載安裝之后,成功解決問(wèn)題

2.不能連接Navicat
原因:MySQL8.0與MySQL5.0所采用的加密方式規(guī)則不一樣,所以導(dǎo)致 Navicat打不開(kāi)??赏ㄟ^(guò)select host, user, authentication_string, plugin from user;查看密碼的規(guī)則。

如上圖,plugin這一列就是對(duì)應(yīng)用戶(hù)的加密規(guī)則,可以看到我的root用戶(hù)的加密規(guī)則是:mysql_native_password,這是因?yàn)槲乙呀?jīng)設(shè)置過(guò)了,默認(rèn)的是:caching_sha2_password,所以我們只需要將默認(rèn)的caching_sha2_password改為mysql_native_password即可。

解決方案:輸入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';即可修改root用戶(hù)的加密規(guī)則以及密碼。

2. 授權(quán)出錯(cuò),顯示You are not allowed to create a user with GRANT
原因:在網(wǎng)上有很多教程說(shuō)當(dāng)出現(xiàn)The user specified as a definer ('root'@'%') does not exist時(shí)表示root用戶(hù)權(quán)限不足,只需要執(zhí)行GRANT ALL ON . TO 'root'@'%';就可以了,但是往往又會(huì)出現(xiàn)You are not allowed to create a user with GRANT的錯(cuò)誤提示。這是因?yàn)?strong>GRANT ALL ON . TO 'root'@'%';這條語(yǔ)句中@'%'中的百分號(hào)其實(shí)是root用戶(hù)對(duì)應(yīng)host的名稱(chēng),很多人并沒(méi)有注意到他的root用戶(hù)對(duì)應(yīng)的其實(shí)是localhost,直接就執(zhí)行了上面的語(yǔ)句,所以才會(huì)報(bào)錯(cuò)。

解決方案:只要將GRANT ALL ON . TO 'root'@'%';中的%改為對(duì)應(yīng)的host名稱(chēng)即可,最后還要刷新一下權(quán)限FLUSH PRIVILEGES; **。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容