前にSendmailでお世話になったhonyoです。
その節はありがとうございました。
その後やはり接続はできないのですが、localhostで練習して少し解ってきたら
レンタルサーバー等を検討しみるつもりです。
今回は、php+MySQLの連携でつまりました。
詰まっている内容は、
【1】phpからMySQLが接続できない
【2】phpMyAdmin:2.11.7がログインできない
です。
現在の環境は下記になります。
OS:Windows XP
PHP:5.2.5
Apache:2.0.63 (Win32)
MySQL:5.0
phpMyAdmin:2.11.7
MySQLのモニター(黒いコマンドプロンプト画面)からはMySQLにアクセスできます。
rootで入門書サンプルのデータベースを作成しました。
root以外の権限をGRANT~の構文で新規ユーザーを追加し、OKと表示されたので、一度終了。
MySQLモニター(コマンド)からは、
mysql -u 新ユーザ名 -p
password:新パスワード
からログインでき、データベースも参照できる状態です。
2.11.7は最新版なので、WEBで検索してconfig.inc.phpの設定方法をその通りにやってみました。phpMyAdminの画面で「新ユーザ名」「新パスワード」でアクセスしましたが、「#2003 - サーバが応答しません」と表示されてしまいます。
また、rootでやっても同じです。
<?
$my_con = mysql_connect("localhost","新ユーザ名","新パスワード");
if ($my_con == false){
die("MySQLの接続に失敗しました");
}else{
echo "接続成功!";
}
?>
上記サンプルを実行すると、下記メッセージが表示されます。
Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10061) in C:\Program Files\Apache Group\Apache2\htdocs\7-1-1.php on line 2
MySQLの接続に失敗しました
phpinfo.phpではmysqlの項目が下記のようになっているので、それも原因かと思われますが、
phpiniで手動でlocalhost、root で設定したところで、同じです。
mysql.default_host no value no value
mysql.default_password no value no value
mysql.default_port no value no value
mysql.default_socket no value no value
mysql.default_user no value no value
どこの設定を変更すれば、よいのかわかりません。
申し訳ございませんが、教えてください。
よろしくお願いします。
ネットワーク的に接続できていません。MySQLが動いていること、MySQLがネットワーク接続できること、MySQLが使用するポートがファイアウォールでブロックされていないことを確認して下さい。
localhostの代わりに127.0.0.1を指定してみて下さい。
MySQLが使用するポートが間違っていないか確認して下さい。mysqlクライアントで「show variables like 'port';」を実行すると使用されるポートが表示されます。
DOSプロンプトで「telnet <MySQLサーバアドレス> <MySQLのポート>」(例:telnet 127.0.0.1 3306)を実行してみて下さい。成功すれば「ホストとの接続が切断されました」と出ます。失敗ならば「ホストへ接続できませんでした」と出ます。