Кажется, что я, возможно, случайно загрузил плагин проверки пароля в 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
Я хотел бы как-то выгрузить плагин или его.
Ответ 1
Вот что я делаю, чтобы удалить плагин проверки пароля:
- Войдите на сервер mysql как root.
mysql -h localhost -u root -p
- Запустите следующую команду sql:
uninstall plugin validate_password;
Я бы не рекомендовал это решение для производственной системы. Я использовал это решение на локальном экземпляре mysql только для целей разработки.
Ответ 2
Основываясь на ответе от Sharfi, отредактируйте файл /etc/my.cnf и добавьте только одну строку:
validate_password_policy=LOW
Это должно в достаточной степени нейтрализовать валидацию, как того требует ФП. Возможно, вы захотите перезапустить mysqld после этого изменения. В зависимости от вашей ОС это будет выглядеть примерно так:
sudo service mysqld restart
validate_password_policy принимает либо значения 0, 1 или 2, либо слова LOW, MEDIUM и STRONG, которые соответствуют этим числам. По умолчанию используется значение MEDIUM (1), для которого требуется, чтобы пароли содержали как минимум одну заглавную букву, одну строчную букву, одну цифру и один специальный символ, а общая длина пароля - не менее 8 символов. Изменение на LOW, как я предлагаю здесь, будет проверять только длину, которая, если она не была изменена с помощью других параметров, будет проверять длину 8. Если вы хотите сократить это ограничение длины, вы также можете добавить validate_password_length в файл my.cnf.
Для получения дополнительной информации об уровнях и деталях, см. Документ MySQL.
Для MySQL 8 свойство было изменено с "validate_password_policy" на "validate_password.policy". Смотрите обновленную документацию MySQL для получения последней информации.
Ответ 3
Я использую MySQL v 8.0.12, и команда для отключения компонента проверки пароля:
UNINSTALL COMPONENT 'file://component_validate_password';
Чтобы установить его снова, команда:
INSTALL COMPONENT 'file://component_validate_password';
Если вы просто хотите изменить политику плагина проверки пароля:
SET GLOBAL validate_password.policy = 0; // For LOW
SET GLOBAL validate_password.policy = 1; // For MEDIUM
SET GLOBAL validate_password.policy = 2; // For HIGH
Ответ 4
Чтобы отключить проверки паролей в mariadb-10.1.24 (Fedora 24), мне пришлось прокомментировать строку в файле /etc/my.cnf.d/cracklib_password_check.cnf:
;plugin-load-add=cracklib_password_check.so
затем перезапустите службу mariadb:
systemctl restart mariadb.service
Ответ 5
Вы можете настроить это в конфигурационном файле mysql, /etc/my.cnf
файл /etc/my.cnf
В этом файле все строки, которые настраивают политику паролей, делают те, что прокомментированы, как
#validate-password=FORCE_PLUS_PERMANENT
#validate_password_length=10
#validate_password_mixed_case_count=1
#validate_password_number_count=1
#validate_password_policy=MEDIUM
Раскомментируйте и измените значение свойств, которые вы хотите изменить.
Ответ 6
Если вы хотите сделать исключения, вы можете применить следующий "взлом". Для этого требуется пользователь с DELETE
и INSERT
для системной таблицы mysql.plugin
.
uninstall plugin validate_password;
SET PASSWORD FOR 'app' = PASSWORD('abcd');
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
Отказ от ответственности за бланды: подумайте, почему вы делаете свой пароль короче или проще и, возможно, подумайте о замене его более сложным. Тем не менее, я понимаю моменты "это 3AM и просто нужно работать", просто убедитесь, что вы не создаете систему хаков, чтобы вы сами не были взломаны.
Ответ 7
В дополнение к ответу от ktbos:
Я изменил файл mysqld.cnf и mysql не смог запустить.
Оказалось, что я изменяю неправильный файл!
Поэтому убедитесь, что файл, который вы модифицируете, содержит сегментные теги, такие как [mysqld_safe] и [mysqld]. При последнем я сделал, как было предложено, и добавил строку:
validate_password_policy=LOW
Это сработало отлично, чтобы решить мою проблему не требуя специальных символов в пароле.
Ответ 8
У меня была проблема на Ubuntu 18.04 на Mysql. Когда мне нужно было создать нового пользователя, политика всегда была высокой.
Способ, которым я понял, как отключить, для будущих коллег, которые приезжают, чтобы исследовать, был установлен на низком уровне.
Войдите на сервер MySQL под учетной записью root
mysql -h localhost -u root -p
Установите новый тип проверки
SET GLOBAL validate_password_policy=0; //For Low
Перезапустите MySQL
sudo service mysql restart
Ответ 9
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'organizer'@'localhost' WITH GRANT OPTION;
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'organizer'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
нет необходимости останавливать/запускать MySQL
Ответ 10
Удаление:
mysql> uninstall plugin validate_password;
Деинсталлированный плагин не отображается в show plugins;
Установка:
mysql> install plugin validate_password SONAME 'validate_password.so';
Отключено по конфигурации:
[mysqld]
validate_password = OFF
Плагин можно отключить по конфигурации, только если он установлен.
Ответ 11
Для mysql 8.0.7, перейдите в каталог mysql и используйте:
sudo bin/mysql_secure_installation
настроить опцию пароля.