关于mysql修改密码 set password for root@localhost = password(‘xxx‘);报错解决方法

相信大家都遇到过这种情况,在使用命令行运行的 MySQL 中修改密码时,可能会遇到如下的错误提示:

ERROR 1064 (42000): You have an error in your SQL syntax; check the 
manual that corresponds to your MySQL server version for the right 
syntax to use near 'xxxxxxxxxxxxxxxxxxxxxxxxx' at line 1

这实际上是由于 MySQL 的不同版本支持的修改密码的语法不同所造成的。接下来,我们将详细介绍不同版本的 MySQL 支持的修改密码的正确语法。

5.6 版本

在 MySQL 5.6 版本中,可以使用以下两种方式来修改密码:

  1. 使用 UPDATE 语句直接修改 mysql.user 表中的 password 字段:

    UPDATE mysql.user SET password=PASSWORD('123456') WHERE User='root' AND Host='localhost';
    FLUSH PRIVILEGES;
  2. 使用 SET PASSWORD 语句来设置密码:

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

5.7 版本及以上

从 MySQL 5.7 版本开始,password 字段被重命名为 authentication_string,因此需要使用新的字段名来更新密码:

 
UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;

8.0 版本及以上

到了 MySQL 8.0 版本,之前的命令不再适用,取而代之的是以下两种方法:

  1. 使用 ALTER USER 语句来更改用户密码:

    ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
  2. 使用 SET PASSWORD 语句来设置密码(注意,这里不需要使用 PASSWORD() 函数):

    SET PASSWORD FOR 'root'@'localhost' = '123456';

小贴士

  • 在执行上述任何一条命令之前,请确保已经登录到 MySQL 服务器,并且有足够的权限来执行这些操作。
  • 执行完修改密码的命令后,记得执行 FLUSH PRIVILEGES; 来刷新权限,使更改立即生效。
  • 如果您不确定当前使用的 MySQL 版本,可以通过运行 SELECT VERSION(); 命令来查看。

转载:MySQL修改密码时,报错ERROR 1064 (42000)【新版MySQL修改密码命令有所变更】_error 1064 (42000):-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值