Я написал простой сценарий оболочки для дампа конкретной базы данных MySQL. Проблема в том, что он запрашивает у меня пароль, хотя я предоставляю. Mysql db - это версия 5.0.27, если это имеет значение. Вот конкретная строка, которую я использую.
$MYSQLDUMP -u backup -p$MyPass $DB > $DEST/$FILE
Я перепробовал несколько вариантов, но безрезультатно.
Лучшим решением было бы сохранить имя пользователя и пароль в файле конфигурации и указать на этот файл конфигурации. Имея его в командной строке, любой, кто может запустить ps, сможет найти пароль для вашего сервера.
Передайте в
--defaults-extra-file=/pathto/database.cnf
MySQL свалку.Файл конфигурации должен выглядеть следующим образом. Установите разрешения файловой системы, чтобы только файл резервного копирования мог открыть файл конфигурации.
Обновление (2016-06-29) Если вы работаете с mysql 5.6.6 или более поздней версии, обратите внимание на инструмент mysql_config_editor , который позволяет хранить учетные данные в зашифрованном файле. Спасибо Джованни за упоминание об этом мне.
источник
aoeu1234
мой файл конфигурацииpassword = 'aoeu1234'
; в противном случае вы получите несанкционированную ошибку.