2013-07-21 192 views
1

無法讓它正常工作。這是我到目前爲止已經完成:從遠程服務器連接到Amazon EC2上的mysql - ERROR 2003

mysql> CREATE USER 'admin'@'localhost' IDENTIFIED BY 'xxxxxx'; 
mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION; 
mysql> CREATE USER 'admin'@'%' IDENTIFIED BY 'xxxxxx'; 
mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION; 
在AWS控制檯

- > EC2 - >網絡&安全 - >安全組 - >快速啓動,1 - >入站選項卡 - >從選擇 'MYSQL'下拉 - >添加規則 - >申請

編輯/etc/my.cnf並添加bind-address,然後

sudo /etc/init.d/mysqld restart 

sudo /sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT 
sudo service iptables save 

終於從我的電腦:

[[email protected] ~]$ mysql -h xxx.xxx.xxx.xxx -u admin -p 
Enter password: 
ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (113) 

編輯: 運行netstat -lp | grep mysql(我沒有看到在輸出端口號):

tcp  0  0 *:mysql      *:*       LISTEN  -     

unix 2  [ ACC ]  STREAM  LISTENING  16003 -     /var/lib/mysql/mysql.sock 

加入/etc/my.cnf

port=3306 

現在netstat -lp | grep mysql

tcp  0  0 *:mysql      *:*       LISTEN  -     
unix 2  [ ACC ]  STREAM  LISTENING  37757 -     /var/lib/mysql/mysql.sock 

/etc/my.cnf文件:

[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
user=mysql 
port=3306 
bind-address = 0.0.0.0 
#skip-networking 
# Disabling symbolic-links is recommended to prevent assorted security risks 
symbolic-links=0 

[mysqld_safe] 
log-error=/var/log/mysqld.log 
pid-file=/var/run/mysqld/mysqld.pid 

再加上我試圖通過其他計算機連接,我無法連接,所以我想連接電腦

它不是一個問題,我得到了拒絕訪問我的telnet:

[[email protected] ~]$ telnet xxx.xxx.xxx.xxx 3306 
Trying xxx.xxx.xxx.xxx... 
telnet: connect to address xxx.xxx.xxx.xxx: No route to host 

**我也試圖解決它amazon ec2 forum

+0

運行'netstat -lp'是mysql正確在3306上偵聽? – datasage

+0

你可以看到編輯 – Nir

+0

在你的mysql配置中啓用了「skip-networking」嗎? – datasage

回答

2

解決

問題:

我在iptables的這條線

REJECT  all -- anywhere    anywhere   reject-with icmp-host-prohibited 

這行只規則追加到列表的末尾,因此拒絕抓它首先

sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT 

到解決它我需要把規則放在更高的鏈中,即使用-I開關像這樣:

sudo iptables -I INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT 
相關問題