Mysql5.7忘记root密码怎么办(简单且有效方法)

在上篇文章给大家介绍了Mysql5.7忘记root密码及mysql5.7修改root密码的方法 Mysql5.7忘记密码快速且简单的解决方法,具体方法详情如下所示: # 最简单最粗暴的方法 找到mysql的配置文件直接

                        <p>在上篇文章给大家介绍了Mysql5.7忘记root密码及mysql5.7修改root密码的方法</p>

Mysql5.7忘记密码快速且简单的解决方法,具体方法详情如下所示:

  1. 最简单最粗暴的方法 找到mysql的配置文件直接编辑 vim /etc/my.cnf
    1. 在 [mysqld] 中加上一行跳过权限限制 skip-grant-tables
  2. 保存退出 重启mysql服务 service mysqld restart
  3. 用户登录 mysql -uroot -p (直接点击回车,密码为空)
  4. 选择数据库 use mysql;
  5. 但是在5.7版本中不存在password字段,所有我们要用以下修改进行重置密码 update user set authentication_string=password('new password') where user='root';
  6. 刷新权限 flush privileges;
  7. 退出mysql quit;
  8. 将最开始修改的配置文件my.cnf中的skip-grant-tables删除 重启mysql service mysqld restart
  9. 当你登陆mysql之后你会发现,当你执行命令时会出现 ERROR 1820 (HY000): You must reset your password using ALTER USER statement;
  10. 这是提示你需要修改密码 当你执行了 SET PASSWORD = PASSWORD('root');
  11. 如果出现 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
  12. 你需要执行两个参数来把mysql默认的密码强度的取消了才行 当然也可以把你的密码复杂度提高也行啊 set global validate_password_policy=0; set global validate_password_mixed_case_count=2;
  13. 这时你再执行 就ok了 SET PASSWORD = PASSWORD('root');
  14. 下面再说一下mysql中的字符集的问题 show variables like "%character%";
  15. 出现如下情况 可以忽略………… +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ #找到mysql的配置文件 加上几句话就ok 在mysqld下面加上 character-set-server=utf8 collation-server=utf8_general_ci
  16. 在client下面加上 default-character-set=utf8

以上所述是小编给大家介绍的Mysql5.7忘记root密码怎么办(简单且有效方法),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对每日运维网站的支持!