问题
执行报错
You must reset your password using ALTER USER statement before executing this statement
解决
5.7.6 以前
MySQL版本5.7.6版本以前用户可以使用如下命令:
mysql> SET PASSWORD = PASSWORD('123456');
5.7.6
MySQL版本5.7.6版本开始的用户可以使用如下命令:
mysql> ALTER USER USER() IDENTIFIED BY '123456';
执行以上语句报 Your password does not satisfy the current policy requirements
修改mysql密码出现的错误
5.7版本
set global validate_password_policy=0;
set global validate_password_length=1;
mysql 添加一个新账户,设置密码
查看 mysql 版本
mysql> select @@version;
+-----------+
| @@version |
+-----------+
| 5.7.31 |
+-----------+
希望为有些场景单独创建一个新的账户。
执行这个查询语句后,MySQL 将返回一个包含版本信息的结果集。这个版本信息包括 MySQL 服务器的主版本号、次版本号以及补丁级别等详细信息。
如果你正在使用命令行界面,可以打开 MySQL 命令行客户端,然后输入上述查询语句。
如果你正在使用 MySQL 的图形化界面工具,通常也有一个执行 SQL 查询的界面,你可以在那里输入查询语句并查看结果。
请注意,我提供的信息是基于截至 2021 年的情况。如果你在之后的时间查询,可能会有更新,建议查阅 MySQL 官方文档以获取最新信息。
添加一个新账户
在 MySQL 中,要添加一个新用户,你需要执行以下步骤:
-
登录到 MySQL 服务器: 使用具有管理员权限的用户(例如,root 用户)登录到 MySQL 服务器。你可以使用以下命令登录:
mysql -u root -p
然后会提示你输入密码。
-
创建新用户: 一旦登录成功,你可以使用以下 SQL 查询语句来创建新用户。将
<username>
替换为你要创建的用户名,而<password>
则替换为你想要设置的密码。CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';
注意,上述查询中的
'localhost'
表示新用户只能从本地连接。如果你希望允许从任意主机连接,可以将'localhost'
替换为'%'
。 -
授予权限: 接下来,你需要为新用户授予适当的数据库权限。以下是一些示例权限授予语句:
-
授予新用户对特定数据库的全部权限:
GRANT ALL PRIVILEGES ON <database_name>.* TO '<username>'@'localhost';
-
授予新用户对所有数据库的全部权限:
GRANT ALL PRIVILEGES ON *.* TO '<username>'@'localhost';
-
如果你只需要授予特定权限,可以根据需要分配权限,例如:
GRANT SELECT, INSERT, UPDATE ON <database_name>.* TO '<username>'@'localhost';
-
-
使更改生效: 在授予权限后,你需要使更改生效:
FLUSH PRIVILEGES;
-
退出 MySQL 客户端: 当你完成上述步骤后,可以使用以下命令退出 MySQL 客户端:
EXIT;
请注意,创建用户和授予权限需要足够的管理员权限。在实际生产环境中,确保为用户分配最小必需的权限,以增加数据库的安全性。
同时,根据 MySQL 版本和配置的不同,上述步骤可能会有所变化。
实战
实战添加一个 flyway 账户。
-- 创建 flyway
CREATE USER 'flyway'@'localhost' IDENTIFIED BY '123456';
-- 添加所有权限
GRANT ALL PRIVILEGES ON *.* TO 'flyway'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
退出后,重新使用新的密码登录即可。
参考资料
https://blog.csdn.net/jianyan__/article/details/108291379
https://stackoverflow.com/questions/33467337/reset-mysql-root-password-using-alter-user-statement-after-install-on-mac
解决You must reset your password using ALTER USER statement before executing this statement.错误
https://blog.csdn.net/qq_32077121/article/details/118578343