web-dev-qa-db-ja.com

エラー1698(28000):Ubuntu 18.04でユーザー 'root' @ 'localhost'のアクセスが拒否されました

私はこれに従いました tutorial MySQLをインストールしましたが、MySQLを正常にインストールした後、データベースにアクセスできませんでした。

エラー1698(28000):ユーザー 'root' @ 'localhost'のアクセスが拒否されました

19

ここで解決策を見つけました link 、この解決策に従うことで問題を解決しました。

短い手順は次のとおりです。

Sudo mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test'; 

注:ここtestは、rootユーザーの新しいパスワードです。また、ユーザーを変更した後、コマンドSudo service mysql restartを忘れずに実行してください。

37

ローカルシステムのパスワードを入力する必要がないため、別の方法を見つけました。
次のとおりです。

ターミナルを開いて入力する

Sudo mysql -u root -p

Mysqlでプロンプトが表示され、mysqlコマンドを実行できます。

テーブルタイプの変更にはmysqlテーブルを使用します。そのため、空のパスワードを使用できます。ベローはそれのためのコマンドです

USE mysql;

次のコマンドでテーブルのタイプを変更します

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

ここで、UPDATEを使用したため、特権をフラッシュする必要があります。 grant tablesでINSERT、UPDATE、またはDELETEを直接使用する場合、許可テーブルを再ロードするにはFLUSH PRIVILEGESを使用する必要があります。

FLUSH PRIVILEGES;

次のコマンドでmysqlを終了します

exit;

次のコマンドでmysqlサーバーを再起動します

service mysql restart

これが役立つことを願っています

ありがとうございました。

12
Krunal Pathak