задание cron заменить (восстановить) базу данных - PullRequest
0 голосов
/ 23 июня 2011

Я огляделся и нашел только частичное решение того, чего ДЕЙСТВИТЕЛЬНО нужно достичь. В основном я настраиваю тестовый сайт, чтобы пользователи могли вносить изменения, и мне нужно восстанавливать базу данных каждый час

Я нашел этот скрипт для cron, который отлично работает, но только в первый раз ... в основном этот скрипт не будет восстанавливать существующую базу данных из-за повторяющихся записей, поэтому он не подходит для моего тестового сайта

mysql -u пользователь -ppassword имя базы данных

В основном все, что я хочу сделать, - это восстановить мою базу данных дампа (и, возможно, все файлы), но я не могу найти, как это сделать ...

Это ошибка, которую я получаю по электронной почте, когда запускаю этот скрипт

ОШИБКА 1062 (23000) в строке 62: дубликат записи «1» для ключа «ПЕРВИЧНЫЙ»

Так что, я думаю, у меня должен быть способ сначала удалить базу данных и сразу после восстановления исходного дампа .... Я не очень хорош в этом, поэтому, пожалуйста, держитесь за меня! ... спасибо

1 Ответ

1 голос
/ 23 июня 2011

Здесь есть два варианта, о которых я могу подумать:

  1. Вы можете создать еще одну резервную копию исходной базы данных с параметром УДАЛИТЬ таблицы перед восстановлением базы данных.Это эффективно добавляет строки DELETE в сгенерированный файл .sql.Команда для этого:

    mysqldump --add-drop-table -u [имя пользователя] -p [пароль] [база данных]> backup.sql

  2. Используйте mysqlimport для импорта резервной копии для уже существующей базы данных, например:

    mysqlimport -u [имя пользователя] -p [пароль] [база данных] backup.sql

Надеюсь, это поможет.

...