プロが教えるわが家の防犯対策術!

MySQLに接続するため、コマンドラインで
>mysql -u root
と入力したのですが
ERROR 2003:Can't connect to MySQL server on 'localhost'(10061)
とエラーが出て接続できません。

また、
>mysqladmin -u root password '********'
>mysql -u root -p
もやってみたのですが、
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to MySQL server on 'localhost' (10061)'
Check that mysqld is running on localhost and that the port is 3306.
You can check this by doing 'telnet localhost 3306'
とエラーが出てしまいます。

前に同じ質問があったのですが解決されていなかったので、
再度質問させていただきました。
よろしくお願いしますm(_ _)m

OSはWindowsXPです

A 回答 (5件)

MySQLのバージョンとか、もし本を見ているなら何の本なのかとか、設定はどのようにしているとか、そういう除法がないと回答できません。



接続できない原因については、エラーメッセージからして、そもそもMySQLが起動していないものと思われます。
起動しないと(起動できるようにしない)とダメです。
恐らく、設定ファイルに間違いがあってMySQLが起動してないんでしょう。
設定ファイルを見直してみましょう。

※インストール先がC:\mysql以外の場合、後で設定ファイルの basedir でパスを指定する必要があるはずなので、そこら辺も。

もし起動しているなら、ポートがLISTENになっているか確認してみましょう。
コマンドプロンプトで
netstat -an
して、エラーメッセージに出ているポート番号10061,3306がLISTENになっているかどうか確認してみましょう。

パーソナルファイアウォールなどの設定で、ポートがふさがれている可能性もあるのかもしれませんが、色々試してみてください。

以上、随分前にMySQLを触っただけなので、最近の動向はあまり押さえてませんが、参考になれば幸いです。

この回答への補足

i_am_aliveさん 回答ありがとうございますm(_ _)m

バージョンは4.0.18でMySQLの起動はできていると思います。
(WinMySQLadminを起動して青ランプが付いている状態です)
インストール先はC:\mysqlにしてあります。
設定もまったく変更していないと思います。

あと、ポート番号も調べてみたのですが、3306はありましたが10061はありませんでした。
実行結果は下のようになっていました。
Proto Local Address Foreign Address State
・・・
TCP  0.0.0.0:3306  0.0.0.0:0    LISTENING
・・・
TCP  127.0.0.1:2611  127.0.0.1:1027    CLOSE_WAIT

1ヶ所だけCLOSEになってましたが、ここに問題があるのでしょうか?

参考にした本は「Perlプログラミング中毒」という本で、
PerlでMySQLを使う方法が載っていました。
MySQLインストールの後にrootユーザのパス設定とあって、
そこで接続できないエラーが出てしまい困ってしまいました。

すいませんが、よろしくお願いしますm(_ _)m

補足日時:2004/06/05 19:06
    • good
    • 0

>MySQLの起動の仕方はmysql\bin\winmysqladmin.exeを実行させればいいんですよね?



MySQLをインストールした時点で、「管理ツール」->「サービス」
にMysqlが追加されていて、「スタートアップの種類」は「自動」
になっていますので、Windows起動時にMySQLは起動するはずです。

「手動」にしている場合は、Winmysqladminを実行すると起動します。


また、補足ですが、(10061)はポート番号ではありませんので。
    • good
    • 1
この回答へのお礼

xjdさん 再度回答ありがとうございますm(_ _)m

やっと解決しました!
原因はInternet Securityが遮断していたからでした・・・
たまたまBackdoorにアタックされて確認してみたのがよかったみたいです(;^_^A

何度も回答していただきありがとうございました。
とても参考になりましたm(_ _)m

お礼日時:2004/06/07 23:03

>MySQLの起動の仕方はmysql\bin\winmysqladmin.exeを実行させればいいんですよね?



確かに、最初の起動はそれで良いんですが、サービスが開始されているか否かが問題です。
たとえば、↓のサイトを参考に確認してみましょう。
http://wiz.syscon.co.jp/winmysql.html

>あと、ポート番号も調べてみたのですが、3306はありましたが10061はありませんでした。

それでは、接続できません。
たとえば、

>> mysqladmin ping
>mysqladmin: connect to server at 'localhost' failed
>error: 'Can't connect to MySQL server on 'localhost' (10061)'

とあるように、ホスト名「localhost」のポート番号10061を使用して、MySQLにアクセスしようとしている訳ですが、10061が開いてない=MySQLが起動していない、ため接続できていないわけです。

もしかすると、設定を変えるか何かしたために、ポートがずれてる可能性も考えられなくはありません。
そういう設定があったかどうか忘れてしまいましたが、MySQLは起動しているけど、違うポートを開けて待っている。
コマンドの方からは、10061を使っているが、ポートが違うため、アクセスできない、とか。
そういったことも考えられるので、色々見直してみましょう。

>参考にした本は「Perlプログラミング中毒」という本で、

どうもマニアックすぎて、良書とは言えないようですね。
http://www.amazon.co.jp/exec/obidos/ASIN/4886487 …

まだ、日本MySQLユーザ会の方が良いかもしれない。
過去ログも有益だし。
http://www.mysql.gr.jp/

それと、上記サイトからもリンクされている日本語マニュアルですね。
http://dev.mysql.com/doc/mysql/ja/index.html

このマニュアルの「A.2 MySQL 使用時によくあるエラー」を見ると解決できるかもしれませんよ。
http://dev.mysql.com/doc/mysql/ja/Common_errors. …
    • good
    • 0
この回答へのお礼

i_am_aliveさん 再度回答ありがとうございますm(_ _)m

やっと解決しました!
原因はInternet Securityが遮断していたからでした・・・
たまたまBackdoorにアタックされて確認してみたのがよかったみたいです(;^_^A

何度も回答していただきありがとうございました。
とても参考になりましたm(_ _)m

お礼日時:2004/06/07 23:02

>あと環境設定PATHに追加の仕方を忘れてしまったので



マイコンピュータを右クリック->プロパティ
で設定するメニューがあります。

そもそもmysqlは動いていますか?
サービスで確認しましたか?

この回答への補足

xjdさん 再度回答ありがとうございますm(_ _)m

>そもそもmysqlは動いていますか?
>サービスで確認しましたか?
MySQLの起動の仕方はmysql\bin\winmysqladmin.exeを実行させればいいんですよね?
起動したら青ランプも付いていますし、
タスクのアイコンをクリックしてWinNTを見ると
「Stop the Service」が選べるようになっています。

その後にコマンドラインで接続しようとしても
やはり同じ結果がでました・・・

ほかにも原因があるのでしょうか?

補足日時:2004/06/05 21:55
    • good
    • 0

普段はLinux版のMySQLを使い慣れていますが、



MySQL4.0.18のWindows版をWindowsXPにインストールしてみましたが
特に問題ありませんでした。

あなたの質問・補足には書かれていませんが、

環境変数PATHにc:\mysql\bin\を追加したことと、
rootのパスワード設定はmysqladminコマンドではなく、
mysqlに接続して、setコマンドで、root@localhost に対して
パスワードを設定した事が、あなたの手順とは違うかも?


●mysqldの生存確認

h:\> mysqladmin ping

mysqld is alive


●mysqlへの接続

h:\> mysql -u root -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 4.0.18-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

この回答への補足

xjdさん 回答ありがとうございますm(_ _)m

mysqldの生存確認を行ってみたのですが、駄目のようです。

> mysqladmin ping
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to MySQL server on 'localhost' (10061)'
Check that mysqld is running on localhost and that the port is 3306.
You can check this by doing 'telnet localhost 3306'

で、mysqld is runningをしてみました。
結果は以下のようになりました。
(telnetのほうは接続できませんでした)

>mysqld is running
Can't start server: Bind on TCP/IP port: No error
040605 20:39:09 Do you a already have another mysqld server running on port: 3306 ?
040605 20:39:09 Aborting
040605 mysqld: Shutdown Complete

>環境変数PATHにc:\mysql\bin\を追加したことと、
>rootのパスワード設定はmysqladminコマンドではなく、
>mysqlに接続して、setコマンドで、root@localhost に対して
>パスワードを設定した事が、あなたの手順とは違うかも?
setコマンドを使って・・・というのはmysqlに接続しないといけないので
現状はその方法はできないということですよね。
あと環境設定PATHに追加の仕方を忘れてしまったので教えていただけませんでしょうか。
すみませんが、よろしくお願いしますm(_ _)m

補足日時:2004/06/05 20:39
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す