第一步 登入
## 登入方案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
第四步 还原匿名登入配置,服务重启