記錄了mysql 8.0.12 的安裝配置方法,分享給大家。
一、安裝
1.從網(wǎng)上下載MySQL8.0.12版本,下載地址
2. 下載完成后解壓
我解壓的路徑是:D:/Java/mysql-8.0.12-winx64
3. 配置文件
首先在解壓的路徑下查看是否含有my.ini的文件,如果沒(méi)有則新建一個(gè),內(nèi)容如下:
[mysqld]# 設(shè)置3306端口port=3306# 設(shè)置mysql的安裝目錄basedir=D:/Java/mysql-8.0.12-winx64# 設(shè)置mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)的存放目錄datadir=D:/Java/mysql-8.0.12-winx64/data# 允許最大連接數(shù)max_connections=200# 允許連接失敗的次數(shù)。這是為了防止有人從該主機(jī)試圖攻擊數(shù)據(jù)庫(kù)系統(tǒng)max_connect_errors=10# 服務(wù)端使用的字符集默認(rèn)為UTF8character-set-server=utf8# 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎default-storage-engine=INNODB# 默認(rèn)使用“mysql_native_password”插件認(rèn)證default_authentication_plugin=mysql_native_password[mysql]# 設(shè)置mysql客戶(hù)端默認(rèn)字符集default-character-set=utf8[client]# 設(shè)置mysql客戶(hù)端連接服務(wù)端時(shí)默認(rèn)使用的端口port=3306default-character-set=utf8
4. 數(shù)據(jù)庫(kù)配置
通過(guò)管理員權(quán)限進(jìn)入cmd(如果不是管理員權(quán)限就會(huì)出現(xiàn)問(wèn)題) ,進(jìn)入MySQL安裝目錄的bin目錄下
接著輸入mysqld --initialize --console,就會(huì)出現(xiàn)以下畫(huà)面,其中標(biāo)紅的為數(shù)據(jù)庫(kù)root用戶(hù)的初始密碼,一定要牢記,后面登錄需要用到,當(dāng)然要是不小心關(guān)掉了或者沒(méi)記住,刪掉初始化的 data目錄,再執(zhí)行一遍初始化命令又會(huì)重新生成。
再然后輸入mysqld --install安裝mysql服務(wù),輸入net start mysql啟動(dòng)服務(wù),備注:mysqld --remove是卸載MySQL服務(wù),net stop mysql是停止服務(wù)。
5. 進(jìn)入數(shù)據(jù)庫(kù)的配置
輸入mysql -u root -p后會(huì)讓你輸入密碼,密碼為前面讓你記住的密碼,輸入正確后就會(huì)出現(xiàn)如下界面,表示進(jìn)入了MySQL命令模式。
接著更改密碼,輸入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼'; 出現(xiàn)如下界面表示更改成功。
到此,MySQL8.0.12數(shù)據(jù)庫(kù)就安裝完成了。
二、數(shù)據(jù)庫(kù)相關(guān)配置
查看默認(rèn)數(shù)據(jù)庫(kù):show databases;
選擇mysql數(shù)據(jù)庫(kù):use mysql
查看默認(rèn)MySQL用戶(hù):select host, user, authentication_string, plugin from user;
創(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;
三、問(wèn)題詳解
1. MySQL8.0.12不能連接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; 。
特別說(shuō)明:網(wǎng)上說(shuō)%表示通配所有的host,但是操作時(shí)并不成功,不明白是為什么,我猜想可能與MySQL8.0版本有關(guān)系。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選