Can't connect to local MySQL server on 192.168.xxx.xxx (13)

September 3 2010, 10:00am

新しく立てたサーバー(CentOS 5.3)でエラーが出て、ハマったのでメモ。

ローカルのMySQLには問題無く接続できて、外部のMySQLサーバーにも

mysql -h 192.168.xxx.xxx -u root -p

と、コマンドでは繋がるけど、Apache + PHPを経由すると、

Can't connect to local MySQL server on 192.168.xxx.xxx (13)

というエラーが出る。

この時点でSELinuxの設定を疑うべきでした。意味もなくphp.iniのmysql.default_socketを設定したりmy.cnfを弄ったり、半日ほど迷走しておりました。

で、一応、ポリシーをアップデートしたりしつつ

yum -y update selinux-policy-targeted

最終的にhttpdで外部ネットワークへの接続を許可していないだけでした。

setsebool -P httpd_can_network_connect 1

このへんのSELinuxの設定って、最初に1回設定したら、弄らないことが多いのですぐ忘れます。

Your favourite external commenting service goes here! I recommend http://www.disqus.com