MySQL 5.7和8.0版本忘记root密码的解决方法
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化
千家信息网最后更新 2025年02月23日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安全错误
数据库的锁怎样保障安全
服务器性能低的原因
数据库表怎么设计
长沙app软件开发团队
直播服务器局域网版
安徽手机软件开发培训
2017计算机网络技术
二五六互联网科技公司好不好
三级以上网络安全事件
网络安全问题的宣传画
预防网络安全的意识
企业版的云服务器今日价格
软件开发经理是做什么的
网络安全法微信传播虚假信息
数据库管理页面
软件开发有限公司的要求
纵目科技网络安全投资
给数据库表增加一列
华水579数据库技术
文明与征服选哪个服务器
数据库设计er图六个实体
免费领服务器
安徽太白服务器
国家网络安全峰会郑州
国家网络安全人才学院
redis内存数据库
技术中数据库管理概念
数据库文字套路
河北特种网络技术服务设计
DC服务器可装那些组件
广东白山网络安全协会