MySQL数据库管理员密码忘记如何修改?

系统环境:centos7

数据库版本:mysql  Ver 14.14 Distrib 5.7.29, for linux-glibc2.12 (x86_64) using  EditLine wrapper

一:首先要关闭数据库,以什么方式启动的数据库就要以什么方式结束数据库

1 [root@db01 ~]#systemctl stop mysql
2 [root@db01 ~]#ss -ntl
3 State       Recv-Q Send-Q               Local Address:Port                              Peer Address:Port              
4 LISTEN      0      128                              *:22                                           *:*                  
5 LISTEN      0      128                           [::]:22                                        [::]:* 

二:在命令行界面执行,如下命令,执行完成后,数据库root账户的密码就清空了

[root@db01 ~]#mysqld_safe --skip-grant-tables --skip-networking &
[1] 15143
[root@db01 ~]#2020-12-14T12:13:17.814024Z mysqld_safe Logging to '/data/mysql/data/db01.err'.
2020-12-14T12:13:17.843723Z mysqld_safe Starting mysqld daemon with databases from /data/mysql/data

三: 登录数据库,这个时候数据库没有密码的,如下

[root@db01 ~]#mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.29 MySQL Community Server (GPL)

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.

mysql> 

四:修改数据库的密码,如下

mysql> alter user root@localhost identified by '123456';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

在执行上述语句后,mysql会报错,继续执行如下语句,如下

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

再一次执行修改密码的命令,如下,

mysql> alter user root@localhost identified by '123456';
Query OK, 0 rows affected (0.00 sec)

  出现如上信息,说明数据库密码修改成功。

五:停止数据库的进程并登录验证数据库

 停止数据库的相关进程

pkill mysqld

数据库进程结束后,马上要启动数据库
systemctl start mysqld
[root@db01 ~]#mysql -uroot -p123456
mysql: [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 3
Server version: 5.7.29 MySQL Community Server (GPL)

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.

mysql> 

  由以上信息可知,数据库登录成功

  

 

上一篇:MySQL高可用方案——双主


下一篇:第一章•MySQL介绍及安装