• ベストアンサー

接続ができません

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です

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

  • ベストアンサー
noname#227796
noname#227796
回答No.1

MySQLのバージョンとか、もし本を見ているなら何の本なのかとか、設定はどのようにしているとか、そういう除法がないと回答できません。 接続できない原因については、エラーメッセージからして、そもそもMySQLが起動していないものと思われます。 起動しないと(起動できるようにしない)とダメです。 恐らく、設定ファイルに間違いがあってMySQLが起動してないんでしょう。 設定ファイルを見直してみましょう。 ※インストール先がC:\mysql以外の場合、後で設定ファイルの basedir でパスを指定する必要があるはずなので、そこら辺も。 もし起動しているなら、ポートがLISTENになっているか確認してみましょう。 コマンドプロンプトで netstat -an して、エラーメッセージに出ているポート番号10061,3306がLISTENになっているかどうか確認してみましょう。 パーソナルファイアウォールなどの設定で、ポートがふさがれている可能性もあるのかもしれませんが、色々試してみてください。 以上、随分前にMySQLを触っただけなので、最近の動向はあまり押さえてませんが、参考になれば幸いです。

a68
質問者

補足

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

その他の回答 (4)

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.5

>MySQLの起動の仕方はmysql\bin\winmysqladmin.exeを実行させればいいんですよね? MySQLをインストールした時点で、「管理ツール」->「サービス」 にMysqlが追加されていて、「スタートアップの種類」は「自動」 になっていますので、Windows起動時にMySQLは起動するはずです。 「手動」にしている場合は、Winmysqladminを実行すると起動します。 また、補足ですが、(10061)はポート番号ではありませんので。

a68
質問者

お礼

xjdさん 再度回答ありがとうございますm(_ _)m やっと解決しました! 原因はInternet Securityが遮断していたからでした・・・ たまたまBackdoorにアタックされて確認してみたのがよかったみたいです(;^_^A 何度も回答していただきありがとうございました。 とても参考になりましたm(_ _)m

noname#227796
noname#227796
回答No.4

>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/4886487211/249-2438180-3711532 まだ、日本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.html

a68
質問者

お礼

i_am_aliveさん 再度回答ありがとうございますm(_ _)m やっと解決しました! 原因はInternet Securityが遮断していたからでした・・・ たまたまBackdoorにアタックされて確認してみたのがよかったみたいです(;^_^A 何度も回答していただきありがとうございました。 とても参考になりましたm(_ _)m

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.3

>あと環境設定PATHに追加の仕方を忘れてしまったので マイコンピュータを右クリック->プロパティ で設定するメニューがあります。 そもそもmysqlは動いていますか? サービスで確認しましたか?

a68
質問者

補足

xjdさん 再度回答ありがとうございますm(_ _)m >そもそもmysqlは動いていますか? >サービスで確認しましたか? MySQLの起動の仕方はmysql\bin\winmysqladmin.exeを実行させればいいんですよね? 起動したら青ランプも付いていますし、 タスクのアイコンをクリックしてWinNTを見ると 「Stop the Service」が選べるようになっています。 その後にコマンドラインで接続しようとしても やはり同じ結果がでました・・・ ほかにも原因があるのでしょうか?

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.2

普段は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>

a68
質問者

補足

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

関連するQ&A