重置mariadb的root密码不起作用

时间:2019-12-20 14:23:54

标签: mysql mariadb

我正在尝试重置mariadb数据库的根密码,到目前为止,我已经按照教程的每个变化进行了设置,因此,每次尝试使用新密码登录时,它都不会接受。

主要是我一直在做的事情:

mysqld_safe --skip-grant-tables --skip-networking &
mysql -u root -e 'use mysql; update user SET PASSWORD=PASSWORD("jkjkjkjjk"); flush privileges;'

我还尝试在flush privileges;命令之前添加一个额外的udpate,并将其从末尾删除,例如SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');

我正在将mariadb与galera一起使用,并在kubernetes statefulset上运行(如果相关)。 mariadb的版本为mysqld 10.3.21-MariaDB-1:10.3.21+maria~bionic

对此我感到非常沮丧。

1 个答案:

答案 0 :(得分:1)

您需要执行的操作如下:

通过类似以下方式停止mysql服务:

sudo systemctl stop mariadb

然后重新启动

sudo mysqld_safe --skip-grant-tables &

不用密码登录

mysql -u root

更新密码

use mysql;
 update user SET PASSWORD=PASSWORD("password") WHERE USER='root';
 flush privileges;
 exit

正常重启数据库

sudo systemctl start mariadb

这假设您使用的是Linux机器,并且可以访问Shell。 请注意,在更新查询中,您还缺少where子句,因此您将使用相同的密码更新所有用户!