MySQL 安裝後預設僅允許本地訪問,遠程連線會被拒絕。權限控制實際存儲在 mysql 資料庫的 user 表中,修改該表的 Host 欄位即可開放遠程訪問。
GRANT ALL PRIVILEGES ON *.* TO 'shop'@'%' IDENTIFIED BY 'shopadmin';
FLUSH PRIVILEGES;
*.*:所有資料庫、所有表。'shop'@'%':用戶 shop 可從任意 IP(% 通配符)連線。% 替換為具體 IP 或主機名。FLUSH PRIVILEGES 使權限立即生效。USE mysql;
UPDATE user SET Host = '%' WHERE User = 'your_user';
FLUSH PRIVILEGES;
同理,若設為 localhost 則僅允許本地連線。
USE mysql;
SELECT Host, User, Password FROM user;
確認目標用戶的 Host 已變為 %。
資料庫層面放行後,別忘記在系統防火牆開放 3306 埠:
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT service iptables save
雲主機還需在安全組/防火牆控制台放行對應埠口。
若需完整 LNMP/Tomcat/Java 環境,可參考系列教程《CentOS 6.3 64位搭建 nginx1.3+php5.4.3+mysql5.5.25+tomcat7+jdk7 安裝》。