web-dev-qa-db-ja.com

エラー2002(HY000):ソケット '/var/run/mysqld/mysqld.sock'を介してローカルMySQLサーバーに接続できません

DebianでMySQLサーバーをアップグレードしたところです。しかし、サーバーを起動して接続しようとすると、エラーが発生します。

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

どうすれば修正できますか?

7
Markum

私はこの質問が5か月前のものであることを知っていますが、3つの異なるアップグレードで同じ問題に遭遇したので、とにかく自分の解決策を投稿したいと思いました。

私の場合、これはDebian更新スクリプトのバグが原因であるようです(そのため、問題はUbuntuでも発生する可能性があります)。どういうわけか、アップグレードプロセスが完了した後、一部のバイナリログファイルは誤った所有権で終了します。これにより、サーバーは自身のログへの書き込みアクセスを取得できなくなり、起動に失敗します。

Debian(少なくともサーバーでは)では、これらのファイルはすべて/var/lib/mysqlにあります。そこにあるものはすべて、ユーザーmysqlとグループmysqlが所有する必要があります。ただし、一部のファイルmysql-bin.*は、アップグレード後にrootが所有していました。ログファイルの所有権をmysqlに戻すと、サーバーが正しく起動します。

# chown mysql:mysql /var/lib/mysql/mysql-bin.*
# /etc/init.d/mysql start

これが誰かの時間の節約になることを願っています。

2
eaj

以下をお試しください

mkdir /var/run/mysql
chown mysql:mysql /var/run/mysql

次に、mysqlを起動します...

1
RolandoMySQLDBA

最初にmysqlサーバーを起動します

次に、このコマンドを実行します

ln -s /var/lib/mysql/mysql.sock /var/run/mysqld/mysqld.sock
0
Ayaz Agayev

MySQLはおそらく起動に失敗しました。実行してみてくださいps aux | grep mysqld mysqlデーモンのプロセスIDがあるかどうかを確認します。

Shaneのコメントをさらに詳しく説明するには、MySQLログで、開始に失敗した理由を確認してください。デフォルトの場所は/var/log/mysql/error.log

0
sreimer