我不能用超级用户登录,我想超级用户的密码可能是changed.But,我也不能更改超级用户的密码。
Mysql版本为v8.0.16。
我已经使用--init-file
在mysqld引导时指定了alter sql。
alter user 'root'@'localhost' identified by 'mynewpassword'
但它不起作用。
我使用了--skip-grant-tables --user=mysql
,这样我就可以添加一个新用户,我的新用户就可以工作了。我尝试更改root,但它再次失败。
mysql> alter user 'root'@'localhost' identified by 'mynewpassword';
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
下面是表用户的内容
mysql> select user,host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| admin | % |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
有谁知道吗?
发布于 2019-07-09 14:37:08
发布于 2021-09-03 03:41:21
您可以尝试:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123';
而不是
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';
当您使用以下命令时
mysql> use mysql;
mysql> select user,host from user;
您可以发现root的主机是'%‘
mysql> select user, host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| root | % |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
+------------------+-----------+
发布于 2019-07-09 14:50:50
最后,我不能以根用户登录,所以我跳过授权来删除根用户,然后创建一个新的根用户user.Just,将新用户视为旧用户。
https://stackoverflow.com/questions/56946299
复制相似问题