忘记mysql超户密码的解决方法

本文章针对用yum安装的mariadb数据库,如果是tar包安装的mysql数据库,只是数据库命令的关闭启动方式不同而已。

方法一:
[root@localhost ~]# killall -u mysql
[root@localhost ~]# mysqld_safe --skip-grant-tables &
按一次回车
[root@localhost ~]# jobs
[1]+ 运行中 mysqld_safe --skip-grant-tables &
[root@localhost ~]# mysql
MariaDB [(none)]> use mysql
MariaDB [mysql]> update user set password=password('111111') where user='root';

mysql 5.7以上的版本请使用以下命令:

MariaDB [mysql]> update user set authentication_string=password('111111') where user='root';
MariaDB [mysql]> flush privileges;
MariaDB [mysql]> exit
[root@localhost ~]# ps
PID TTY TIME CMD
8115 pts/0 00:00:00 bash
10021 pts/0 00:00:00 mysqld_safe
10193 pts/0 00:00:00 ps
[root@localhost ~]# kill -9 10021
[root@localhost ~]# ps
PID TTY TIME CMD
8115 pts/0 00:00:00 bash
10195 pts/0 00:00:00 ps
[1]+ 已杀死 mysqld_safe --skip-grant-tables
[root@localhost ~]# mysql -uroot -p'111111'

方法二:
[root@localhost ~]# vim /etc/my.cnf
添加:
[mysqld]
port=3306
socket=/tmp/mysql.sock
skip-external-locking
skip_grant_tables
[root@localhost ~]# killall -u mysql
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# mysql
MariaDB [(none)]> update mysql.user set password=password('123123') where user='root';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit
[root@localhost ~]# vim /etc/my.cnf
删除添加的五行:
[root@localhost ~]# mysql -uroot -p'123123'

posted @ 2019-10-11 11:01  有无  阅读(152)  评论(0编辑  收藏  举报

博客记录了我学习linux过程中的一些问题及解决方法,内容可能仅适用于个人,如带来不便,望请见谅!