MySQL 5.7和8.0版本忘记root密码的解决方法
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化
千家信息网最后更新 2025年11月07日MySQL 5.7和8.0版本忘记root密码的解决方法
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
1、遗忘MySQL 5.7数据库的root密码解决办法
方法1(推荐):
[root@mysql ~]# systemctl stop mysqld #停止MySQL服务[root@mysql ~]# mysqld --user=root --skip-grant-tables #使用mysqld指令启动mysql服务,跳过授权表#上述命令执行后,会一直占用当前终端,需要再开启一个终端,#也不要想着放到后台运行了,放到后台3306端口不会监听的[root@mysql ~]# ss -anpt | grep 3306 #再开启一个终端,确定端口在监听LISTEN 0 80 :::3306 :::* users:(("mysqld",pid=8282,fd=33))[root@mysql ~]# mysql -uroot #直接使用root用户登录,无需密码mysql> update mysql.user set authentication_string=password('1234') -> where User='root' and Host='localhost'; #更改root密码为"1234"mysql> flush privileges; #刷新权限[root@mysql ~]# kill 8282 #将之前mysqld启动时占用的终端进程号kill掉,切忌不要使用-9选项[root@mysql ~]# systemctl start mysqld #启动MySQL服务,使用新密码登录即可如果上面的过程中,使用kill -9来结束mysqld占用的终端,那么再次启动可能会报错,sock文件被锁定,此时,需要将你mysql的sock文件删除掉,我这里的sock文件在/tmp下,分别时mysql.sock.lock和mysql.sock这两个文件,删除后再次启动MySQL即可。
方法2:
[root@mysql01 ~]# mysql --version #确定MySQL版本mysql Ver 14.14 Distrib 5.7.28, for linux-glibc2.12 (x86_64) using EditLine wrapper[root@mysql01 ~]# vim /etc/my.cnf #编辑主配置文件[mysqld] #在mysqld这行下写入下面内容skip-grant-tables .................#省略部分内容[root@mysql01 ~]# systemctl restart mysqld #重启MySQL服务,使配置文件生效[root@mysql01 ~]# mysql -uroot #跳过密码验证,直接登录数据库#修改root密码为pwd@123,并刷新权限mysql> use mysql;mysql> update user set authentication_string = passwoord('pwd@123') where user = 'root';mysql> flush privileges; #刷新权限mysql> exit#配置密码验证,使用新密码登录[root@mysql01 ~]# vim /etc/my.cnf #编辑主配置文件[mysqld] skip-grant-tables #删除此行[root@mysql01 ~]# systemctl restart mysqld #重启使更改生效#使用新密码即可成功登录[root@mysql01 ~]# mysql -uroot -ppwd@123 2、遗忘MySQL 8.0数据库的root密码解决办法
[root@mysql01 ~]# mysql --version #查看MySQL版本mysql Ver 8.0.18 for linux-glibc2.12 on x86_64 (MySQL Community Server - GPL)[root@mysql01 ~]# vim /etc/my.cnf #编辑主配置文件[mysqld] #在mysqld这行下写入下面内容skip-grant-tables .................#省略部分内容[root@mysql01 ~]# systemctl restart mysqld #重启MySQL服务,使配置文件生效[root@mysql01 ~]# mysql -uroot #跳过密码验证,直接登录数据库#将root密码设置为空mysql> use mysqlmysql> update user set authentication_string='' where user = 'root';mysql> flush privileges;mysql> exit#开启密码验证并重新登录数据库[root@mysql01 ~]# vim /etc/my.cnf #编辑主配置文件[mysqld] skip-grant-tables #删除此行[root@mysql01 ~]# systemctl restart mysqld #重启使更改生效[root@mysql01 ~]# mysql -uroot #直接登录数据库mysql> alter user root@localhost identified by 'pwd@111';mysql> flush privileges;mysql> exit#使用新密码进行登录测试[root@mysql01 ~]# mysql -uroot -ppwd@111
数据
密码
数据库
文件
登录
配置
终端
服务
内容
新密
验证
权限
方法
版本
再次
办法
后台
端口
网站
语言
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
国内软件开发发展水平
图片处理成表格数据库
软件开发质量保障体系
社区网络安全宣传工作总结
穿越火线国外服务器
姑苏区正规软件开发预算
软件开发工程师pc
网络技术党建阵地
武汉掌易乐游网络技术公司
公安春节网络安全
增加服务器是什么问题怎么办
关于数据库的实验报告
淘宝客活动没有数据库
国家建立网络安全技术
利用命令提示符创建数据库
中国互联网科技大咖
宝山区即时网络技术展示
hp服务器管理口日志
上海盖世网络技术有限公司开票
网警检查网络安全
专业直销软件开发的博客
上海硬通网络技术有限公司
数据库性能检测
初中学生网络安全的重要性
医院网络安全教育总结
eos软件开发
网络安全部队通报
济南网络安全学院东塔特训营
宁波房数据库
什么是幼儿园网络安全教育