重置mariadb的root密码不起作用 [英] Resetting root password for mariadb does not work

查看:127
本文介绍了重置mariadb的root密码不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am trying to reset the root password for a mariadb database, followed every variation of tutorial to do so I've found so far, and every time I try to log in with the new password, it does not accept it.

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

Mainly, this is what I've been doing:

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

我还尝试在 udpate 命令之前添加其他 flush特权; ,并将其从末尾删除,重置密码的其他变体,例如为'root'@'localhost'设置密码= PASSWORD('new_password');

I also tried adding an additional flush privileges; before the udpate command, removing it from the end as well, different variations for reset password, such as SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');

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

I am using mariadb with galera, running on kubernetes statefulset, if relevant. version of mariadb is mysqld 10.3.21-MariaDB-1:10.3.21+maria~bionic

对此我感到非常沮丧.

推荐答案

您需要执行的操作如下:

what you have to do is the following:

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

stop the mysql service with something like:

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子句,因此您将使用相同的密码更新所有用户!

This assuming you are using a linux machine and you have access to the shell. Note that in your update query you are also missing the where clause so that you are updating ALL your users with the same password!

这篇关于重置mariadb的root密码不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆