mysql では、2022 エラーはコンパイル中にソケットが指定されていないという事実を指します。そのため、mysql コマンドは接続時にデフォルト値を使用します。ソケットの場所が変更され、mysql コマンドが認識しないためです。このようなエラーの場合は、「/etc/my.cnf」ファイルを変更してエラーを解決できます。
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
まず問題の現象を再現します。エラー メッセージは次のとおりです:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
エラー分析, 公式サイトのざっくりとした意味は、「コンパイル中にソケットが指定されていないため、mysql コマンドは接続時にデフォルト値 (/tmp/mysql.sock) を引き続き使用したことを意味します。ソケットの場所が変更され、mysql コマンドが認識しないためです」このようなエラーが発生しました
解決策は、mysql コマンドにソケット ファイルの場所を伝えることです。 /etc/my.cnf ファイルを変更し、次の内容を追加します。
[mysqld] socket=/data/mysql5.7.24/db_test/mysql.sock [client] socket=/data/mysql5.7.24/db_test/mysql.sock
保存後、正常にログインできるかどうかをテストします
mysql -uroot -p
もう 1 つの解決策は、ログイン時にソケットを指定することです。
最初の書き方
mysql -uroot -p --socket=/data/mysql5.7.24/db_test/mysql.sock
2番目の書き方
mysql -uroot -p -S /data/mysql5.7.24/db_test/mysql.sock
推奨学習: mysqlビデオチュートリアル
以上がmysqlの2002エラーとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。