MySQL開啟遠(yuǎn)程訪問權(quán)限的完整步驟記錄
要在MySQL中開啟遠(yuǎn)程訪問權(quán)限,需完成以下步驟:
1. 登錄MySQL服務(wù)器
mysql -u root -p # 輸入root密碼進(jìn)入MySQL命令行
2. 創(chuàng)建允許遠(yuǎn)程訪問的用戶(或修改現(xiàn)有用戶)
方案1:創(chuàng)建新用戶并授權(quán)
-- 創(chuàng)建用戶('username'替換為用戶名,'password'替換為密碼,'remote_ip'替換為遠(yuǎn)程客戶端IP或'%'允許所有IP) CREATE USER 'username'@'remote_ip' IDENTIFIED BY 'password'; -- 授予權(quán)限(建議按需授權(quán),此處示例授予所有數(shù)據(jù)庫的完全權(quán)限) GRANT ALL PRIVILEGES ON *.* TO 'username'@'remote_ip' WITH GRANT OPTION; -- 刷新權(quán)限 FLUSH PRIVILEGES;
方案2:修改root用戶允許遠(yuǎn)程訪問(不推薦,存在安全風(fēng)險(xiǎn))
-- 更新root用戶的host為'%'(允許任意IP) UPDATE mysql.user SET Host='%' WHERE User='root' AND Host='localhost'; -- 刷新權(quán)限 FLUSH PRIVILEGES;
3. 修改MySQL配置文件
找到配置文件:
Linux:
/etc/mysql/mysql.conf.d/mysqld.cnf
或/etc/my.cnf
Windows:
C:\ProgramData\MySQL\MySQL Server X.X\my.ini
修改配置:
[mysqld] bind-address = 0.0.0.0 # 允許所有IP連接(默認(rèn)值為127.0.0.1,僅限本地)
4. 重啟MySQL服務(wù)
Linux:
sudo systemctl restart mysql # Ubuntu/Debian sudo systemctl restart mysqld # CentOS/RHEL
Windows:
通過服務(wù)管理器重啟 "MySQLXX" 服務(wù)。
5. 開放防火墻端口(默認(rèn)3306)
Linux (ufw):
sudo ufw allow 3306/tcp sudo ufw reload
Linux (firewalld):
sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload
Windows:
控制面板 → Windows Defender 防火墻 → 高級(jí)設(shè)置 → 入站規(guī)則 → 新建規(guī)則(端口3306)。
6. 驗(yàn)證遠(yuǎn)程連接
# 從另一臺(tái)機(jī)器測試連接(替換IP、用戶名、密碼) mysql -h <mysql_server_ip> -u username -p
常見問題排查
1. 錯(cuò)誤:ERROR 2003 (HY000): Can't connect to MySQL server
原因:防火墻未放行端口或MySQL未監(jiān)聽外網(wǎng)。
解決:
# 檢查端口監(jiān)聽狀態(tài) netstat -tuln | grep 3306 # 應(yīng)顯示:0.0.0.0:3306 或 :::3306
2. 錯(cuò)誤:ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed
原因:用戶權(quán)限未正確配置。
解決:
-- 檢查用戶權(quán)限 SELECT Host, User FROM mysql.user; -- 確保目標(biāo)IP或'%'存在授權(quán)記錄
3. 錯(cuò)誤:ERROR 1045 (28000): Access denied
原因:密碼錯(cuò)誤或用戶無權(quán)限。
解決:確認(rèn)用戶名、密碼及授權(quán)IP是否匹配。
安全建議
最小權(quán)限原則:按需授予權(quán)限(如
SELECT, INSERT
而非ALL PRIVILEGES
)。限制訪問IP:避免使用
'%'
,指定具體IP或網(wǎng)段。啟用SSL加密(可選):
ALTER USER 'username'@'remote_ip' REQUIRE SSL;
通過以上步驟,即可安全地開啟MySQL遠(yuǎn)程訪問權(quán)限。
總結(jié)
到此這篇關(guān)于MySQL開啟遠(yuǎn)程訪問權(quán)限的文章就介紹到這了,更多相關(guān)MySQL開啟遠(yuǎn)程訪問權(quán)限內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Windows版mysql?8.0.28?安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Windows版mysql?8.0.28?安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06mysql存儲(chǔ)引擎和數(shù)據(jù)類型(二)
這篇文章主要為大家詳細(xì)介紹了mysql存儲(chǔ)引擎和數(shù)據(jù)類型第二篇,感興趣的小伙伴們可以參考一下2016-08-08MySQL5綠色版windows下安裝總結(jié)(推薦)
這篇文章主要介紹了MySQL5綠色版windows下安裝總結(jié),需要的朋友可以參考下2017-03-03在MySQL中創(chuàng)建帶有IN和OUT參數(shù)的存儲(chǔ)過程的方法
這篇文章主要介紹了在MySQL中創(chuàng)建帶有IN和OUT參數(shù)的存儲(chǔ)過程的方法,在一定程度上簡化了操作,需要的朋友可以參考下2015-06-06Windows下MySQL日志基本的查看以及導(dǎo)入導(dǎo)出用法教程
這篇文章主要介紹了Windows下MySQL日志基本的查看以及導(dǎo)入導(dǎo)出用法教程,需要的朋友可以參考下2015-11-11mysql 卡死 大部分線程長時(shí)間處于sending data的狀態(tài)
首先說明一下,這是個(gè)無頭的案子,雖然問題貌似解決了,不過到現(xiàn)在我也沒有答案,只是把這個(gè)問題拿出來晾晾2008-11-11