在本地虛擬機搭建了 mysql 后,嘗試用 Navicat 遠程連接數據庫。但提示:
查了資料,可能有以下三個原因:
使用的端口是否正確
防火牆沒有開放對應端口
數據庫沒有給當前 IP 遠程訪問權限
一、使用的端口是否正確
由於用的是mysql,監聽的是 3306 端口
netstat -ntpl
二、防火牆沒有開放對應端口
2.1 查看是否有開放對應端口
firewall-cmd --list-ports
1.2 若未開放,則開放對應端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# zone 作用域
# 3306/tcp 要開放端口
# permanent 永久開放 若沒有這個參數,則防火牆重啟后失效
# 重新加載生效
firewall-cmd --reload
1.3 檢查是否成功開放
可以看到 3306端口 已經成功開放
三、沒有授予當前 IP 遠程訪問權限
# 1.先進入mysql數據庫
use mysql;
# 2.在user表中創建賬號
create user 'root'@'%' identified by 'pwd';
# 3.修改密碼(可忽略)
//ALTER USER 'root'@'10.150.32.100' IDENTIFIED WITH mysql_native_password BY 'root.123';
# 4.給創建好的賬號賦予遠程權限
grant all privileges on *.* to 'root'@'10.150.32.100' with grant option;
# 5.刷新數據庫
FLUSH PRIVILEGES;
# 6.查看數據庫中的用戶權限表
select User,authentication_string,Host from user;
原文鏈接:https://blog.csdn.net/qq_34416331/article/details/104198260