我想在MySQL中创建一个新用户,语法如下:
create user 'demo'@'localhost' identified by 'password';
但是它会返回一个错误:
您的密码不符合当前策略要求。
我试过很多密码,但都没用。我该如何解决这个问题?
我想在MySQL中创建一个新用户,语法如下:
create user 'demo'@'localhost' identified by 'password';
但是它会返回一个错误:
您的密码不符合当前策略要求。
我试过很多密码,但都没用。我该如何解决这个问题?
当前回答
如果mysql托管在aws上,只需卸载插件。从根用户火下面
UNINSTALL PLUGIN validate_password;
其他回答
执行sudo mysql_secure_installation. sh命令后。
2 .执行sudo mysql命令,进入“mysql”界面。 运行SELECT user,authentication_string,plugin,host FROM mysql.user;检查root用户是否有插件auth_socket。 然后运行卸载插件validate_password;在运行之前删除特权 this ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
注意:查看这个链接https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04以获得更多帮助
我有同样的问题,答案就在你面前,记得当你在安装mysql的时候运行脚本
sudo mysql_secure_installation
您可以在某个地方选择想要的密码类型
密码验证策略有三种级别:
LOW长度>= 8 中等长度>= 8,数字,混合大小写,特殊字符 STRONG长度>= 8,数字,混合大小写,特殊字符和字典文件
请输入0 = LOW, 1 = MEDIUM, 2 = STRONG:
你必须给相同的策略设置密码
下面是一些密码示例: 对于类型0:abcdabcd 类型1:abcd1234 类型2:ancd@1234
这是phpmyadmin中的一个错误。启动mysql
sudo mysql -p
然后执行如下命令:
SET GLOBAL validate_password.policy = 0;
现在您可以更改密码了。如果你喜欢,你可以在它之后重置它:
SET GLOBAL validate_password.policy = MEDIUM;
(您可以使用低,中或高)
然后执行exit关闭mysql。
这里找到了解决方案。
MySQL 8*
SET GLOBAL validate_password.policy=LOW
参考链接解释政策-点击这里
在我的例子中,当有一个错误的引用时,错误就出现了:
GRANT所有database_name。* ' user1 ' @'8.10.12.2';(用户名周围的单引号错误)
vs
GRANT所有database_name。* 'user1'@'8.10.12.2';(正确)