似乎我无意中在MySQL 5.7中加载了密码验证插件。这个插件似乎强制所有密码遵守某些规则。
我想把这个关了。
我已经尝试按照这里的建议更改validate_password_length变量,但没有用。
mysql> SET GLOBAL validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD FOR 'app' = PASSWORD('abcd');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
我想要么卸载插件或中性它以某种方式。
对于参考文献和未来,你应该阅读这里的文档https://dev.mysql.com/doc/mysql-secure-deployment-guide/5.7/en/secure-deployment-password-validation.html
然后你应该编辑你的mysqld.cnf文件,例如:
vim /etc/mysql/mysql.conf.d/mysqld.cnf
然后,添加[mysqld]部分,如下所示:
plugin-load-add=validate_password.so
validate_password_policy=LOW
基本上,如果你编辑你的默认,它将看起来像:
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
plugin-load-add=validate_password.so
validate_password_policy=LOW
然后,您可以重新启动:
systemctl restart mysql
如果您忘记了plugin-load-add=validate_password。所以部分,你会在重新启动时出现错误。
享受吧!
我在Ubuntu 18.04的Mysql上遇到了一个问题。当我需要创建一个新用户时,策略总是高的。
我想出了如何禁用的方法,为将来来调查的同事设置为低。
以root用户登录mysql服务器
mysql -h localhost -u root -p
设置新的验证类型
SET GLOBAL validate_password_policy=0; //For Low
重新启动mysql
sudo service mysql restart