首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

MySQL 遠程連線設定與權限授予指南

     編輯:PHP 相關知識

啟用 MySQL 遠程存取的完整步驟

預設 MySQL 僅允許 localhost 連線,需建立允許遠程主機的帳號並調整防火牆。

1. 建立遠程存取帳號

-- 允許任意 IP 連線 (生產環境建議限制具體 IP)
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'strong_password';

-- 或限制特定 IP
CREATE USER 'remote_user'@'192.168.1.%' IDENTIFIED BY 'strong_password';

2. 授予資料庫權限

GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'remote_user'@'%';
FLUSH PRIVILEGES;

3. 修改 MySQL 綁定位址

編輯 my.cnf (Linux) 或 my.ini (Windows),確保:

[mysqld]
bind-address = 0.0.0.0  # 監聽所有介面,預設可能是 127.0.0.1
# skip-networking  # 確保此行被註解

修改後重啟 MySQL 服務:systemctl restart mysqld

4. 防火牆開放 3306 埠

# firewalld
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

# iptables
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

5. PHP 連線範例

<?php
$mysqli = new mysqli('192.168.1.100', 'remote_user', 'strong_password', 'mydb', 3306);
if ($mysqli->connect_errno) {
    die('連線失敗: ' . $mysqli->connect_error);
}
echo '遠程連線成功';

安全建議

  • 嚴禁使用 root 遠程登入
  • 帳號密碼採高強度,定期輪換
  • 生產環境限制來源 IP (防火牆 + MySQL 帳號雙重限制)
  • 啟用 SSL 加密連線 (REQUIRE SSL)
  • 定期審核 mysql.user 表移除無用帳號

完成上述設定,即可安全地從應用伺服器遠程存取 MySQL 資料庫。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved