如何允許遠端存取 MySQL


允許遠端訪問 MySQL 需要修改 MySQL 配置文件,設置防火牆規則,以及創建具有遠程訪問權限的用戶。以下是具體步驟:

1. 修改 MySQL 配置文件

  1. 打開 MySQL 配置文件: MySQL 的配置文件通常位於 /etc/mysql/mysql.conf.d/mysqld.cnf/etc/mysql/my.cnf。打開配置文件進行編輯:
   sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  1. 允許所有 IP 地址連接: 找到 bind-address 設置,將其注釋掉或設置為 0.0.0.0,允許所有 IP 地址連接:
   #bind-address = 127.0.0.1
   bind-address = 0.0.0.0
  1. 保存並退出文件:Ctrl+O 保存文件,然後按 Ctrl+X 退出 nano 編輯器。
  2. 重啟 MySQL 服務:
   sudo systemctl restart mysql

2. 設置防火牆規則

確保你的防火牆允許 MySQL 默認端口 3306 的流量:

  1. 使用 UFW(Uncomplicated Firewall):
   sudo ufw allow 3306
  1. 重新加載防火牆配置:
   sudo ufw reload

3. 創建具有遠程訪問權限的 MySQL 用戶

  1. 連接到 MySQL: 使用 root 用戶登錄 MySQL:
   sudo mysql -u root -p
  1. 創建新用戶並授予訪問權限: 假設要創建一個名為 remote_user 的用戶,密碼為 password,並允許從任何主機訪問:
   CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password';
   GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
   FLUSH PRIVILEGES;

如果只允許特定 IP 地址訪問(例如 192.168.1.100),可以這樣設置:

   CREATE USER 'remote_user'@'192.168.1.100' IDENTIFIED BY 'password';
   GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'192.168.1.100' WITH GRANT OPTION;
   FLUSH PRIVILEGES;
  1. 退出 MySQL:
   EXIT;

4. 測試遠程連接

嘗試從遠程計算機連接到 MySQL 服務器,以確保配置正確:

mysql -u remote_user -p -h <server-ip-address>

替換 <server-ip-address> 為你的 MySQL 服務器的 IP 地址。輸入密碼後,你應該能夠連接到 MySQL。


WordPress Appliance - Powered by TurnKey Linux