2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

mysql5.7でrootのパスワードを空で設定したときの対処法

Last updated at Posted at 2018-04-28

背景

vagrantにmysqlをインストールしたのですが、rootのパスワードを空でインストールしてしまいました。

mysql -uroot -p
すると上記コマンドを打って、求められたパスワードを空にして実行しても


ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

ぐぬぬ…。

環境

mysql:5.7.22
ubuntu:16.04.4

対処法①

パスワードを再設定する

auth_socket pluginは、MySQLクライアントを実行したlinuxユーザーを、MySQLのユーザーとして認証しようとするらしい

のでsudo mysqlで入れる

そこでmysqlに入った状態で下記を実施


mysql> use mysql
mysql> update user set authentication_string=PASSWORD("ここにパスワードを記述") where User='root';
mysql> flush privileges;

※ 以前はpasswordというカラムだったが5.7以降はauthentication_stringというカラム名になっている

対処法②

再インストールする

ただし単にアンインストール→インストールしても状況は変わりません。

なぜか。
パスワードが格納されているDBが残っているからです。
ので、削除して問題なければ消しちゃいましょう。
sudo rm -rf /var/lib/mysql/
消してインストールし直せばOKです

参考

Ubuntu16.04にaptでMySQL5.7を入れる時にrootを空パスワードにするとどうなるか
https://qiita.com/mwatanabe@github/items/7e9a40d31bc27ab9d901

MySQL 5.7.6でroot用パスワードが変わらなくて困った話
https://qiita.com/gatchan0807/items/7323a5d2dd365308cb94

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?