MySQL8.0 安裝完成后出現(xiàn)無法遠(yuǎn)程鏈接的現(xiàn)象,這是因?yàn)镸ySQL8.0 只支持 localhost 訪問,我們必須設(shè)置一下才可以遠(yuǎn)程訪問。
具體設(shè)置步驟如下:
① 登錄MySQL
執(zhí)行命令為:mysql -u root -p
回車后輸入密碼
② 選擇 mysql 數(shù)據(jù)庫
執(zhí)行命令為:use mysql;
查看mysql 數(shù)據(jù)庫中存儲(chǔ)的用戶信息的 user 表。
③ 查看mysql 數(shù)據(jù)庫的 user 表中當(dāng)前 root 用戶的相關(guān)信息
執(zhí)行命令為:select host,user,authentication_string,plugin from user;
執(zhí)行完命令后顯示一個(gè)表格, root 用戶的 host默認(rèn)顯示的 localhost,說明只支持本地訪問,不允許遠(yuǎn)程訪問。
④ 更改 host 的默認(rèn)配置
執(zhí)行命令為:update user set host='%' where user='root';
⑤ 刷新
執(zhí)行命令為:flush privileges;
之前以為這樣就行了,然后呢,在用navicat進(jìn)行mysql的遠(yuǎn)程連接時(shí),出現(xiàn)了彈窗報(bào)錯(cuò):

出現(xiàn)這個(gè)原因是mysql8 之前的版本中加密規(guī)則是mysql_native_password,而在mysql8之后,加密規(guī)則是caching_sha2_password, 解決問題方法有兩種,一種是升級(jí)navicat驅(qū)動(dòng),一種是把mysql用戶登錄密碼加密規(guī)則還原成mysql_native_password. 我用是第二種方式 :
ALTER
USER
'root'@'%'
IDENTIFIED BY
'password'
PASSWORD
EXPIRE NEVER; #修改加密規(guī)則?
ALTER
USER
'root'@'%'
IDENTIFIED WITH
mysql_native_password BY
'password';#更新一下用戶的密碼
FLUSH PRIVILEGES; #刷新權(quán)限?








暫無數(shù)據(jù)