Я пытаюсь написать скрипт python, с помощью которого можно восстановить нашу базу данных. Мы сохраняем все наши таблицы (индивидуально) в репозитории. Поскольку набрав «source table1.sql, source table2.sql, ..» Будет громоздко, я написал сценарий, чтобы сделать это автоматически.Автоматическое восстановление базы данных из * .sql файлов
Я нашел решение, используя Popen.
process = Popen('mysql %s -u%s -p%s' % (db, "root", ""), stdout=PIPE, stdin=PIPE, shell=True) output = process.communicate('source' + file)[0]
метод, кажется, работает очень хорошо, однако, для каждой таблицы, это побуждает меня пароль. Как обойти это, чтобы либо получить запрос на ввод пароля только один раз, либо подпроцесс прочитать пароль из файла конфигурации?
Есть ли лучший способ сделать это? Я попытался сделать это, используя пакетный скрипт Windows, но, как вы ожидаете, это намного менее гибко, чем использование python (например,)
-p% s с пустым паролем делает это приглашение .. – Gryphius
Это фик его! Теперь, как я могу голосовать за вас как лучший ответ? – iab
Я добавил его в качестве ответа – Gryphius