Я пытаюсь сбросить пароль root для базы данных 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
Tom Klino 20 Дек 2019 в 17:23

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 и у вас есть доступ к оболочке. Обратите внимание, что в вашем запросе на обновление вы также пропускаете предложение where, поэтому вы обновляете ВСЕХ своих пользователей одним и тем же паролем!

1
Lelio Faieta 20 Дек 2019 в 17:27