ERROR 1130 (HY000): Host '121.42.8.33' is not allowed to connect to this MySQL server
phpMyAdmin (localhost) 正常,客戶端工具遠程失敗。
USE mysql; UPDATE user SET Host = '%' WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES;
風險:Root 開放所有 IP,極度不安全。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; FLUSH PRIVILEGES;
-- 建立用戶並授權 CREATE USER 'app_user'@'%' IDENTIFIED BY 'StrongP@ssw0rd'; GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'%'; FLUSH PRIVILEGES; -- 生產環境建議限制 IP 段 CREATE USER 'app_user'@'10.0.%.%' IDENTIFIED BY 'StrongP@ssw0rd'; GRANT SELECT,INSERT,UPDATE,DELETE,EXECUTE ON app_db.* TO 'app_user'@'10.0.%.%';
| 項目 | 檢查點 |
|---|---|
| 防火牆/安全組 | 3306 埠是否放行客戶端 IP |
| MySQL 綁定地址 | bind-address = 0.0.0.0 或具體內網 IP(非 127.0.0.1) |
| skip-name-resolve | 建議開啟 skip-name-resolve=1 避免 DNS 解析延遲/失敗 |
| 密碼插件 | 8.0 預設 caching_sha2_password,舊驅動需 mysql_native_password |
| FLUSH PRIVILEGES | 修改授權表後必須執行(或重啟) |