mysql 1819错误_关于数据库密码报错MySQL ERROR 1819 (HY000): Your password d

您可能已经注意到,在为MySQL数据库服务器的root设置密码时,系统会提示您启用“验证密码”组件。如果启用,验证密码组件将自动检查给定密码的强度,并强制用户只设置足够安全的密码。如果您提供了一个简单的弱密码,您将会遇到类似于“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements.”这样的错误。从技术上讲,这实际上不是一个错误。这是一个内置的安全机制,根据当前密码策略的要求通知用户只提供复杂的强密码。

让我给你看一个例子。我使用以下命令以root用户身份登录到MySQL服务器:

$ mysql -u root -p

使用弱密码创建数据库用户:

mysql> create user 'ostechnix'@'localhost' identified by 'mypassword';

我遇到以下错误:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

7931f10194497bdc705de433c3d7151f.png

看到了吗?验证密码组件不允许我创建一个弱密码的用户。您将一直收到此错误提示,直到密码满足当前密码策略的要求,或者禁用Validate password组件。

修复– MySQL错误1819(HY000):您的密码不符合当前的策略要求

启用“验证密码”时,将强制实施三个级别的密码验证策略:

低强度> = 8个字符。

中等强度> = 8,数字,大小写混合和特殊字符。

高强度> = 8,数字,大小写混合,特殊字符和词典文件。

根据这些策略级别,您需要设置适当的密码。例如,如果密码验证策略设置为“中”,则必须设置密码,密码至少包含8个字符,包括数字,小写字母,大写字母和特殊字符。

首先,我们需要找到当前的密码策略级别。为此,请运行以下命令以显示“密码验证插件”系统变量:

mysql> SHOW VARIABLES LIKE 'validate_password%';

10d94343e0083d7394282bb316056723.png

大家可以看到,目前强制执行的密码等级是Medium,中等强度。所以我们的密码应该是8个字符长,有数字、混合大小写和特殊字符。

我将使用命令设置这个密码--Password123#@!

mysql> create user 'ostechnix'@'localhost' identified by 'Password123#@!';

01147eaaaf5a4e42616137db02307c91.png

看到?现在可以使用了!因此,为了解决“ ERROR 1819(HY000)…”错误,您需要根据当前密码验证策略输入密码。

更改密码验证政策

您还可以通过设置较低级别的密码策略来解决“ ERROR 1819(HY000)…”。

为此,请在mysql提示符下运行以下命令:

mysql> SET GLOBAL validate_password.policy = 0;

要么,

mysql> SET GLOBAL validate_password.policy=LOW;

然后检查密码验证策略是否已更改为低:

mysql> SHOW VARIABLES LIKE 'validate_password%';

现在你可以创建一个用户与弱密码如下:

mysql> create user 'senthil'@'localhost' identified by 'password';

5e74ac1854b6c2ea9cd8ab5c1d28e731.png

要恢复到中级策略,只需在mysql提示符下运行以下命令:

mysql> SET GLOBAL validate_password.policy=MEDIUM;

如果密码策略未更改,请从mysql提示符退出,然后从“终端”窗口重新启动mysql服务:

$ sudo systemctl restart mysql

现在应该可以了。

禁用密码验证策略

如果您想使用弱密码创建用户,只需完全禁用“验证密码”组件,然后在创建用户后重新启用它即可。

登录到MySQL服务器:

$ mysql -u root -p

要临时禁用验证密码组件,请在mysql提示符下运行以下命令:

mysql> UNINSTALL COMPONENT "file://component_validate_password";

使用您选择的任何密码创建用户:

mysql> create user 'kumar'@'localhost' identified by '123456';

最后,启用验证密码组件:

mysql> INSTALL COMPONENT "file://component_validate_password";

9ec63460a20b1a3d4bb2b2d966a5ae47.png

我个人不建议将策略更改为较低级别或禁用密码策略。无论是数据库用户还是普通用户,都应该使用包含8个以上字符的强密码,包括数字、混合大小写和空格字符。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值