我最近安装了MySQL,似乎在安装后我必须重置密码。它不让我做别的事。

现在我已经用通常的方式重置了密码:

update user set password = password('XXX') where user = root;

(顺便说一句:我花了很长时间才发现MySQL出于某种奇怪的原因将字段“password”重命名为“authentication_string”。我对这样的变化感到很不安。

不幸的是,似乎我需要改变密码不同的方式,我不知道。也许在座有人已经遇到过这个问题了?


当前回答

我在Mac上也有同样的问题

首先,用沙箱模式登录mysql

mysql -u <user> -p --connect-expired-password

然后,设置密码

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('XXXX');

Query OK, 0 rows affected, 1 warning (0.01 sec)

它适用于我~

通过https://dba.stackexchange.com/questions/118852/your-paswssword-has-expired-after-restart-mysql-when-updated-mysql-5-7-8-rcde

其他回答

当你使用SET PASSWORD = PASSWORD('your_new_password');它可能会为此崩溃

错误1819 (HY000):您的密码不符合当前策略 需求)

.你可以使用SET GLOBAL validate_password_policy=LOW;去解决它。

也许可以试试?

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('XXX');

or

SET PASSWORD FOR 'root'@'%' = PASSWORD('XXX');

这取决于您使用的访问。

(并且不确定是否应该更改自己的字段名…)

https://dev.mysql.com/doc/refman/5.0/en/set-password.html

要更改用户密码:

首先,以root登录 $ sudo mysql 修改用户密码 修改用户名:USER @ localhost

运行这些:

$ cd /usr/local/mysql/bin
$ ./mysqladmin -u root password 'password'

然后运行

./mysql -u root

它应该登录。现在运行 冲洗特权;

然后退出MySQL控制台并尝试登录。如果这不起作用,运行这些:

$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET authentication_string=PASSWORD("XXXXXXX") WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

修改xxxxxx为新密码。然后再次尝试登录。

更新。 请看这个http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

它应该能解决你的问题。

如果你在甲骨文试试这个

ALTER USER username IDENTIFIED BY password

我在Mac上也有同样的问题

首先,用沙箱模式登录mysql

mysql -u <user> -p --connect-expired-password

然后,设置密码

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('XXXX');

Query OK, 0 rows affected, 1 warning (0.01 sec)

它适用于我~

通过https://dba.stackexchange.com/questions/118852/your-paswssword-has-expired-after-restart-mysql-when-updated-mysql-5-7-8-rcde