首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

無法遠端連線 MySQL?三種解決方案徹底搞定 Host Not Allowed

     編輯:MySQL 資料庫相關知識

MySQL 遠端連線被拒「Host not allowed」三大解法

現象

Host '60-248-32-13.HINET-IP.hinet.net' is not allowed to connect to this MySQL server

方法一:GRANT 明確授權指定 IP/主機名(標準做法)

mysql -u root -p
USE mysql;
-- 授權特定資料庫、特定 IP
GRANT SELECT,INSERT,UPDATE,DELETE ON db_name.* TO 'username'@'60-248-32-13.HINET-IP.hinet.net' IDENTIFIED BY 'password';

-- 或授權所有權限
UPDATE user SET 
  Select_priv='Y', Insert_priv='Y', Update_priv='Y', Delete_priv='Y',
  Create_priv='Y', Drop_priv='Y', Reload_priv='Y', Shutdown_priv='Y',
  Process_priv='Y', File_priv='Y', Grant_priv='Y', References_priv='Y',
  Index_priv='Y', Alter_priv='Y', Show_db_priv='Y', Super_priv='Y',
  Create_tmp_table_priv='Y', Lock_tables_priv='Y', Execute_priv='Y',
  Repl_slave_priv='Y', Repl_client_priv='Y'
WHERE User='username';
FLUSH PRIVILEGES;

方法二:建立通用遠端帳號(開發/測試環境適用)

-- 1. 建立帳號允許任意主機(%)
GRANT SELECT,UPDATE,INSERT,DELETE ON *.* TO 'xuys'@'%' IDENTIFIED BY 'xuys1234';

-- 2. 確認 user 表
USE mysql;
SELECT Host, User, Password FROM user;

-- 3. 重新載入權限(必要步驟)
mysqladmin -u root -p reload
# 或服務重啟
/etc/rc.d/init.d/mysqld restart

-- 4. 若仍失敗,檢查 db 表是否有對應記錄
INSERT INTO db VALUES ('192.168.88.234', '%', 'xuys', 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
UPDATE db SET Host='%' WHERE User='xuys';
# 再次 reload

方法三:phpMyAdmin 連線遠端資料庫設定

-- 1. 遠端建立帳號
GRANT SELECT,UPDATE,INSERT,DELETE ON *.* TO 'sss'@'%' IDENTIFIED BY 'sss';
UPDATE user SET Host='%' WHERE User='sss';
FLUSH PRIVILEGES;

-- 2. 重啟 MySQL
mysqladmin -u root -p reload
mysqladmin -u root -p shutdown
/etc/rc.d/init.d/mysqld start

-- 3. 修改 phpMyAdmin config.inc.php
$cfg['Servers'][$i]['host'] = '遠端IP';
$cfg['Servers'][$i]['user'] = 'sss';
$cfg['Servers'][$i]['password'] = 'sss密碼';

-- 注意:GRANT ALL PRIVILEGES 不包含 GRANT 權限,需額外:
UPDATE user SET Grant_priv='Y' WHERE User='sss';

核心原則

  • **生產環境嚴禁使用 %**,務必限定具體 IP/網段
  • 權限變更後**必須 FLUSH PRIVILEGES 或 reload** 生效
  • 防火牆/安全組需同步開放 3306 埠
  • 啟用 SSL 加密傳輸保護資料機密性
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved