14

WinXPにMySQL5.5.27をインストールしました。コマンドプロンプトを開くと([スタート]-> [ファイル名を指定して実行]を選択し、「cmd」と入力)、「mysql-uroot-p」を実行してMySQLにアクセスできます。ただし、Cygwinターミナルを開いて同じことを試みると、このエラーが発生します

$ mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysql.sock' (2)

実際、「/ var / run/mysql.sock」ファイルはありません。

4

6 に答える 6

26

コマンド ラインでホストを指定すると、この問題は解消されます。

mysql -u root -p -h 127.0.0.1

my.inimysql が使用する を作成することもできます。

echo [client] >c:\my.ini
echo user=root >>c:\my.ini
echo host=127.0.0.1 >>c:\my.ini

次に、次のように入力します。

mysql -p

パスワードを追加することもできます:

echo password="abracadabra" >>c:\my.ini

次に、次のように入力します。

mysql

そしてあなたは入っています!

https://serverfault.com/questions/337818/how-to-force-mysql-to-connect-by-tcp-instead-of-a-unix-socketも参照してください

于 2012-08-10T00:34:43.627 に答える
7

これをコマンドに追加してみてください:

-h 127.0.0.1

問題は、mysql クライアントのデフォルト ホストが localhost であり、そのファイルを介してアクセスされる UNIX ソケットを使用して localhost を特別に扱うことですが、サーバーが UNIX ソケットでリッスンするように構成されていない可能性があります。

ただし、ループバック IP 127.0.0.1 経由で同じサーバーにアクセスすると、UNIX ソケットの代わりに TCP ソケットが使用され、(サーバーがオンラインであると仮定して) 動作するはずです。

于 2012-08-10T00:33:39.110 に答える
1

いくつかのキーストロークを節約するためだけに、

~/.bashrc ファイルに次のエイリアスを追加します。

alias mysql='mysql -u root -h 127.0.0.1'

これを追加した後、端末に「mysql」と入力するだけで、mysql内に移動できます。

于 2015-04-14T09:58:15.617 に答える
0

ほとんどの人がここで述べたように、解決策の 1 つはエイリアスを使用することです。正直なところ、彼らは私がいくつかの本当に素晴らしい Linux コマンドを学ぶのを妨げているので、彼らが好きではありません :) それはただの冗談です。しかし、私が思うに、あなたにとって最善の方法は~/.bashrc、ホームディレクトリにあるファイルを見つけてそこに置くことです:

alias mysql="mysql -h 127.0.0.1"

このソリューションを機能させるには、セッションを再起動する必要があることを忘れないでください。そうしないとbash、同じターミナル セッションでコマンドを入力できます。すべての bash 設定がリロードされます。幸運を!

.bashrcPS読み取り専用ファイルを取得した可能性があるため、編集する前に他のすべてのターミナル ウィンドウを閉じることをお勧めします。Win7x64でこのような問題がありました

于 2016-12-05T07:06:03.867 に答える