0
点赞
收藏
分享

微信扫一扫

MySQL 忘记密码解决方案

芒果六斤半 2023-12-12 阅读 28

数据库版本

5.7.30

1配置文件中去掉认证

编辑my.cnf服务配置文件
 [mysqld]段段中加入 skip-grant-tables语句

2本地root账号免密登陆

[root@mysql0006 bin]# ./mysql -uroot -p
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.30-log Source distribution
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

3查看所有数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

4选择mysql数据库

mysql> use mysql;
Database changed

5修改密码

因为当前版本password字段已经被authentication_string替换

mysql> update user set password=password("root")where user='root';
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
mysql> update user set authentication_string=password("root")where user='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

6刷新权限

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

7退出

mysql> quit

8去掉免密登陆字段

修改my.cnf文件

[mysqld]段中 skip-grant-tables语句


9授权登陆

登陆数据库,授权远程访问权限

mysql -uroot -proot

root用户使用密码从任何主机连接到mysql服务器:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

刷新权限

flush privileges;

注意

修改密码之后,无法立刻操作mysql数据库,退出之后,重新连接mysql
执行语句报错:
You must reset your password using ALTER USER statement before executing this statement
执行如下指令,保存退出解决问题
set password = password("root");

举报

相关推荐

0 条评论