Подтвердить что ты не робот

Как отключить проверку пароля mysql?

Кажется, что я, возможно, случайно загрузил плагин проверки пароля в 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

Я хотел бы как-то выгрузить плагин или его.

4b9b3361

Ответ 1

Вот что я делаю, чтобы удалить плагин проверки пароля:

  1. Войдите на сервер mysql как root. mysql -h localhost -u root -p
  2. Запустите следующую команду 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

настроить опцию пароля.