MySQLのsocket設定にハマる
現在進行しているプロジェクトで指定されたサーバーは、いろいろと独自な仕様になっているようで、いちいち いろんなところでつまずいてます。
1. MySQLへの接続時のsocket設定
うちのPHPの共通部品のスクリプトでMySQLに接続しようとすると
というエラーメッセージ。
MySQLの接続設定のServer名、DB名、接続ID/Passなどを確認してみたが間違ってない。
何かこのサーバ独自の設定が必要なのだろうか? と翌日サポートに聞いてみることにして、ひきつづきMTの導入作業へ。
「でもMTもMySQLへのセットアップだから、同じ感じのエラーで引っかかりそうだなぁ...」
と、おもいつつもMTのインストーラを流していると、MT4.261では MySQLの接続設定まわりで「高度な設定」というのがあった。
いつもはmt-configも手動設定してるので、いつもなら表示されない画面。
気になったのでクリックして見てみると、見慣れない「データベース・ソケット」の入力フィールドがあった。
「あれ?MTでsocket設定ってあったっけ? というか、もしやMySQLのconnectの時に、個別にsocketのpath指定ができたり?」
とおもい、調べてみたところ、できるんですね。
恥ずかしながら知りませんでした。
PHPのmysql_connectだと
みたいな書き方。
サーバ情報でsocketのpathを見て指定したところ.... つながった(w
これまでいろんなサーバーに対して、うちのPHP部品のスクリプトを設定してきましたが、こんな設定は必要ありませんでした。
逆にこの指定をしなければならないのは mysqlのサーバとPHPのmysqlクライアントでsocketの認識が違っているということなのではないか。
# なので、もしかしたらこれは仕様というより、このサーバー会社のPHPのミスコンフィグかも。
今後のためにメモしておこう。
しかしこういうところで朝の4時ごろまで時間を遣うのはツラいな(w
2. MTのHTTPProxy / HTTPNoProxy 設定
サーバから外部に接続する際にProxyが噛んでる時の追加設定。
今回のサーバでは必要でした。
mt-config.cgi に以下の1行を追記。
逆に内部サーバへのPingなどで プロキシを経由させたくない場合は HTTPNoProxy 設定。
なるほど。これもメモということで。
# ただし思った動作をしてないので、これはサーバー会社のサポートへの確認事項。
1. MySQLへの接続時のsocket設定
うちのPHPの共通部品のスクリプトでMySQLに接続しようとすると
mysql_connect(): Can't connect to local MySQL server through socket '/***/***/mysql.sock' (2) in ... phpファイル名
というエラーメッセージ。
MySQLの接続設定のServer名、DB名、接続ID/Passなどを確認してみたが間違ってない。
何かこのサーバ独自の設定が必要なのだろうか? と翌日サポートに聞いてみることにして、ひきつづきMTの導入作業へ。
「でもMTもMySQLへのセットアップだから、同じ感じのエラーで引っかかりそうだなぁ...」
と、おもいつつもMTのインストーラを流していると、MT4.261では MySQLの接続設定まわりで「高度な設定」というのがあった。
いつもはmt-configも手動設定してるので、いつもなら表示されない画面。
気になったのでクリックして見てみると、見慣れない「データベース・ソケット」の入力フィールドがあった。
「あれ?MTでsocket設定ってあったっけ? というか、もしやMySQLのconnectの時に、個別にsocketのpath指定ができたり?」
とおもい、調べてみたところ、できるんですね。
恥ずかしながら知りませんでした。
PHPのmysql_connectだと
mysql_connect("[servername]:[/path/to/socket/mysql.sock]","[mysql-id]","[mysql-pass]")
みたいな書き方。
サーバ情報でsocketのpathを見て指定したところ.... つながった(w
これまでいろんなサーバーに対して、うちのPHP部品のスクリプトを設定してきましたが、こんな設定は必要ありませんでした。
逆にこの指定をしなければならないのは mysqlのサーバとPHPのmysqlクライアントでsocketの認識が違っているということなのではないか。
# なので、もしかしたらこれは仕様というより、このサーバー会社のPHPのミスコンフィグかも。
今後のためにメモしておこう。
しかしこういうところで朝の4時ごろまで時間を遣うのはツラいな(w
2. MTのHTTPProxy / HTTPNoProxy 設定
サーバから外部に接続する際にProxyが噛んでる時の追加設定。
今回のサーバでは必要でした。
mt-config.cgi に以下の1行を追記。
HTTPProxy [プロキシサーバー名]
逆に内部サーバへのPingなどで プロキシを経由させたくない場合は HTTPNoProxy 設定。
なるほど。これもメモということで。
# ただし思った動作をしてないので、これはサーバー会社のサポートへの確認事項。
注目の商品