再也不用担心忘记MySQL密码该怎么办了——不用怕,有这一篇就足够!

原因:之前自己服务器上的MySQL很久不用了,现在突然需要用到,但是忘记密码了,所以写一下解决方案,供自己和各位做个参考!

解决办法

1、检查mysql服务是否启动,如果启动,关闭mysql服务

[root@localhost ~]# systemctl stop mysqld
[root@localhost ~]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Sun 2020-10-11 07:59:51 EDT; 1s ago

2、修改mysql的配置文件my.conf

[root@localhost ~]# vi /etc/my.cnf
## 在 [mysqld] 下添加最后一行代码
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
skip-grant-tables    ## 添加此行代码即可!
 == > > wq 保存退出

3、启动数据库

[root@localhost ~]# systemctl start mysqld

4、进入MySQL数据库

[root@localhost ~]# mysql -u root -p
Enter password:    ## 不需要输入密码,直接回车!!!

mysql> use mysql;
mysql> update mysql.user set authentication_string=password('password') where user='root';
## password替换成你想要的密码
mysql> exit;   
改完之后退出MySQL即可

5、删掉之前添加的配置文件

[root@localhost ~]# vi /etc/my.cnf
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
skip-grant-tables    ## 现在删掉此行代码即可!
== >> wq 保存退出

[root@localhost ~]# systemctl restart mysqld  ## 在重启服务器

到这里就更改完成了,随后只需要正常登录MySQL即可。
注意更改完配置文件之后,需要重新启动MySQL,让配置文件生效!

猜你喜欢

转载自blog.csdn.net/m0_46563938/article/details/109016100