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

On 21/10/2018, in MySQL, by Алексей Волобуев

Использую в своей работе самописный скрипт для резервного копирования баз MySQL. Для бекапа используются следующие параметры:
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

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

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

Пример:

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

Если при выполнении данной команды вы получите ошибку:
«ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)»

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

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

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

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.»

Всем удачи.

Tagged with:  

5 Responses to Warning: Using a password on the command line interface can be insecure.

  1. Дмитрий Дегтярев:

    Алексей, вероятно, набил статью в Microsoft Word, тот сделал несколько неудачных автозамен. Поэтому у кого не сработала копипаста из статьи, попробуйте так:

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

    MYSQL_PARAM=»—login-path=DailyBackup —add-drop-table —databases —ignore-table=mysql.event «

  2. Дмитрий Дегтярев:

    Не, это не Word. Это движок сайта делает очень нехорошие автозамены 🙁

  3. Использовал тег code для кода:


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

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Яндекс.Метрика