set password for root@localhost = password("123456");
update mysql.user set authentication_string=password('新密码') where user='用户名' and Host ='localhost';
【以下回答由 GPT 生成】
【解决方案】: 在MySQL 8.0版本及以上,密码的存储方式发生了改变,使用了新的authentication_string
字段代替了之前的password
字段。因此,在更新密码时,需要使用ALTER USER
语句而不是在user
表中更新。
以下是正确的代码示例:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysql';
Query OK, 0 rows affected (0.06 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.04 sec)
请注意替换上面代码中的'mysql'
为你想要设置的新密码。
通过上述代码,你应该能成功更改 MySQL 的密码。如果还遇到问题,请提供更多的错误信息,以便我们进一步帮助你解决问题。
【相关推荐】