首页 > CentOS > MySQL 5.7/Mariadb 重置root 密码
2015
12-01

MySQL 5.7/Mariadb 重置root 密码

MySQL 5.7/Mariadb  重置root 密码

方法一

1、编辑 /etc/my.cnf
在[mysqld]配置段添加如下一行:
skip-grant-tables
保存退出。

2、重起mysql 或 mariadb

# service mysqld restart
# service mariadb restart

3、登陆mysql 不用输入密码直接回车

# mysql -uroot -p

4、修改密码

use mysql;
update user set password=PASSWORD("newpassword") where user='root';
flush privileges;

5、把第一步骤的/etc/my.cnf 文件里的 skip-grant-tables 删除保存,并重起mysql 服务。
方法二、

1、停止MySQL 服务

# service mysqld stop

2、启动mysql 服务跳过权限验证

# mysqld --user=mysql --console --skip-grant-tables&

3、登陆mysql 控制台更换密码

不用输入密码直接回车

# mysql -p

4、输入以下sql 重置root 密码

use mysql;
update mysql.user set authentication_string=password('newpassword') where user='root' and Host = 'localhost'; #mysql 5.7 及以上版本使用
update user set password=password('newpassword') where user='root'; #mysql 5.7 以下版本使用
flush privileges;
quit;

5、杀到刚刚启动的进程

 

[root@localhost ~]# ps -ef|grep mysqd

root 10306 8631 0 10:29 pts/1 00:00:00 grep --color=auto mysqd
[root@localhost ~]# ps -ef|grep mysqld
mysql 8601 1 0 10:14 ? 00:00:00 mysqld --user=mysql --console --skip-grant-tables
root 10308 8631 0 10:29 pts/1 00:00:00 grep --color=auto mysqld
[root@localhost ~]# kill 8601

 

6、 正常模式启动mysql 然后就可以使用已修改的密码了。

# service mysqld start

 

最后编辑:
作者:dnybz
这个作者貌似有点懒,什么都没有留下。