Понимание поведения gcloud sql export sql и последующего импорта - PullRequest
0 голосов
/ 18 октября 2018

У меня есть экземпляр Google Cloud SQL, и я решил создать своего рода реплику.Чтобы добиться этого, я решил экспортировать базу данных своего экземпляра, создать вторую и импортировать экспортированную резервную копию первого экземпляра во второй.

Перед началом я проверил размер используемого хранилища иувидел это было около 125гб.Затем я экспортировал базу данных с помощью следующей команды:

gcloud sql export sql MY_INSTANCE gs://MY_BUCKET/2018-10-17/mysql/MY_DB.mysql.sql.gz --database=MY_DB

Когда она закончилась, как я уже сказал, я импортировал эту резервную копию в «экземпляр реплики», и ... сюрприз!Использованный объем хранилища был 180 ГБ!

Как это возможно?Почему «экземпляр реплики» использует на 55 ГБ больше, чем первый?

Заранее благодарен тем, кто ответит.

1 Ответ

0 голосов
/ 23 октября 2018

Одним из возможных объяснений этого являются размеры "bin_log".После импорта он учитывается в размере диска.

Чтобы узнать, совпадает ли сам размер data , я рекомендую запустить:

SELECT
  ROUND(SUM(data_length + index_length) / 1024 / 1024/ 1024, 1) "DB Size in GB"
FROM
  information_schema.tables;

Вкл. и экземпляров, и сравнение размеров для более точного измерения.

Вы также можете проверить размер двоичных журналов, выполнив: SHOW BINARY LOGS; также в в обоих экземплярах, сделайтеПодведите итог и посмотрите, объясняет ли это несоответствие.

...