- 更新日: 2015年4月11日
- MySQL & DB
Warning: mysql_connect() PHPからMySQL接続でsocketエラー
スポンサーリンク
PHP から MySQL にデータベース接続を行うコードを書いていたら、以下のエラーが発生してDB接続エラーになってしまった。またも、なんか socket の場所の設定ミスによるエラーだろうなあ。
1 2 3 |
Warning: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in ***** |
【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
スポンサーリンク
/tmp/mysql.sock を使って接続を試みたけど、そんなファイルはないよと警告されました。このパターン多すぎです。
— 環境 —
PHP 5.3.9
MySQL 5.6.19
php.ini の socket のパスを修正
php.ini(PHPの設定ファイル)に、PHP で MySQL 接続の際に利用する MySQL ソケット場所を設定できるのでそれを編集します。適当に phpinfo() を表示させるファイルを作成して、php.ini のパスを突き止める。
phpinfo.php
1 |
<?php phpinfo(); ?> |
このファイルをブラウザで表示させ、”Loaded Configuration File” という項目で php.ini のパスを確認できます。
php.ini の /tmp/mysql.sock の箇所を修正。
1 2 3 4 5 6 |
$ vim /path/to/php.ini mysql.default_socket="/var/lib/mysql/mysql.sock" mysqli.default_socket="/var/lib/mysql/mysql.sock" pdo_mysql.default_socket="/var/lib/mysql/mysql.sock" |
上記3箇所の /tmp/mysql.sock を、実際の mysql.sock へのパス(ここでは /var/lib/mysql/mysql.sock)に変更しました。その後、Apache と MySQL を再起動したら、Warning が出ずに無事にDB接続ができた。
スポンサーリンク
現場で使えるMySQLは長くお世話になっていて、MySQL触る人には必須の本。
>> 次の記事 : SQLite3でDBテーブルをdumpバックアップ
<< 前の記事 : phpMyAdminでMySQLをバックアップ(エクスポート)
- MySQL & DB の関連記事
- MySQLでBLOB/TEXT型のカラムにはデフォルト値を設定できない
- SQLite3でDBテーブルをdumpバックアップ
- phpMyAdminでMySQLをバックアップ(エクスポート)
- MySQLが起動しないエラー(The server quit without updating PID file)
- phpMyAdminで#2002 Cannot log in to the MySQL serverエラー
- libaio.so.1, openssl-devel がなくて mysql-server, mysql-devel をインストールできないエラー
- MySQLオプション(/etc/my.cnf)の設定例
- my.cnf の innodb_data_file_path, innodb_log_file_size 設定で MySQL が起動しなくなる場合の対処
- my.cnfで設定するMySQLオプションで重要そうなのまとめ
- MySQLのソケット場所変更、my.cnfでのsocket設定の注意点
Leave Your Message!