MySQLへのリモート接続を確立できません。私のPCから既存のサーバーで3306にtelnetできますが、新しいサーバーで同じことを試みると、数分間ハングしてから戻ります
# mysql -utest3 -h [server ip] -p
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '[server ip]' (110)
これがサーバーからの出力です。
# nmap -sT -O localhost -p 3306
...
PORT STATE SERVICE
3306/tcp closed mysql
...
# netstat -anp | grep mysql
tcp 0 0 [server ip]:3306 0.0.0.0:* LISTEN 6349/mysqld
unix 2 [ ACC ] STREAM LISTENING 12286 6349/mysqld /DATA/mysql/mysql.sock
# netstat -anp | grep 3306
tcp 0 0 [server ip]:3306 0.0.0.0:* LISTEN 6349/mysqld
unix 3 [ ] STREAM CONNECTED 3306 1411/audispd
# lsof -i TCP:3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 6349 mysql 10u IPv4 12285 0t0 TCP [domain]:mysql (LISTEN)
私は走っています...
OS CentOSリリース5.8(最終)mysql 5.5.28(レミ)
注:mysqlへの内部接続は正常に機能します。
IPtablesを無効にしました。ボックスには他のファイアウォールがなく、ポート80でApacheを実行し、sshは問題ありません。
このチュートリアルに従った- http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html
My.cnfでIPアドレスをバインドしました
user=mysql
bind-address = [sever ip]
port=3306
データストアのmysqlフォルダーを削除して、最初からやり直しました。
mysql_install_db --datadir=/DATA/mysql --force
次に、マニュアルに従ってすべてのユーザーを再作成しました...
http://dev.mysql.com/doc/refman/5.5/en/adding-users.html
1人のテストユーザーを作成しました
CREATE USER 'test'@'%' IDENTIFIED BY '[password]';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
だから私が見ることができるのは、ポートが実際には開いていないということだけです。他にどこを見ればいいですか?
ありがとう
# nmap -sT -O localhost -p 3306
...
PORT STATE SERVICE
3306/tcp closed mysql
...
上記のコマンドでは、mysqlがローカルホストではなく特定のIPで実行されているため、ポートが閉じています。したがって、サーバーでこのコマンドを実行すると、ポートが閉じていることが示されます。したがって、これは理にかなっています。これを機能させるには、bind-ipを値0.0.0.0に置き換える必要があります。
だから、localhostをserver-ipに置き換えて、ここに出力を投稿してください。
また、ファイアウォールを無効にしていることは知っていますが、次の2つのコマンドを手伝っていただければ幸いです。
また、mysqlで最適化を行い、変数の値を変更しましたか。はいの場合は、同じものを投稿してください。