Могу ли я сказать Google Cloud SQL восстановить мою резервную копию в совершенно другую базу данных? - PullRequest
0 голосов
/ 04 августа 2020

Поскольку существует ночная резервная копия SQL, мы задаемся вопросом о том, как лучше восстановить эту резервную копию в другую базу данных на том же экземпляре сервера MySQL. У нас есть prod_xxxx для всех наших производственных баз данных И у нас есть staging_xxxx для всех наших промежуточных баз данных (да, не так уж и хорошо, потому что все они сейчас находятся в одном экземпляре mysql).

В любом случае, мы хотели бы восстановить все таблицы / ограничения / et c и данные из prod_incomingdb в staging_incomingdb. Возможно ли такое в облаке SQL?

Ответы [ 2 ]

1 голос
/ 05 августа 2020

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

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

Я следовал по этому пути, чтобы успешно клонировать базу данных в том же экземпляре MySQL Cloud SQL.

1 .- Создайте дамп нужной базы данных с помощью Google Cloud Console (веб-интерфейс), следуя этим шагам

*, очень важно дампить только желаемую базу данных в формате SQL, не выбирайте несколько баз данных в дампе.

После завершения sh процесса дамп будет доступен в Google Cloud Storage Bucket.

2. - Загрузите файл дампа в виртуальную машину Compute Engine или на любой локальный компьютер с linux.

3. - замените имя базы данных (старое) в пунктах USE.

Я использовал эту команду sed поверх мой загруженный дамп для изменения имен баз данных

 sed -i 's/USE `employees`;/USE `emp2`;/g' employees.sql

* это может занять несколько секунд в зависимости от размера вашего файла.

4.- Загрузите обновленный файл в корзину облачного хранилища .

5.- Создайте новую пустую базу данных в своем экземпляре Cloud SQL, в этом случае мой целевой экземпляр называется emp2.

6.- Импортируйте измененный дамп, выполнив следующие действия. эти шагов

0 голосов
/ 05 августа 2020

Я не мог понять ночные резервные копии, так как кажется, что восстанавливается весь экземпляр. Я думаю, что ответ на это отрицательный. Я обнаружил, что могу экспортировать, а затем импортировать (не совсем то, что я хотел, хотя я не хотел экспортировать нашу БД в течение дня, но сейчас мы можем go с этим и автоматизировать ночной экспорт позже) .

...