- ベストアンサー
PHPでMySQLに接続しようとするとエラーが発生する
- MySQLに接続しようとする際に、PHPからエラーが発生します。パスワードは正しく入力していますが、なぜエラーが発生しているのでしょうか?解決方法を教えてください。
- PHPからMySQLに接続する際にエラーが出ます。MySQLのパスワードは正しいのに、なぜエラーが発生するのか分かりません。どうすれば接続できるようになるでしょうか?
- パスワードを正しく入力したにもかかわらず、PHPからMySQLへの接続時にエラーが発生します。原因と解決方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
当方はmacをあまり使わないので確固としたことはいえませんが、 >sudo mv ./Desktop/my.cnf /etc とやっても /etc に移動してくれなかったので、手動で /etc にコピーしてしまったのがいけなかったのでしょうか? これのせいでpermission errorになっているのではないかと思います。 こちらは参照されましたでしょうか。 http://www.hi-ho.ne.jp/tsumiki/book_sup2.html mysql.sockを消してmsyqldを再起動すると良いかもしれません。
その他の回答 (1)
- wp_
- ベストアンサー率54% (132/242)
>それも、本に出ている「パスワードをミスタイプすると図のようなエラー画面になります」のと同じように。 具体的にどのようなエラーが出ているか提示していただければ回答しやすいかもしれません。 少しぐぐった限りでは http://www.r-styles.net/weblog/2007/10/macbookintel_mac_php_mysql_1.html こんなのが出ましたが。mysql.sockが正しい位置に存在し、phpが読み込める状態かどうか確認すると良いかもしれません。
補足
回答ありがとうございます。エラー表示は Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' A link to the server could not be established という具合です。ご指摘の mysql.sock について検索して調べていましたら、 /etc/my.cnfの[mysqld]→socket項目を編集する、というやり方があったので、 /etcの中の my.cnf を見てみたのですが [mysqld] default-character-set=sjis [mysql] default-character-set=sjis [mysqldump] default-character-set=sjis しかありません。もしかして、 my.cnf ファイルを本の通りに sudo mv ./Desktop/my.cnf /etc とやっても /etc に移動してくれなかったので、手動で /etc にコピーしてしまったのがいけなかったのでしょうか? 過去の記事で「Macでmy.cnfをコピー出来ない」というのがあって、回答にあった sudo mv ./Desktop/my.cnf ../../etc というのを試してみましたがうまくいきませんでした。
お礼
ご回答ありがとうございます。お礼が遅くなってしまい失礼いたしました。 いただいたアドバイスを元に、いろいろ調べながら悪戦苦闘しております。 なんとなく近づいてきているような気もしますが、恥ずかしながらまだ解決していません。 ちょっと時間がかかりそうですが、あきらめずにがんばります。 またご報告したいと思います。
補足
お礼の補足です!出来ました! いろいろ試して出来なかった末、もう一度、MySQLをダウンロードして入れ直し、 アドバイス頂いた参照ページを見ながらやってみたら今度は出来ました。 /etc/my.cnfに [mysqld] socket=/var/lib/mysql/mysql.sock [client] socket=/tmp/mysql.sock を追加し、 phpファイルにも mysql_connect("localhost:/tmp/mysql.sock","mysql","passwd") と書いてやったらうまく動いてくれました! 実はこれが解決しない間、Mac OS X 10.3にもMySQLを入れてみたのですが、すんなり動いてくれて… Mac OS X 10.4だと上のように書き足してやらないとダメなのかもしれません。 時間があいてしまいましたが、おかげ様で解決できました。ありがとうございました。