У меня проблема с заданием, которое я должен выполнить на работе.У меня есть база данных MySQL, в которой хранится информация о нескольких клиентах моей компании, и мне нужно создать процедуру резервного копирования / восстановления для резервного копирования и восстановления такой информации для любого отдельного клиента.Чтобы уточнить, если мой клиент A теряет свои данные, я должен иметь возможность восстановить такие данные, будучи уверенным, что я не изменяю данные клиента B, C, ... Я не администратор БД, поэтому я незнать, могу ли я сделать это, используя стандартные инструменты mysql (такие как mysqldump) или любые другие инструменты резервного копирования (такие как Percona Xtrabackup).
Для резервного копирования мои исследования (и моя интуиция) привели меня к этому возможному решению:
- создайте оператор вставки восстановления с использованием синтаксиса insert-select (http://dev.mysql.com/doc/refman/5.1/en/insert-select.html);
- сохраните эти вставки в файле sql, либо в правильном порядке, либо разрешив этому сценарию временно отключить проверки внешнего ключачтобы соответствовать ограничению внешних ключей;
- конечно, я делаю это для всех моих клиентов ежедневно, используя файл для каждого клиента (и дня).
Затем,в случае, если мне нужно восстановить данные для конкретного клиента:
- Я удаляю все оставленные им данные;
- Я восстанавливаю правильные данные, используя его файл sql, созданный мной во время резервного копирования..
Таким образом, я считаю, что могу восстановить нужные данные клиента A, не затрагивая данные клиента B. Работает ли мое решение в конечном итоге?Есть ли лучший способ достичь того же результата?Или вам нужна дополнительная информация о моей проблеме?
Пожалуйста, простите меня, если этот вопрос не является правильно сформированным, но я здесь новичок, и это мой первый вопрос, поэтому я могу быть неточным ... в любом случае, спасибодля справки.
Примечание: мы также сделаем резервную копию всей базы данных с помощью mysqldump.