• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpからパスワードを入れ、MySQLに接続しようとするとエラーになります)

PHPでMySQLに接続しようとするとエラーが発生する

このQ&Aのポイント
  • MySQLに接続しようとする際に、PHPからエラーが発生します。パスワードは正しく入力していますが、なぜエラーが発生しているのでしょうか?解決方法を教えてください。
  • PHPからMySQLに接続する際にエラーが出ます。MySQLのパスワードは正しいのに、なぜエラーが発生するのか分かりません。どうすれば接続できるようになるでしょうか?
  • パスワードを正しく入力したにもかかわらず、PHPからMySQLへの接続時にエラーが発生します。原因と解決方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • wp_
  • ベストアンサー率54% (132/242)
回答No.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を再起動すると良いかもしれません。

deltan-go
質問者

お礼

ご回答ありがとうございます。お礼が遅くなってしまい失礼いたしました。 いただいたアドバイスを元に、いろいろ調べながら悪戦苦闘しております。 なんとなく近づいてきているような気もしますが、恥ずかしながらまだ解決していません。 ちょっと時間がかかりそうですが、あきらめずにがんばります。 またご報告したいと思います。

deltan-go
質問者

補足

お礼の補足です!出来ました! いろいろ試して出来なかった末、もう一度、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だと上のように書き足してやらないとダメなのかもしれません。 時間があいてしまいましたが、おかげ様で解決できました。ありがとうございました。

その他の回答 (1)

  • wp_
  • ベストアンサー率54% (132/242)
回答No.1

>それも、本に出ている「パスワードをミスタイプすると図のようなエラー画面になります」のと同じように。 具体的にどのようなエラーが出ているか提示していただければ回答しやすいかもしれません。 少しぐぐった限りでは http://www.r-styles.net/weblog/2007/10/macbookintel_mac_php_mysql_1.html こんなのが出ましたが。mysql.sockが正しい位置に存在し、phpが読み込める状態かどうか確認すると良いかもしれません。

deltan-go
質問者

補足

回答ありがとうございます。エラー表示は 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 というのを試してみましたがうまくいきませんでした。

関連するQ&A