最近,我开始看到在Cloud SQL实例上执行mysqldump的问题。它运行约20分钟,然后失败,并显示以下错误:
mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table "table3" at row: 3518748
然后,如果我在CloudSQL控制台上查看MySQL错误日志,则会看到以下内容:
"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