在 OSX 上重置 MySQL/MariaDB 密码

2022-01-15 00:00:00 homebrew mariadb mysql

在遵循 本指南.它一直工作正常,但是今天 root 密码已过期,我似乎无法使用任何 -skip-grant-tables --skip-networking 类型选项重置它.

I have installed MariaDB via Homebrew after following this guide. It has been working fine, however today the root password has expired and I cannot seem to reset it with any of the —skip-grant-tables —skip-networking type options.

到目前为止我已经尝试过:

So far I have tried:

brew services stop mariadb
mysqld_safe --skip-grant-tables --skip-networking
mysql_secure_installation

也试过

mysql_secure_installation --connect-expired-password

这给了我:

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
/usr/local/Cellar/mariadb/10.3.13_1/bin/mysql: unknown option '--connect-expired-password'
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y
New password: 
Re-enter new password: 
/usr/local/Cellar/mariadb/10.3.13_1/bin/mysql: unknown option '--connect-expired-password'
Password update failed!
Cleaning up...

我还添加了:

[mysqld]
default_password_lifetime=0
skip-grant-tables

/usr/local/etc/my.cnf

仍然不允许我使用上述命令更新 root 密码.Brew Doctor 干净利落地回来了,我已经没有东西可以尝试了.

Still doesn't let me update the root password with the above commands. Brew doctor comes back clean and I'm running out of things to try.

推荐答案

登录

mysql -uroot

那就做吧

set password = password("your_password");

相关文章