mysql忘记密码解决方案及三种方式修改密码

mysql用户分为root用户(超级管理员,拥有所有权限)和普通用户,mysql服务器通过权限表来控制用户对数据库的访问,这些权限表存于root用户下的mysql数据库中。

在使用mysql数据库过程中,往往需要修改密码的操作,下面介绍三种修改密码的方式:

1、使用mysqladmin命令在命令行指定新密码
mysqladmin -u root -p password ‘新密码’

  回车,将提醒你输入原密码
20180908140143183.png

2、使用set语句
set password=password(“新密码”)

  这时需要重启mysql服务器或使用flush privileges语句刷新权限表,使新密码生效

3、修改user表
update mysql.user set authentication_string=PASSWORD("123456") where user="root" and host="localhost"

  注意,mysql新版本用于存用户密码的字段名为authentication_string而不是 password,且新密码必须使用password函数进行          加密

4、mysql8.0修改密码语句
ALTER USER 'root'@'localhost' IDENTIFIED BY 'ok';

如遇报错,先执行flush privileges

另外,不知道小伙伴们有没有遇到过忘记密码的情况呢?其实忘记密码很容易解决,下面就介绍忘记密码时的解决方案:

第一步:在命令行输入net stop mysql命令关闭mysql服务

第二步:使用--skip-grant-tables选项启动mysql服务(服务器将不加载权限判断,任何用户 都能访问数据库)

          在命令行输入 mysqld --skip-grant-tables

          命令运行之后,用户无法再输入指令,此时如果在任务管理器中可以看到名称为 mysqld的进程,则表示可以用root用户                登录服务器了

第三步:打开另一个命令行窗口,输入不加密码的登录命令

          mysql -u root

          登录成功后可以使用update语句修改密码

          修改完成后,必须使用flush privileges语句刷新权限表,这样新的密码才能生效

第四步:将输入mysqld --skip-grant-tables命令的命令行窗口关闭,接下来就可以使用新密码登录mysql服务器了

怎么样,是不是觉得很简单呢?以后忘记密码再也不用愁了!
———————————————
原文链接:https://blog.csdn.net/xl_1803/article/details/82503781

你可能感兴趣的:(mysql忘记密码解决方案及三种方式修改密码)