superlinux

mysql忘记密码找回的方法:
在找回之前需要对 --skip-networking 参数进行了解
--skip-grant-tables: 关闭mysql验证模块

同时还需要关闭远程连接(避免他人连接修改)
--skip-networking : 关闭TCP/IP连接

知道以上两个参数后 现在可以进行找回密码:
使用 mysqld_safe 启动mysql

mysqld_safe --skip-grant-tables --skip-networking &

启动完成后 输入 mysql 即可无密码登录

直接插入新的账号密码:

INSERT INTO mysql.user VALUES 
(\'localhost\',
\'root\',
PASSWORD(\'123\'),
\'Y\',
\'Y\',
\'Y\',
\'Y\',
\'Y\',
\'Y\',
\'Y\',
\'Y\',
\'Y\',
\'Y\',
\'Y\',
\'Y\',
\'Y\',
\'Y\',
\'Y\',
\'Y\',
\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'Y\',\'\',\'\',\'\',\'\',
0,0,0,0,\'mysql_native_password\',\'\',\'N\');

创建成功后,查询创建的用户情况:

mysql> select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
+------+-----------+-------------------------------------------+
1 row in set (0.00 sec)

验证结果:

[root@db01 ~]# mysql -uroot -p123
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.38 Source distribution

Copyright (c) 2000, 2017, 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.

重新启动数据库 改为正常模式(不再使用--skip-grant-tables --skip-networking)

分类:

技术点:

相关文章: