localhost 接続について、より具体的に説明しましょう。自分の localhost で MySQL に telnet できません。MySQL は稼働しており、Apache-SSL/PHP/MySQL サーバーで正常に動作しますが、telnet で接続できません:
telnet 127.0.0.1 3306
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection timed out
ローカルホストも同様
telnet localhost 3306
Trying 127.0.0.1...
Trying ::1...
telnet: Unable to connect to remote host: Connection timed out
Netstat は、MySQL が 3306 ポートで実行されていることを確認します。
netstat -alpent | grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 105 522804419 17231/mysqld
tcp 0 1 127.0.0.1:39268 127.0.0.1:3306 SYN_SENT 0 522915717 17433/auth
tcp 0 1 127.0.0.1:39254 127.0.0.1:3306 SYN_SENT 0 522915266 17434/auth
tcp 0 1 127.0.0.1:39250 127.0.0.1:3306 SYN_SENT 0 522915091 17432/auth
-h localhost で接続できます:
mysql -h localhost -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 106
Server version: 5.1.69-0ubuntu0.11.10.1 (Ubuntu)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> exit
Bye
しかし、-h 127.0.0.1 では接続できません:
mysql -h 127.0.0.1 -u root -p
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (110)
それでも、bind-address 127.0.01、vi /etc/mysql/my.cnf を入れました: ...
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = localhost
bind-address = 127.0.0.1
そして、MySQL を再起動しました。
/etc/init.d/mysql restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql restart
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop mysql ; start mysql. The restart(8) utility is also available.
mysql stop/waiting
mysql start/running, process 17464
IPTables ルールが空です:
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
何を確認すればいいのかわからず、Postfix が MySQL に接続できません。何をチェックすればよいか知っている人はいますか?
実際、サーバーからどのサービスにも接続できません。
telnet 127.0.0.1 80
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection timed out
telnet 127.0.0.1 443
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection timed out
私の /etc/hosts ファイル:
127.0.0.1 localhost
127.0.0.1 mail.mydomain.com
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# Auto-generated hostname. Please do not remove this comment.
205.xxx.yyy.zzz ve.uuuuuu.bbbb.cccc ve