详细介绍mysql忘记密码的解决方案及修改密码的三种方式
小编给大家分享一下详细介绍mysql忘记密码的解决方案及修改密码的三种方式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1、修改密码的三种方式
mysql用户分为root用户(超级管理员,拥有所有权限)和普通用户,mysql服务器通过权限表来控制用户对数据库的访问,这些权限表存于root用户下的mysql数据库中。
在使用mysql数据库过程中,往往需要修改密码的操作,下面介绍三种修改密码的方式:
1.1、使用mysqladmin命令在命令行指定新密码
mysqladmin -u root -p password '新密码'
回车,将提醒你输入原密码
1.2、使用set语句
set password=password("新密码")
这时需要重启mysql服务器或使用flush privileges语句刷新权限表,使新密码生效
1.3、修改user表
update mysql.user set authentication_string=PASSWORD("123456") where user="root" and host="localhost"
注意,mysql新版本用于存用户密码的字段名为authentication_string而不是 password,且新密码必须使用password函数进行加密
1.4、mysql8.0修改密码语句
ALTER USER 'root'@'localhost' IDENTIFIED BY 'ok';
如遇报错,先执行flush privileges
2、忘记密码怎么办呢?
另外,不知道小伙伴们有没有遇到过忘记密码的情况呢?其实忘记密码很容易解决,下面就介绍忘记密码时的解决方案:
第一步:在命令行输入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服务器了
以上是"详细介绍mysql忘记密码的解决方案及修改密码的三种方式"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!