Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1062571
  • 博文数量: 165
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1346
  • 用 户 组: 普通用户
  • 注册时间: 2016-03-11 14:13
个人简介

狂甩酷拽吊炸天

文章分类

全部博文(165)

文章存档

2024年(1)

2023年(1)

2022年(3)

2021年(4)

2020年(17)

2019年(37)

2018年(17)

2017年(35)

2016年(50)

分类: Mysql/postgreSQL

2017-04-20 15:47:27

mysql5.7 算是安装成功了,但是用之前版本介绍的登录方法都是不成功的:
1)默认 root 密码为空,其实不为空,使用 mysql -u root -p 进行登录失败
2)使用 mysqladmin 进行重置密码,也不成功,因为它要求提供初始密码,但是我本来就不知道初始密码才来重置的,失败
3)使用 mysqld_safe 进行重置,这个更不靠谱,在根目录下执行 find -name mysqld_safe,根本找不到这个文件
4)说在 /root/目录下有一个 .mysql_secret 初始化密码文件,这个也行,这个文件根本就不存在,手动创建之后,使用 mysqladmin 启动也不认这个密码

其实想要重置 5.7 的密码很简单,就一层窗户纸:
1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1
这一行配置让 mysqld 启动时不对密码进行验证
2、重启 mysqld 服务:systemctl restart mysqld
3、使用 root 用户登录到 mysql:mysql -u root
4、切换到mysql数据库,更新 user 表:
update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = now() where user = 'root';

在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string
5、退出 mysql,编辑 /etc/my.cnf 文件,删除 skip-grant-tables=1 的内容
6、重启 mysqld 服务,再用新密码登录即可(新密码是root)

标签: 

阅读(1163) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~