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