加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL 5.7及8.0版本数据库的root密码遗忘的处理

发布时间:2022-07-01 07:19:49 所属栏目:MySql教程 来源:互联网
导读:注:MySQL5.7破解root密码,跳过密码认证登录到数据库,直接修改表中的密码即可,但是MySQL 8.0则不可以这样修改root密码,需要跳过密码认证登录到数据库后,先将root密码设置为空,然后才可以登录到数据库,修改root密码。 1、遗忘MySQL 5.7数据库的root
  注:MySQL5.7破解root密码,跳过密码认证登录到数据库,直接修改表中的密码即可,但是MySQL 8.0则不可以这样修改root密码,需要跳过密码认证登录到数据库后,先将root密码设置为空,然后才可以登录到数据库,修改root密码。
 
  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       
 
  #使用新密码进行登录测试
  [root@mysql01 ~]# mysql -uroot -ppwd@111

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读