第一步 登入

## 登入方案1 ##
# 5.7默认会生成root初始密码文件 /root/.mysql_secret
# 使用密码文件中的初始密码登入root身份,若成功则直接进行第三步

## 登入方案2 ##
# 如果应用未生成初始密码文件,则我们以安全模式启动mysql,并跳过身份验证,匿名登入
service mysqld stop
mysqld_safe --skip-grant-tables &
进行第二步

## 登入方案3 ##
# 如果应用未安装mysqld_safe,则我们编辑mysql配置,改为跳过身份验证,匿名登入
# vim /etc/my.cnf, 添加如下一行
skip-grant-tables


第二步 初步更新密码

# 若能root登入,则直接第三步
# 有时候不成功,仍然是匿名身份
# 匿名登入后, 执行如下sql语句, 初步更新root密码
use user;
update user set authentication_string=password("123456") where user="root";
flush privileges;


第三步 最终更新密码

# 初步更新的密码仅仅提供了登录权限,其他命令都没有授权
# 用初步更新的root密码登入root,然后执行以下命令
set Password=PASSWORD('new-password-here')  #执行这一条后root才具有所有命令的权限
flush privileges;

# 5.7加强了安全机制, 所以对密码强制要求高强度,可编辑配置文件关闭
# vim /etc/my.cnf, 添加如下一行
validate-password=OFF


第四步 还原匿名登入配置,服务重启