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

  • Post author:
  • Post category:mysql


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

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

1、使用mysqladmin命令在命令行指定新密码

mysqladmin -u root -p password ‘新密码’

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

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服务器了