mysqldump, запрашивающий пароль в сценарии оболочки

Я использую Acronis True Image, который имеет большую простую в использовании функцию клона, которая идет как такой:

1) Начальная загрузка от Acronis загрузочный CD (это позволяет Вам сделать одно) с обоими включенными дисками (старый на SATA и новый на USB).

2) Скажите этому клонировать основной диск к новому диску. Пока использованное пространство на старом диске помещается в новый диск, это автоматически обработает все изменение размеров раздела для Вас.

3) Когда клон будет завершен, закройте компьютер. Замените старый диск новым и загрузитесь. Престо, все будет точно то же под новым диском.

Истинное Изображение также позволяет Вам полностью уничтожить данные своего старого диска, если Вы хотите.

9
задан 19 August 2009 в 23:41
2 ответа

Я держал бы пари на это $MyPass не устанавливается правильно в Вашем сценарии. Если какой-либо из mysql инструментов командной строки получает a -p это сразу не сопровождается паролем, они предполагают, что должны запросить пароль. С другой стороны, при предоставлении неправильного пароля (или неверное имя пользователя или подобный), ему просто не удалось бы соединиться.

Так, я предлагаю поместить echo команда в начале той строки и повторное выполнение Вашего сценария, как так:

echo $MYSQLDUMP -u backup -p$MyPass $DB

Не забывайте удалять перенаправление вывода.

3
ответ дан 2 December 2019 в 22:22
  • 1
    doh, это была глупая переменная, имел передачу в ограничениях, когда это было установлено по сравнению с нижним регистром в вышеупомянутой строке.спасибо, ребята –  aduljr 19 August 2009 в 23:51

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

Передайте --defaults-extra-file=/pathto/database.cnf к дампу mysql.

Конфигурационный файл должен быть похожим на это. Установите полномочия файловой системы так, чтобы только процесс резервного копирования мог открыть конфигурационный файл.

[client]
host     = servername.domain.tld
user     = backup
password = strongpassword

Обновление (2016-06-29) при выполнении mysql 5.6.6 или больше необходимо посмотреть на mysql_config_editor инструмент, который позволяет Вам хранить учетные данные в зашифрованном файле. Благодаря Giovanni для упоминания этого мне.

18
ответ дан 2 December 2019 в 22:22
  • 1
    это - определенный пользователь для той базы данных только с достаточным количеством разрешения выполнить резервное копирование. Только у двух человек есть доступ к этому серверу, мой и еще один человек. Но я буду использовать это это cnf идея файла. никогда не знал о той опции.спасибо –  aduljr 19 August 2009 в 23:49

Теги

Похожие вопросы