无法将 root MySQL 密码设置为 null

2021-09-12 00:00:00 ubuntu-16.04 mysql mysql-5.7

安装 mysql 时,我没有在 root 密码字段中输入任何内容,但是当我运行 mysql -u root 时,我仍然收到 Access denied for user 'root'@'localhost'.

When installing mysql, I didn't put anything in the root password fields, but when I ran mysql -u root I still got Access denied for user 'root'@'localhost'.

我在没有授权表的情况下以安全模式启动 mysql,sudo mysql_safe --skip-grant-tables &,然后使用 mysql -u root 跳转,没有一个问题.

I started mysql up in safe mode without the grant tables, sudo mysql_safe --skip-grant-tables &, then jumped in with mysql -u root without a problem.

然后我做了使用mysql;更新用户集 authentication_string=null where user='root'; 和我得到:

Then I did use mysql; update user set authentication_string=null where user='root'; and I got:

Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0

有人知道为什么密码没有更新吗?

Anyone have any insight on why the password isn't updating?

推荐答案

我不得不将插件设置为mysql_native_password,所以密码重置部分看起来像这样:

I had to set the plugin to mysql_native_password, so the password reset part looks like this:

update user set authentication_string=password(''), plugin='mysql_native_password' where user='root'; FLUSH PRIVILEGES;

相关文章