我正在尝试重置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
对此我感到非常沮丧。
答案 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子句,因此您将使用相同的密码更新所有用户!