Я хочу создать нового пользователя в mysql с помощью синтаксиса:
create user 'demo'@'localhost' identified by 'password';
Но он возвращает ошибку:
Ваш пароль не удовлетворяет требованиям текущей политики.
Я перепробовал множество паролей, но они не работают. Как я могу это исправить?
Из-за вашего пароля. Вы можете увидеть пароль подтверждает метрики конфигурации, используя следующий запрос в клиенте MySQL:
SHOW VARIABLES LIKE 'validate_password%';
или вы можете установить уровень политики паролей ниже, например:
``ini SET GLOBAL validate_password_length = 6; SET GLOBAL validate_password_number_count = 0;
Вы проверяете [Документацию MySQL](https://dev.mysql.com/doc/refman/5.6/en/validate-password-options-variables.html).
ПРИМЕЧАНИЕ: Это может быть небезопасным решением. Но если вы работаете в тестовой среде, вам просто нужно быстрое решение и вас даже не волнуют настройки безопасности. Это быстрое решение.
Та же проблема произошла со мной, когда я запустил "mysql_secure_installation" и изменил уровень безопасности пароля на 'средний'.
Я обошел ошибку, выполнив следующие действия:
mysql -h localhost -u root -p
mysql>uninstall plugin validate_password;
убедитесь, что вы переустановили плагин "validate_password", если это необходимо.
Если вы Don'т волнует, что политика паролей. Вы можете установить его до минимума путем выдачи ниже команды MySQL:
в
mysql> SET GLOBAL validate_password_policy=LOW;
После выполнения команды sudo mysql_secure_installation
.
sudo mysql
, чтобы войти в приглашение mysql.SELECT user,authentication_string,plugin,host FROM mysql.user;
для проверки пользователя root на наличие плагина auth_socket.uninstall plugin validate_password;
для снятия привилегий перед запуском команды
this ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Обязательно измените password на надежный пароль.ПРИМЕЧАНИЕ: посмотрите эту ссылку https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04 для получения дополнительной помощи.
Для MySQL 8*
Набор глобальных validate_password.политика=низкий`
Ссылка на объяснить о политике - нажать здесь
Вы должны изменить политику паролей MySQL на низком уровне.
войдите в систему как root
mysql -u root -p
изменение политики
SET GLOBAL validate_password_policy=LOW;
или
SET GLOBAL validate_password_policy=0;
exit
выход
перезапустить службу MySQL
sudo service mysqld restart
Вы должны изменить политику паролей MySQL, чтобы минимум = 0 / средний = 1 / Высокий = 2.
SET GLOBAL validate_password_policy=0;
SET GLOBAL validate_password_policy=1;
SET GLOBAL validate_password_policy=2;
На мой взгляд установка "и validate_password_policy" С до Я;низкая" и; или удаление "и проверить плагин пароль" не правильно. Вы никогда не должны ставить под угрозу безопасность вашей базы данных (если вы не'т действительно заботитесь). Мне интересно, почему люди даже предлагают эти варианты, когда вы просто можете выбрать хороший пароль.
Чтобы преодолеть эту проблему, я выполнил следующую команду в MySQL: показать переменные как 'validate_password%' как предложил @JNevill. Мой "и validate_password_policy” был установлен в среде, вместе с другими вещами. Вот скриншот его исполнения: проверка политики паролей
В результате пояснений. Для правильного пароля(если пароль для средних):
Поэтому пароль должен подчиняться политике. Примеры допустимых пароль для вышеперечисленных правил может:
Вы можете выбрать любую комбинацию, если он удовлетворяет политика.
Для других "и validate_password_policy на" Вы можете просто посмотреть значения для различных вариантов и выбрать свой пароль соответственно(я не'т судить за и"высокая и").
Шаг 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 8 вы можете использовать следующий скрипт:
SET GLOBAL validate_password.LENGTH = 4;
SET GLOBAL validate_password.policy = 0;
SET GLOBAL validate_password.mixed_case_count = 0;
SET GLOBAL validate_password.number_count = 0;
SET GLOBAL validate_password.special_char_count = 0;
SET GLOBAL validate_password.check_user_name = 0;
ALTER USER 'user'@'localhost' IDENTIFIED BY 'pass';
FLUSH PRIVILEGES;
У меня была такая же проблема и ответ находится прямо перед вами, помните, когда вы запускали скрипт при установке MySQL, как
в <код> В судо mysql_secure_installation </код>
там где вы выбираете, какой тип пароля вы бы выбрали <БР>
Существуют три уровня стратегии проверки пароля:
Низкая длина >= 8 Средней длины >= 8, цифровой, смешанный регистр и специальные символы Сильный длина >= 8, числовые, смешанные, специальные символы и словарь файл
Пожалуйста, введите 0 = низкий, 1 = средне и 2 = сильный:
вы должны дать пароль к той же политике
здесь представлены некоторые образцы примеры для ваших паролей: <БР> для типа 0: <код>пользователь abcdabcd</код><БР> для 1 типа: <код>abcd1234</код><БР> для типа 2: в <код>ancd@1234</код>
Для пользователей сайт Laravel, имеющих эту проблему с MySQL 8.0.X добавьте
'режимы'=> [ 'ONLY_FULL_GROUP_BY', 'STRICT_TRANS_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ERROR_FOR_DIVISION_BY_ZERO', 'NO_ENGINE_SUBSTITUTION', ],
в ваш файл database.php как ниже:
``
// database.php
'подключения' => [
'MySQL и#39; => [ 'водителя' => 'с MySQL', 'хозяин' => ОКР( 'DB_HOST', '127.0.0.1' ), 'порту' => ОКР( 'DB_PORT', '3306' ), 'базы данных' => В ОКР( 'DB_DATABASE', 'кузница' ), 'логин' => ОКР( 'DB_USERNAME', 'кузница' ), 'пароль' => ОКР( 'ПАРОЛЬ_БАЗЫ_ДАННЫХ', '' ), 'unix_socket' => ОКР( 'DB_SOCKET', '' ), 'кодировка' => 'utf8mb4', 'обобщение' => 'utf8mb4_unicode_ci', 'префикс' => '', 'жестких' => правда, 'двигатель' => нуль, 'режимы' => [ 'ONLY_FULL_GROUP_BY', 'STRICT_TRANS_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ERROR_FOR_DIVISION_BY_ZERO', 'NO_ENGINE_SUBSTITUTION', ], ], ], `` Это фиксированная это для меня.
Проблема в том, что ваш пароль не соответствует правилам проверки пароль. Вы можете просто следуйте ниже шагов, чтобы решить вашу проблему.
Вы можете просто увидеть пароль конфигурации матрицы проверки введите ниже код.
mysql-> SHOW VARIABLES LIKE 'validate_password%';
Тогда в вашей матрице вы можете найти ниже величин с соответствующими значениями и там вы должны проверить validate_password_length
, validate_password_number_count
и validate_password_policy
.
Проверьте значения этих переменных. Убедитесь, что ваш validate_password_length
не должно быть больше 6. Вы можете установить, что до 6 с помощью ниже код.
SET GLOBAL validate_password_length = 6;
И после этого вы должны установить validate_password_number_count
до 0. Сделать это, используя ниже код.
SET GLOBAL validate_password_number_count = 0;
Наконец, вы должны установить вы validate_password_policyв
низкий`. Имея такую как "средний" или "высокий" не позволит вашему менее безопасные пароли. Установлено, что "низкий" - ниже код.
SET GLOBAL validate_password_policy=LOW;
Это сообщение об ошибке не имеет ничего общего с сохраненный пароль в таблице. Это также происходит, если вы тип (в SQL-консоли)
&запах мяты&; выберите пароль('123456789');
или если
и запах мяты;выберите пароль ('A123456789')&;
или если
и"выберите пароль('а!123456789') и"
Если вы тип
и"выберите пароль('а!a123456789') и"
тогда это будет работать. Просто используйте большие + маленькие буквы, спецсимволы и цифры, чтобы создать свой пароль.
Вы можете отключить эти проверки в свою.CNF, но тогда у вас будет риск безопасности!
в [тузды] добавить:
validate_password_policy=LOW
validate_password_special_char_count=0
validate_password_length=0
validate_password_mixed_case_count=0
validate_password_number_count=0
я't работа для меня на Ubuntu установки тузды, пришлось добавить так: в /etc/mysql в/в MySQL.конф.д/тузды.CNF или сервер не'т начать (думаю плагин не'т груза в нужное время, когда я просто добавил его без плагин-загрузить-добавить директиву)
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