Ubuntu 官方 MySQL 套件預設 bind-address = 127.0.0.1,僅允許本機回環連線。遠端連線需修改配置並重啟服務。
nano /etc/mysql/my.cnf (Ubuntu 20.04+ 可能在 /etc/mysql/mysql.conf.d/mysqld.cnf)[mysqld] 區段下的:bind-address = 127.0.0.1#bind-address = 127.0.0.1bind-address = 0.0.0.0 # 監聽所有介面Ctrl+O → Enter → Ctrl+Xsystemctl restart mysql# 查看監聽埠
ss -ntlp | grep 3306
# 應顯示 0.0.0.0:3306 或 :::3306
# 遠端測試連線
mysql -h -u remote_user -p
mysql> CREATE USER 'remote_user'@'%' IDENTIFIED BY 'strong_password';
mysql> GRANT ALL PRIVILEGES ON target_db.* TO 'remote_user'@'%';
mysql> FLUSH PRIVILEGES;
# UFW
ufw allow 3306/tcp
ufw reload
# iptables
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
bind-address = 0.0.0.0 + 'user'@'%' 組合。bind-address = <私有網段IP> 僅監聽內網介面。REQUIRE SSL 強制加密傳輸。skip-name-resolve 避免 DNS 反解延遲。修改 bind-address 是啟用遠端連線的前置條件,但完整的安全體系需「網路層+資料庫層+應用層」多層防護。