date:
updated:

MariaDB误删了root账户怎么办?


本文 针对Debian系统上安装的MariaDB (MySQL)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 切换到root账号
su root

# 停止MySQL
systemctl stop mariadb.service

# 启动安全模式
mysqld_safe --skip-grant-tables

# 191012 19:49:44 mysqld_safe Logging to syslog.
# 191012 19:49:44 mysqld_safe A mysqld process already exists
# 如果出现以上内容的话,就需要杀死mysqld的进程
ps -ef | grep mysql
kill <PID>
# 然后再启动安全模式

# 191012 19:17:01 mysqld_safe Logging to syslog.
# 191012 19:17:01 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
# 输出以上内容后,连按三下Ctrl+C,然后输入
mysql

然后就会直接进入安全模式的MariaDB

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*选择mysql库*/
USE mysql;

/*新建一个root账号,密码为[@Abcd123123]*/
INSERT INTO user(Host,User,Password,Grant_priv) VALUES('%','root',PASSWORD('@Abcd123123'),'Y');

/*看看root创建成功了没有*/
SELECT Host,User,Password FROM user;

/*刷新权限(退出安全模式),赋予权限*/
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES on *.* TO root@'%';

/*现在已经可以正常使用新建的root账户了*/

← Prev 如何解决VMwareWorkstation与Device/CredentialGuard不兼容 | 设置Apache启用https,配置证书 Next →
打赏
支付宝 | Alipay
微信 | WeChat