上一篇文章講解了重置 MySQL 的密碼,有同學(xué)反饋無法程連接到數(shù)據(jù)庫,這是因為 MySQL 安裝完成后只支持 localhost 訪問,我們必須設(shè)置一下才可以遠(yuǎn)程訪問,另外還有一些 MySQL 8.0 連接時的一些問題,本文也會一并進(jìn)行講解如何解決。
1.登錄MySQL
輸入您的密碼
2.選擇 mysql 數(shù)據(jù)庫
因為 mysql 數(shù)據(jù)庫中存儲了用戶信息的 user 表。
3.在 mysql 數(shù)據(jù)庫的 user 表中查看當(dāng)前 root 用戶的相關(guān)信息
select host, user, authentication_string, plugin from user;
執(zhí)行完上面的命令后會顯示一個表格
查看表格中 root 用戶的 host,默認(rèn)應(yīng)該顯示的 localhost,只支持本地訪問,不允許遠(yuǎn)程訪問。
4.授權(quán) root 用戶的所有權(quán)限并設(shè)置遠(yuǎn)程訪問
GRANT ALL ON *.* TO 'root'@'%';
GRANT ALL ON 表示所有權(quán)限,% 表示通配所有 host,可以訪問遠(yuǎn)程。
5.刷新權(quán)限
所有操作后,應(yīng)執(zhí)行
6.查看 root 用戶的 host
再次執(zhí)行步驟 2,你會發(fā)現(xiàn) root 用戶的 host 已經(jīng)變成 %,說明我們的修改已經(jīng)成功,可以遠(yuǎn)程訪問了。
7.訪問數(shù)據(jù)庫
遠(yuǎn)程訪問數(shù)據(jù)庫的可視化工具比較多如:Navicat、SQLyog、MySQL workbench 等,我這里使用 Navicat
輸入訪問的 host 和密碼,報 2059 錯誤,這是因為 MySql8.0 版本 和 5.0 的加密規(guī)則不一樣,而現(xiàn)在的可視化工具只支持舊的加密方式。
此問題有兩種方法,一種是更新 Navicat 驅(qū)動來解決此問題,另一種是將 MySQL 用戶登錄的加密規(guī)則修改為 mysql_native_password,第一種方法我試過了沒有起作用,我這里采用第二種方法。
8.修改加密規(guī)則
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
password 為你當(dāng)前密碼。
9.更新 root 用戶密碼
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
password 為你新設(shè)置的密碼。
10.刷新權(quán)限
OK,設(shè)置完成,再次使用 Navicat 連接數(shù)據(jù)庫
到此這篇關(guān)于MySQL8.0設(shè)置遠(yuǎn)程訪問權(quán)限的方法的文章就介紹到這了,更多相關(guān)MySQL8.0 遠(yuǎn)程訪問權(quán)限內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 淺談MySQL user權(quán)限表
- Mysql 用戶權(quán)限管理實現(xiàn)
- 詳解MySQL 用戶權(quán)限管理
- MySQL 權(quán)限控制細(xì)節(jié)分析
- MySQL 權(quán)限控制詳解
- mysql創(chuàng)建用戶并賦予用戶權(quán)限詳細(xì)操作教程
- Mysql修改存儲過程相關(guān)權(quán)限問題
- MySQL之權(quán)限以及設(shè)計數(shù)據(jù)庫案例講解