Warning: Using a password on the command line interface can be insecure

Использую в своей работе самописный скрипт для резервного копирования баз MySQL. Для бекапа используются следующие параметры:

Bash
MYSQL_PARAM="--add-drop-table --user=$mysql_user --password=$mysql_passwd --databases --ignore-table=mysql.event"

При выполнении скрипта на консоль выводится сообщение:
«Warning: Using a password on the command line interface can be insecure.»

Переменные $mysql_user и $mysql_passwd в скрипте записаны простым текстом. Это не очень хорошо. Начиная, если не ошибаюсь, с версии MySQL 5.6 можно использовать mysql_config_editor — MySQL Configuration Utility.

mysql_config_editor — храненит учетные данные аутентификации в зашифрованном файле с именем ‘.mylogin.cnf’. Файл может быть прочитан позже клиентскими программами MySQL для получения учетных данных аутентификации для соединения с сервером MySQL. Файл располагается в домашней директории пользователя. При использовании утилиты необходимо задать профиль и имя пользователя с паролем. Профиль в дальнейшем будет использоваться при подключении к MySQL

Приведу пример для пользователя root и профилем DailyBackup

Bash
mysql_config_editor set --login-path=DailyBackup --host=localhost --user=root --password

При выполнении данной команды будет запрошен пароль. После вводы пароля, профиль будет записан и его можно будет использовать.

Пример:

Bash
mysql --login-path=DailyBackup «команда»

Если при выполнении данной команды вы получите ошибку:

«ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)»

И вы уверены, что пароль верный, то возможно надо исключить спец. символы в пароле. У меня не заработало с символами «*» и «#»

Обратите внимание, что параметр «--login-path=» должен стоять самым первым.

Мой скрипт был изменен, использую теперь следующие параметры:

Bash
MYSQL_PARAM="--login-path=DailyBackup --add-drop-table --databases --ignore-table=mysql.event"

Переменные, содержащие логин и пароль из скрипта убрал.

При выполнении скрипта на консоль НЕ выводится сообщение:
«Warning: Using a password on the command line interface can be insecure.»

Добавить комментарий