本文主要介绍MySQL 5.7版的数据库、忘记密码的解决方案!
一、问题背景
很久以前,小编在Linux(centos7)服务器上安装了mysql5.7的数据库,但是很久没用过了,也不知道有没有有用的数据库,也忘了密码此时,考虑是否有恢复密码或修改密码的方法。
于是,我在网上找了几个方案,大致上使用的是skip-grant-tables解法。
二、解法详解
本例中的操作系统是centos7,mysql是5.7的版本。 虽然不同版本的命令可能略有不同,但网民可以自己根据系统的版本来查找相关的命令。根据
2.1、skip-grant-tables模式启动
skip-grant-tables,启动mysql时不启动许可证表功能,无需密码即可登录修改/etc/my.cnf文件
vim /etc/my.cnf
在“[mysqld]”区域中添加配置,然后保存my.cnf文件
跳过授予表
重新启动mysql
系统重新开始混合系统
登录到mysql
超级用户
# # #如果有密码输入,直接回到车上就可以进入数据库
登录
2.2、修改root密码
#MySQL 此时还没有进入数据库。 使用以下命令使用微软;
更改超级用户密码(MySQL 5.7版)
updateusersetauthentication _ string=密码('密码' )、密码_扩展=' n '、密码_最后一个=无
如果mysql在5.6版中更改了超级用户密码(MySQL 5.6版) ) ) ) )。
更新用户设置密码=密码) where用户=' root ';
# #启用
闪存权限;
# #结束
退出;
如果不想更改
2.3、新增管理员用户
根密码,可以通过以下步骤添加特权用户:登录到mysql。 此时还没有进入数据库。 使用以下命令
使用微软;
# #数据库的更新
闪存权限;
# #创建用户并向管理员授予权限
grant all privileges on *.* to '用户' @'%' identified by '密码';
# #例如,创建密码为admin的admin用户
grantallprivilegeson *.* to ' admin ' @ ' % ' identified by ' admin ';
2.4、重启服务器
上述操作完成后,实际上还没有结束,需要关闭许可证表功能,重新启动服务器修改/etc/my.cnf文件
vim /etc/my.cnf
在“[mysqld]”区域中删除更改配置,然后保存my.cnf文件
# #跳过授权表
重新启动mysql
系统重新开始混合系统
# #此时修改已完成
三、测试连接
使用我们新做的管理员用户进行测试登录#admin登录
ysql-u管理员
# #输入密码admin。 此时可以登录
四、总结
如果忘记了密码,可以用这个方法解决现在的问题。从MySQL5.7. 6版开始,用户表的密码方法将被废弃,因此,不能使用MySQL 8.0版的旧方法重置密码。
在mysql8中,可以通过这种方式更改根密码。
在skip-grant-tables模式下,清空根密码
更新用户权限_字符串=' ' where用户='根';
# #退出,删除/etc/my.cnf文件下的skip-grant-tables,然后重新启动服务器
登录到mysql
超级用户
# # #密码为空,直接回车上,进入数据库后更改密码
超级用户“超级用户”@“本地主机”标识的“问候@ 123456”;
由于mysql8使用强力检查,因此如果密码太简单,将报告错误。 请尽量使密码复杂。
过去精彩的评论:
关于Java中字符串的初始化和字符串操作类
MyBatis核心配置概述参数处理程序
spring注释编程的注释属性别名和复盖
分布式必备神器的分布式锁定
Java极客技术团队亲自录制了一组Spring Boot视频。 这个视频被加密,加密后放在云端,下载链接加密后,一机一机,每个行星的用户都有播放授权码。
我们创造知识星球的目的和其他星主一样,是为了帮助大家一起更好地成长,和高手拉近距离,减少差距,其实你也是高手!
最初的1000人,50元/年,现在不到约300个名额。