MySQL 5.7及8.0版本数据库的root密码遗忘的解决办法
2019-12-28 10:05
1381 查看
注: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
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 mysql mysql> 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
———————— 本文至此结束,感谢阅读 ————————
相关文章推荐
- MySQL 5.7及8.0版本数据库的root密码遗忘的解决办法
- mysql5.7忘记root密码解决办法
- win7系统下mysql 5.7版本root用户忘记密码怎么解决
- [PHP] ubuntu 16.04系统下解决MySQL 5.7版本的root用户重置密码问题
- mysql忘记数据库的root密码解决办法
- ubuntu 16.04系统下解决MySQL 5.7版本的root用户重置密码问题
- MySQL下载方法及Wind 4000 ows 64 位 mysql 8.0以上版本包解压中没有data目录和my-default.ini和my.ini文件以及服务无法启动的解决办法以及修改初始密码的方法
- Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini和my.ini文件以及服务无法启动的解决办法以及修改初始密码的方法
- Mysql的Root密码遗忘的解决办法
- ubuntu 16.04系统下解决MySQL 5.7版本的root用户重置密码问题
- Mysql 数据库忘记root密码的解决办法
- mysql忘记root密码,解决办法
- mysql 5.7 版本后数据没有字段 password 所以修改 root 密码 需要
- Linux下MySQL忘记root密码的解决办法
- mysql误删除root用户或者忘记root密码时的解决办法
- Linux忘记了数据库root用户密码的解决办法
- mac下mysql忘记root密码的解决办法
- windows下mysql忘记root密码的解决办法
- windows下mysql忘记root密码的解决办法
- MySQL忘记root密码的解决办法