linux mysql 忘记密码 使用skip-grant-tables重置密码

/etc/my.cnf 文件中在mysqld节点下新增一行代码(表示跳过密码直接登入mysql):

skip-grant-tables

修改my.cnf后重启mysql,并使用mysql命令登入数据库:

cd /usr/local/mysql-5.7.26/support-files/

./mysql.server restart

cd /usr/local/mysql-5.7.26/bin/

./mysql

先重载授权表,再执行修改密码语句:

-- 重载授权表 

FLUSH PRIVILEGES;

-- 修改密码(版本不同,修改的语句不同)

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

 

执行成功后,将my.cnf中新增的skip-grant-tables删除或注释

然后重启mysql,尝试账号密码登录:

cd /usr/local/mysql-5.7.26/support-files/

./mysql.server restart

进入bin 执行进入mysql命令行,root用户登录: 输入密码 进入命令行

cd /usr/local/mysql-5.7.41/bin/

./mysql -uroot -p 

注意:

如果执行修改命令报错:ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost',那么就进入mysql库下查看user表中root用户对应的Host是什么,然后参考截图执行修改(我这里是因为服务器开通了mysql对外访问权限,所以修改过root用户的Host):

这里修改mysql库的user表中  root用户的 host为 %  。

FLUSH PRIVILEGES; 

update user set host = '%' where host = 'localhost' and user = 'root';

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值