我想在MySQL中创建一个新用户,语法如下:
create user 'demo'@'localhost' identified by 'password';
但是它会返回一个错误:
您的密码不符合当前策略要求。
我试过很多密码,但都没用。我该如何解决这个问题?
我想在MySQL中创建一个新用户,语法如下:
create user 'demo'@'localhost' identified by 'password';
但是它会返回一个错误:
您的密码不符合当前策略要求。
我试过很多密码,但都没用。我该如何解决这个问题?
当前回答
对我来说,在ubuntu新安装的mysqld上不起作用,必须添加这个:到/etc/mysql/mysql.conf.d/mysqld.cnf,否则服务器不会启动(猜测插件没有在正确的时间加载,当我只是添加它而没有plugin-load-add指令时)
plugin-load-add=validate_password.so
validate_password_policy=LOW
validate_password_length=8
validate_password_mixed_case_count=0
validate_password_number_count=0
validate_password_special_char_count=0
其他回答
步骤1:检查默认的身份验证插件
SHOW VARIABLES LIKE 'default_authentication_plugin';
步骤2:veryfing您的密码验证要求
SHOW VARIABLES LIKE 'validate_password%';
步骤3:使用正确的密码要求设置用户
CREATE USER '<your_user>'@'localhost' IDENTIFIED WITH '<your_default_auth_plugin>' BY 'password';
如果mysql托管在aws上,只需卸载插件。从根用户火下面
UNINSTALL PLUGIN validate_password;
MySQL 8*
SET GLOBAL validate_password.policy=LOW
参考链接解释政策-点击这里
这是phpmyadmin中的一个错误。启动mysql
sudo mysql -p
然后执行如下命令:
SET GLOBAL validate_password.policy = 0;
现在您可以更改密码了。如果你喜欢,你可以在它之后重置它:
SET GLOBAL validate_password.policy = MEDIUM;
(您可以使用低,中或高)
然后执行exit关闭mysql。
这里找到了解决方案。
在我的例子中,当有一个错误的引用时,错误就出现了:
GRANT所有database_name。* ' user1 ' @'8.10.12.2';(用户名周围的单引号错误)
vs
GRANT所有database_name。* 'user1'@'8.10.12.2';(正确)