[解決済み] MySQLが失敗した場合: mysql "ERROR 1524 (HY000): プラグイン 'auth_socket' はロードされていません。
2022-04-26 08:04:30
質問
私のローカル環境は
- フレッシュUbuntu 16.04
- PHP7搭載
-
MySQL 5.7をインストールした場合
sudo apt-get install mysql-common mysql-server
MySQLに(CLIで)ログインしようとしたとき。
mysql -u root -p
3ステップの周期的な問題に遭遇しました。
1) まず、ソケットの問題
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
解決策:PCを再起動する。
その結果、別のエラーが発生しました。
2) アクセスが拒否された場合
ERROR 1698 (28000): Access denied for user 'root'@'localhost'.
考えられる問題点は?root ユーザーのパスワードが間違っている!
解決方法 ルートパスワードのリセット方法 .
正しいパスワードとソケットが動作している場合、最後のエラーが発生します。
3) 認証プラグインが正しくない
mysql "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"
ここでまた立ち止まったり、なんとなく1)にたどり着いたり。
解決方法は?
解決しました!
手順2)でrootのパスワードをリセットする際も、authプラグインを
mysql_native_password
:
use mysql;
update user set authentication_string=PASSWORD("") where User='root';
update user set plugin="mysql_native_password" where User='root'; # THIS LINE
flush privileges;
quit;
これで無事にログインできました
フルコードでの解決方法
1. bashコマンドを実行する
1. まず、以下のbashコマンドを実行します。
sudo /etc/init.d/mysql stop # stop mysql service
sudo mysqld_safe --skip-grant-tables & # start mysql without password
# enter -> go
mysql -uroot # connect to mysql
2. 次に、mysql コマンドを実行します => これを手動で cli にコピーペーストします。
use mysql; # use mysql table
update user set authentication_string=PASSWORD("") where User='root'; # update password to nothing
update user set plugin="mysql_native_password" where User='root'; # set password resolving to default mechanism for root user
flush privileges;
quit;
3. bashコマンドをさらに実行する
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start # reset mysql
# try login to database, just press enter at password prompt because your password is now blank
mysql -u root -p
4. ソケットの問題(皆様のコメントより)
が表示されたら ソケット というエラーが発生した場合、2つの解決策を提案しているコミュニティがあります。
sudo mkdir -p /var/run/mysqld; sudo chown mysql /var/run/mysqld
sudo mysqld_safe --skip-grant-tables &
(@Cerin に感謝)
または
mkdir -p /var/run/mysqld && chown mysql:mysql /var/run/mysqld
(Peter Dvukhrechensky に感謝します。)
ブラインドパスとエッジエラーの可能性
ローカルホストの代わりに127.0.0.1を使用する
mysql -uroot # "-hlocalhost" is default
ファイルが見つからない"またはsltエラーになる可能性があります。
mysql -uroot -h127.0.0.1
より良く動作します。
ソケットの問題をスキップする
を作成する方法はたくさんありますね。
mysqld.sock
ファイルを作成したり、アクセス権を変更したり、シンボリックリンクしたりすることができます。結局問題なかったんですね。
をスキップして
my.cnf
ファイル
また、問題もありませんでした。よくわからない場合は これはあなたの助けになるかもしれません .
関連
-
MySQLデータベースでvarchar型の数値の大きさを比較する方法
-
MySQLとOracleの一括挿入SQLの汎用的な記述例
-
mysqlのデータ圧縮性能比較 詳細
-
[解決済み】MySQLで「すべての派生テーブルは独自のエイリアスを持つ必要があります」というエラーは何ですか?
-
MySQLの起動エラー:ERROR 2003 (HY000)。localhost'上のMySQLサーバーに接続できない(10061)
-
[解決済み] エラー 1698 (28000)。ユーザー 'root'@'localhost' のアクセスが拒否されました。
-
[解決済み] MySQL ERROR 1045 (28000)。ユーザー 'bill'@'localhost' (使用パスワード: YES)のアクセスが拒否されました。
-
[解決済み】macOSでbrew install mysqlをする。
-
[解決済み] ERROR 2002 (HY000): ソケット '/tmp/mysql.sock' を介してローカルの MySQL サーバーに接続できません。
-
[解決済み] ERROR 1045 (28000): ユーザー 'root'@'localhost' (使用パスワード:YES) のアクセスが拒否されました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQL Innodb インデックスメカニズム詳細解説
-
mysqlにおけるvarcharの日付比較とソートの実装
-
MySQLによる既存テーブルのパーティショニングの実装
-
[解決済み】DynamoDB : 提供されたキー要素がスキーマと一致しません。
-
'INSERT文はFOREIGN KEY制約「FK_TourismReservation_Users」と競合していました。その
-
msql クエリでのエラー 'where 節' の不明な列 'yellow fruit'
-
[解決済み] MySQLのAUTO_INCREMENTをリセットする方法
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] MySQL で特定のカラム名を持つすべてのテーブルを見つけるにはどうすればよいですか?
-
[解決済み】MySQL。MySQLのルートパスワードをリセットまたは変更する方法は?