記錄了mysql 8.0.23 的安裝配置方法,分享給大家雷蹂。
一伟端、安裝
1.從網(wǎng)上下載MySQL8.0.23版本,下載地址
2. 下載完成后解壓
我解壓的路徑是:D:\Java\mysql-8.0.23-winx64
3. 配置文件
首先在解壓的路徑下查看是否含有my.ini的文件匪煌,如果沒有則新建一個责蝠,內(nèi)容如下:
[mysqld]
# 設(shè)置3306端口
port=3306
# 設(shè)置mysql的安裝目錄
basedir=D:\Java\mysql-8.0.12-winx64
# 設(shè)置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄
datadir=D:\Java\mysql-8.0.12-winx64\data
# 允許最大連接數(shù)
max_connections=200
# 允許連接失敗的次數(shù)。這是為了防止有人從該主機試圖攻擊數(shù)據(jù)庫系統(tǒng)
max_connect_errors=10
# 服務(wù)端使用的字符集默認為UTF8
character-set-server=utf8
# 創(chuàng)建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
# 默認使用“mysql_native_password”插件認證
default_authentication_plugin=mysql_native_password
[mysql]
# 設(shè)置mysql客戶端默認字符集
default-character-set=utf8
[client]
# 設(shè)置mysql客戶端連接服務(wù)端時默認使用的端口
port=3306
default-character-set=utf8
4. 數(shù)據(jù)庫配置
通過管理員權(quán)限進入cmd(如果不是管理員權(quán)限就會出現(xiàn)問題) 萎庭,進入MySQL安裝目錄的bin目錄下
接著輸入mysqld --initialize --console霜医,就會出現(xiàn)以下畫面,其中標紅的為數(shù)據(jù)庫root用戶的初始密碼驳规,一定要牢記肴敛,后面登錄需要用到,當(dāng)然要是不小心關(guān)掉了或者沒記住吗购,刪掉初始化的 data目錄医男,再執(zhí)行一遍初始化命令又會重新生成。
再然后輸入mysqld --install安裝mysql服務(wù)捻勉,輸入net start mysql啟動服務(wù)镀梭,備注:mysqld --remove是卸載MySQL服務(wù),net stop mysql是停止服務(wù)踱启。
5. 進入數(shù)據(jù)庫的配置
輸入mysql -u root -p后會讓你輸入密碼报账,密碼為前面讓你記住的密碼,輸入正確后就會出現(xiàn)如下界面埠偿,表示進入了MySQL命令模式透罢。
接著更改密碼,輸入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼'; 出現(xiàn)如下界面表示更改成功胚想。
到此琐凭,MySQL8.0.12數(shù)據(jù)庫就安裝完成了。
二浊服、數(shù)據(jù)庫相關(guān)配置
查看默認數(shù)據(jù)庫:show databases;
選擇mysql數(shù)據(jù)庫:use mysql
查看默認MySQL用戶:select host, user, authentication_string, plugin from user;
創(chuàng)建新用戶:CREATE USER '用戶名'@'host名稱' IDENTIFIED WITH mysql_native_password BY '密碼';
給新用戶授權(quán):GRANT ALL PRIVILEGES ON . TO '用戶名'@'host名稱';
刷新權(quán)限: FLUSH PRIVILEGES;
三统屈、問題詳解
1. MySQL8.0.12不能連接Navicat
原因:MySQL8.0與MySQL5.0所采用的加密方式規(guī)則不一樣,所以導(dǎo)致 Navicat打不開牙躺〕钽荆可通過select host, user, authentication_string, plugin from user;查看密碼的規(guī)則。
如上圖孽拷,plugin這一列就是對應(yīng)用戶的加密規(guī)則吨掌,可以看到我的root用戶的加密規(guī)則是:mysql_native_password,這是因為我已經(jīng)設(shè)置過了,默認的是:caching_sha2_password膜宋,所以我們只需要將默認的caching_sha2_password改為mysql_native_password即可窿侈。
解決方案:輸入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';即可修改root用戶的加密規(guī)則以及密碼。
2. 授權(quán)出錯秋茫,顯示You are not allowed to create a user with GRANT
原因:在網(wǎng)上有很多教程說當(dāng)出現(xiàn)The user specified as a definer ('root'@'%') does not exist時表示root用戶權(quán)限不足史简,只需要執(zhí)行GRANT ALL ON . TO 'root'@'%';就可以了,但是往往又會出現(xiàn)You are not allowed to create a user with GRANT的錯誤提示肛著。這是因為GRANT ALL ON . TO 'root'@'%';這條語句中@'%'中的百分號其實是root用戶對應(yīng)host的名稱圆兵,很多人并沒有注意到他的root用戶對應(yīng)的其實是localhost,直接就執(zhí)行了上面的語句枢贿,所以才會報錯殉农。
解決方案:只要將GRANT ALL ON . TO 'root'@'%';中的%改為對應(yīng)的host名稱即可,最后還要刷新一下權(quán)限**FLUSH PRIVILEGES; **局荚。
特別說明:網(wǎng)上說%表示通配所有的host超凳,但是操作時并不成功,不明白是為什么危队,我猜想可能與MySQL8.0版本有關(guān)系聪建。