Использую в своей работе самописный скрипт для резервного копирования баз 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.»
Всем удачи.
Алексей, вероятно, набил статью в 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 «
Не, это не Word. Это движок сайта делает очень нехорошие автозамены 🙁
Да, это движок сайта.
--code
Использовал тег 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"