Есть ли способ восстановить на определенный момент времени в Cloud SQL для MySQL - PullRequest
0 голосов
/ 18 февраля 2019

Google Cloud SQL использует низкоуровневые двоичные события журнала для восстановления базы данных до определенной точки.Просматривая документацию , я вижу, что должен найти точную двоичную позицию в журнале и ввести ее в форму «Создать клон».

Чтобы «определить позицию восстановления»,Я должен подключиться к экземпляру с клиентом MySQL и выполнить поиск в двоичном журнале записей с правами администратора (необходимые разрешения, похоже, SUPER, REPLICATION CLIENT).

Из документации:

Показать двоичные файлы журнала для экземпляра:
SHOW BINARY LOGS;
Показать первые 100 событий в самом последнем файле журнала:
SHOW BINLOG EVENTS IN '<BINARY_LOG_FILE>' LIMIT 100;
Вы можете настроить количество отображаемых строк, но не следуетпокажите все события в файле, пока не узнаете, насколько велик файл.Отображение большого количества событий может повлиять на производительность системы. Если искомое событие не отображается, отобразите следующий набор событий, используя последнюю отображаемую позицию:
SHOW BINLOG EVENTS IN '<BINARY_LOG_FILE>' FROM <POSITION> LIMIT 100;

Довольно сложно найти правильное событие в производственной базе данных.

Существует ли простой способ сопоставить конкретную дату с бинарной позицией журнала?

Примечание. В AWS вы можете ввести дату, и база данных будет восстановлена ​​до состояния, в котором она находилась на эту дату (см. Инструкции для Консоли управления AWS ).Я предполагаю, что они также сопоставляют дату с ближайшим событием и используют аналогичный механизм.

...