mysql8.0.11修改密码及用navicat连接时出现1251

mysql的密码忘记了,登陆被拒绝,需要修改密码。

版本:mysql8.0.11

vim /etc/my.cnf 配置文件中加入skip-grant-table;

/etc/init.d/mysqld restart;

mysql -u root -p 1qaz@WSX 正常登陆;

查询用户密码命令:mysql> select host,user,authentication_string from mysql.user;

    host: 允许用户登录的ip‘位置'%表示可以远程;
    user:当前数据库的用户名;
    authentication_string: 用户密码(后面有提到此字段);

##修改root密码的步骤:

如果当前root用户authentication_string字段下有内容,先将其设置为空后再修改密码。

use mysql; 
update user set authentication_string='' where user='root';

ALTER user 'root'@'%' IDENTIFIED BY '1qaz@WSX';

此处有两点需要注意:
    1、不需要flush privileges来刷新权限。
    2、密码要包含大写字母,小写字母,数字,特殊符号。
    修改成功; 重新使用用户名密码登录即可;

##mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,

解决问题方法把mysql用户登录密码加密规则还原成mysql_native_password. 

ALTER USER 'root'@'%' IDENTIFIED BY '1qaz@WSX' PASSWORD EXPIRE NEVER;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1qaz@WSX';

FLUSH PRIVILEGES;

能正常登陆后注释掉了skip-grant-table;

/etc/init.d/mysqld restart;

https://www.jb51.net/article/142025.htm

https://blog.csdn.net/qq_36068954/article/details/80175755

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值