「21. System Tips」の記事一覧(2 件)


2009/07/29

MySQLのsocket設定にハマる

現在進行しているプロジェクトで指定されたサーバーは、いろいろと独自な仕様になっているようで、いちいち いろんなところでつまずいてます。

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 設定。

なるほど。これもメモということで。

# ただし思った動作をしてないので、これはサーバー会社のサポートへの確認事項。

2009/02/10

コマンドラインが使えないサーバでコマンド実行

SSHやTelnetの使用が制限されているサーバを使わなければならない場合に、コマンド操作を行いたいときのメモ。

ワークアラウンドとして、スクリプトからのシステムコマンドのキックで回避できる場合あり。(*1)

今回、シンボリックリンクを張りたかったんで、perlスクリプトからコマンドを実行。

たとえば

続きを読む "コマンドラインが使えないサーバでコマンド実行" »




注目の商品


最近のコメント(Disqus)



Translation Tool



ブログ powered by TypePad
登録年月 02/2010