ERROR 1698 (28000)- Access denied for user ‘root’@’localhost’ で MySQL にrootでログインできない


Vagrant で Ubuntu18.04 をセットアップしたのですがなぜか phpMyAdmin に root でアクセスできません。
ターミナルから vagrant の仮想マシンにログインして root で MySQL にログインしようとしても以下のエラーでアクセスできません。

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

調べてみると root にアクセス権限が設定されていないことで起こるようなので権限を与えます

MySQL をセーフモードで起動

一旦MySQLサービスを停止します。

service mysqld stop

停止したらMySQLをセーフモードで起動します。

mysqld_safe --skip-grant-tables &

root に権限を与える

MySQLにログインできたらrootでログインします。

sudo mysql -u root

use mysql; を実行します。

use mysql;

以下のコマンドで権限を与えます。

grant all privileges on <em>.</em> to root@localhost identified by 'パスワード' with grant option;

変更した権限を反映します。

flush privileges;

セーフモードを停止し MySQL を再起動してログイン

セーフモードを停止して MySQL を再起動

service mysqld stop
service mysqld start

改めてrootでログインしてみます。

service mysqld restart

Rootで改めてログインしてみます。

mysql -u root -p

無事ログインでき、 phpMyAdmin からもログインできました。
MySQLインストール時に遭遇する「アクセス拒否エラー

コメントを残す