Update 语句 出现Lost connection to MySQL server during query错误

这个我是从sqlserver中导入到tidb的 sqlserver中有2亿多数据 昨天已经导入了6000多万了 今天不知道怎么了 就报错了 可能我昨天 执行了 下面这几个的语句造成的?

SET @@global.autocommit=0

set @@session.tidb_batch_insert=1;

set @@session.tidb_dml_batch_size=500000

autocommit设置为1 tidb_batch_insert设置为1 tidb_dml_batch_size设置为3000 这样可以吗

我试试

SELECT count(0) FROM FactSalesRecord

9006 - GC life time is shorter than transaction duration, transaction starts at 2019-10-31 13:57:59.837 +0800 CST, GC safe point is 2019-10-31 14:06:46.237 +0800 CST
时间: 1.705s

可以调整一下tikv_gc_life_time和tikv_gc_run_interval参数,调大gc的时间间隔以及时间,使gc时间大于事务执行时间

bootstrapped True
tidb_server_version 35
system_tz Asia/Shanghai
tikv_gc_leader_uuid 5b871199aac0002
tikv_gc_leader_desc host:tidbpd2, pid:31106, start at 2019-10-30 18:46:46.187285383 +0800 CST m=+0.491699288
tikv_gc_leader_lease 20191031-14:20:46 +0800
tikv_gc_enable true
tikv_gc_run_interval 24h
tikv_gc_life_time 24h
tikv_gc_last_run_time 20191031-14:16:46 +0800
tikv_gc_safe_point 20191031-14:06:46 +0800
tikv_gc_auto_concurrency true
tikv_gc_mode distributed

还是不行 报错
SELECT count(0) FROM FactSalesRecord

9006 - GC life time is shorter than transaction duration, transaction starts at 2019-10-31 13:57:59.837 +0800 CST, GC safe point is 2019-10-31 14:16:46.237 +0800 CST
时间: 1.894s

客户端连接重新连一下试试

竟然可以了,为什么重连下就可以了

这个连接之前可能有事务没有提交,导致一直是事务开启状态,所以会导致事务时间超过gc_lifetime

thanks !

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。