DOSプロンプトのmysqlはOKなのにcygwinのmysqlは固まる?
WindowsにMySQLをインストールして運用する場合、DOSプロンプトでは「mysql -u root -p」のようなコマンドで問題なくログインできるのに、cygwinのターミナルで同じコマンドを打っても何も出てこないまま固まるという現象が発生することがあります。
Windows版MySQLクライアントのコマンドは無効
原因はcygwinが参照しているmysqlコマンドの場所なのですが、MySQLをWindows版インストーラーでインストールした場合、whichコマンドで見てみると以下の様なパスになっている場合があります。
$ which mysql /cygdrive/c/Program Files/MySQL/MySQL Server 5.1/bin/mysql
これが問題で、解決するにはcygwinのsetup.exeからMySQLクライアント(mysql: MySQL database client apps)をインストールしてあげる必要があります。
「mysqld」がサーバーで、「mysql」がクライアントです。
うまくインストールできたら、whichコマンドが以下のようになります。
$ which mysql /usr/bin/mysql
ホスト名を明示する必要がある(設定で書き込めば省略可)
ただし、ここで1つ気をつけないといけないことがあります。 新しくインストールしたmysqlクライアントは接続ホストを省略すると、cygwinでインストールしたローカルMySQLサーバーを参照してしまうので、以下のようにホスト名を指定してログインするか、
$ mysql -h 127.0.01 -u root -p
もしくは、「/etc/my.cnf」を以下のように作成しておいて、
$ vi /etc/my.cnf ----------------------------------- [client] host=127.0.0.1 -----------------------------------
いつもどおりに「$ mysql -u root -p」でログインする方法が選択できますので、お好きな方で接続してみてください。
参考にしたサイト:connecting to mysql from cygwin
ザ・クライアント 依頼人(字幕版)
¥1,600 (2025-04-19 01:35 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)クライアント・リスト(字幕版)
(2025-04-16 09:31 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)謙虚なコンサルティング ― クライアントにとって「本当の支援」とは何か
¥1,980 (2025-04-16 09:31 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)2014-02-03