0

私は 2 台の OS X マシンを使用して、Ruby on Rails アプリケーションを開発しています。私のデスクトップは正常に動作し、ローカル サーバーがページロードで実行されているときに次のエラーが発生する数日前まで、私のラップトップは正常に動作していました。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

ターミナルから mysql を実行しようとすると、同じエラーが発生します。

他のいくつかのスレッドをチェックしましたが、それらの解決策はどれも私の問題を解決しませんでした:

Ruby on Rails 3 OSX のソケット '/tmp/mysql.sock' を介してローカルの MySQL サーバーに接続できません

ソケット経由でローカルの MySQL サーバーに接続できません

男が私とまったく同じ問題を抱えているように見える最後のリンクですが、mysqlを実行できないため、そのページの回答は役に立ちませんでした。.sockファイルが間違った場所にあったため、人々が修正したこの問題をオンラインで見続けているので、実行しました

$ ln -s /var/lib/mysql/mysql.sock /tmp

エイリアスを作成しようとしましたが、mysql.sock がどちらの場所にも存在しないようです。実行しようとしたとき:

$ mysqladmin variables | grep socket

このエラーが発生しました:

Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

最後に、不可視ファイルをオンにして、自分のコンピューターを見回しましたが、上記のディレクトリのいずれにも mysql.sock ファイルまたは mysql フォルダーが見つかりませんでした。繰り返しになりますが、mysql は 1 週間前にこのコンピューターで正常に動作していましたが、現在、何らかの理由で不可解に動作を停止しています。

このコンピューターの .sock ファイルを復元または再作成するにはどうすればよいですか?

4

2 に答える 2

0

以前に自作を使用してmysqlをインストールしたことがあると思います。mysqld がすでに実行されていることに注意してください。

/usr/local/Cellar/mysql/5.5.24/bin/mysqld

ただし、現在のmysqlコマンドへのリンク

/usr/local/bin/mysql

代わりに、そうあるべきです

/usr/local/Cellar/mysql/5.5.24/bin/mysql

正しいコマンドを指すエイリアスをbashrcに追加してみてください。

mysql新しいウィンドウで実行する前に、他のすべての mysqld_safe プロセスを強制終了してみてください。これで、正しい mysql sock ファイルが読み取られるはずです。

于 2012-07-08T03:51:47.197 に答える