一、mysql 5.x忘记root密码
1、停止mariadb服务
systemctl stop mariadb
2、修改配置文件 vim /etc/my.cnf
在[mysqld]下添加skip-grant-tables,意思是忽略密码, 保存并退出
3、启动Mariadb
systemctl start mariadb
4、修改密码
# mysql
use mysql;
UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
flush privileges ;
quit
5、改回配置,重启服务
vim /etc/my.cnf 删除skip-grant-tables
systemctl restart mariadb
6、进入数据库
# mysql -uroot -p
输入新密码new-password即可
二、mysql 8.x忘记root密码
1、在配置文件mysqld.cnf下添加 skip-grant-tables
vim /etc/mysql/mysql.conf.d/mysqld.cnf
skip-grant-tables
2、重启MySQL服务
service mysql restart
3、 修改MySQL密码
mysql -u root -p
4、选择管理user表的数据库
use mysql;
# 将authentication_string 置空
update user set authentication_string='' where user='root';
# 将plugin改为以前版本的密码认证方式
update user set plugin='mysql_native_password' where user='root';
# 刷新
FLUSH PRIVILEGES;
# 修改密码
alter user 'root'@'localhost' identified by 'newpassword';
5、 重启MySQL
systemctl restart mysqld
网友评论