首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Ubuntu 下 MySQL 配置遠程訪問完整步驟

     編輯:MySQL 綜合教學

Ubuntu 下 MySQL 配置遠程訪問完整步驟

Ubuntu 安裝 MySQL 後預設僅允許本地連接(bind-address=127.0.0.1)。生產環境常需開放遠程訪問以便應用服務器、BI 工具、運維管理連接。本文記錄標準四步驟配置流程。

步驟 1:創建遠程訪問賬號

mysql -u root -p
-- 登入後執行:
CREATE USER 'custom'@'%.example.com' IDENTIFIED BY 'user_password';
-- 或允許任意 IP(僅內網/受信環境)
CREATE USER 'custom'@'%' IDENTIFIED BY 'user_password';
  • % 通配符匹配任意主機
  • 建議限制具體域名/IP 段,遵循最小權限

步驟 2:授予權限

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP
ON customer.* TO 'custom'@'%';
  • 按業務需求最小化權限,避免 GRANT ALL
  • 生產環境建議單獨建立只讀/讀寫賬號分離

步驟 3:修改綁定地址

vim /etc/mysql/my.cnf
# 找到 [mysqld] 區段
# 註釋或修改 bind-address
# bind-address = 127.0.0.1
bind-address = 0.0.0.0  # 監聽所有網卡
  • 0.0.0.0 表示監聽所有網卡介面
  • 若有多張網卡,可指定具體內網 IP(如 192.168.1.100)

步驟 4:重啟服務生效

sudo service mysql restart
# 或 systemd 系統
sudo systemctl restart mysql

驗證連通性

# 客戶端測試
mysql -h  -u custom -p -D customer

# 服務端確認監聽
netstat -tlnp | grep 3306
# 應顯示 0.0.0.0:3306 或指定 IP:3306

常見問題排查

現象原因解決
Connection refusedbind-address 未改 / 防火牆阻擋檢查 my.cnf、ufw/iptables 放行 3306
Access denied賬號主機不匹配 / 密碼錯誤檢查 user 表 Host 欄位、FLUSH PRIVILEGES
SSL connection requiredMySQL 8.0+ 預設要求 SSL客戶端加 --ssl-mode=DISABLED 或配置憑證
Authentication plugincaching_sha2_password 客戶端不支援改用 mysql_native_password 或升級驅動

安全加固建議

  1. 安全組/防火牆僅放行應用服務器 IP 段
  2. 啟用 SSL/TLS 加密傳輸
  3. 定期輪換密碼,審計 mysql.user 表
  4. 關閉不需遠程的管理端口(如 33060)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved