我正在使用我的应用服务器上的 MySQL shell 客户端连接到远程数据库服务器。
我正在尝试将我的 Member 表的 user_id 列从“ABC”更新为“CDE”,我有大约 40-50 个带有 [FK Member.user_id cascade update] 的表,其中一些表很大,有数百万条记录相同的 user_id ('ABC')。附言。我知道这个数据库设计不是最优的。
UPDATE `member` SET `user_id` = 'CDE' WHERE `user_id` = 'ABC';
我希望上面的命令运行 30-40 分钟,但它在 60+- 秒后失败,并出现以下错误:
Error Code: 2013. Lost connection to MySQL server during query
从 SO 中搜索了类似的问题,但以下建议不适用于我的情况:
max_allowed_packet=1073741824
wait_timeout=31536000
interactive_timeout=9999999
net_read_timeout=9999999
net_write_timeout=9999999
innodb_lock_wait_timeout=9999999
注意:我确实在设置后使用“显示变量 xxx”来验证上述变量。
编辑 1:使用来自 Google Cloud Platform 的 MySQL 2nd Gen 5.7