MySQL换密码时的语法错误

img


创建MySQL,第一次无密码登入后想换个密码,一直显示语法错误,但是检查了几个小时都没发现

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 的密码。如果还遇到问题,请提供更多的错误信息,以便我们进一步帮助你解决问题。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^