问题描述
安装 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;
这篇关于无法将 root MySQL 密码设置为 null的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!