MySQL修改密码时报错ERROR 1064 (42000)

文章讲述了在Linux环境下,MySQL8.0及以上版本中修改root用户密码时遇到的ERROR1064和ERROR1290错误,介绍了正确的操作步骤,包括创建新用户、授权、更改密码认证方式和刷新权限,以及处理skip-grant-tables的情况。
摘要由CSDN通过智能技术生成

Linux下MySQL报错ERROR 1064 (42000)ERROR 1290 (HY000)

本人此次错误出现在修改MySQL密码时,使用语句为

update mysql.user set authentication_string=password('Zhonghui123') where user="root";

报错信息为

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 '('Zhonghui123') where user="root"' at line 1

Mysql 8.0以后,都不能这样输入,不适用于。应该按照以下方法来操作:

create user 'root'@'%' identified by 'Zhonghui@123';
grant all on *.* to 'root'@'%';
alter user 'root'@'%' identified with mysql_native_password by 'Zhonghui@123';

最后刷新下权限,就可以重新发起连接,不需要重启服务器

flush privileges;

如果设置了skip-grant-tables那就刷新一下再重复上述操作。然后进入/etc/my.cnf文件,找到【mysqld】模块,注释掉skip-grant-tables,然后重启mysql。最后使用新密码成功进入数据库

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> create user 'root'@'%' identified by 'Zhonghui@123';
Query OK, 0 rows affected (0.01 sec)

mysql> grant all on *.* to 'root'@'%';
Query OK, 0 rows affected (0.01 sec)

mysql> alter user 'root'@'%' identified with mysql_native_password by 'Zhonghui@123';
Query OK, 0 rows affected (0.01 sec)
[root@harbor ~]# vim /etc/my.cnf
[root@harbor ~]# systemctl restart mysqld
[root@harbor ~]# mysql -uroot -p'Xielei@123'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.36 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值