Недавно я начал сталкиваться с проблемами при выполнении mysqldump на экземпляре Cloud SQL. Он работает около 20 минут, а затем завершается с ошибкой:
mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table "table3" at row: 3518748
Затем, если я загляну в журнал ошибок MySQL на консоли CloudSQL, я увижу следующее:
"2018-06-29T14:46:11.143774Z 4320729 [Note] Aborted connection 4320729 to db: 'bobs_db' user: 'bob' host: '1.2.3.4' (Got timeout writing communication packets)"
Вот команда, которую я запускаю:
mysqldump -h 1.1.1.1 --port=3306 -u bob -pbobs_pwd --net_buffer_length=16m --compatible=ansi --skip-extended-insert --compact --single-transaction --skip-triggers --where="created_at < '2018-06-29 00:00:00' OR updated_at < '2018-06-29 00:00:00'" bobs_db "table1 table2 table3 table4"
Кажется, все, что я прочитал об этой проблеме, указывает на увеличение net_read_timeout и net_write_timeout, но CloudSQL не предоставляет доступ к этим переменным из того, что я могу сказать.
Я использую флаги базы данных по умолчанию, за исключением следующих:
max_allowed_packet=1073741824