线上bi实例,专门用于bi拉数或开发定位问题用的,需要调整以下参数
- 设置连接空闲的超时时间(秒)。可以通过增加这些参数的值来延长连接的存活时间,以便超长查询有充足的时间完成。
SET GLOBAL wait_timeout = 28800; -- 28800秒(8小时)
SET GLOBAL interactive_timeout = 28800;
- 用于控制服务器等待客户端发送数据的时间(秒),对于较大的导出操作,增大这两个参数可以防止数据传输中断。
SET GLOBAL net_read_timeout = 600; -- 增大到10分钟,适合大查询
SET GLOBAL net_write_timeout = 600;
- 控制单个查询的最大执行时间(毫秒),
SET GLOBAL max_execution_time = 0; -- 设置为0,表示不限制查询时间
- 控制排序操作时使用的内存大小,默认值较小。对于导出大数据的查询,将其适当增大(如16M或32M)可以减少磁盘排序操作,提升查询效率。
SET GLOBAL sort_buffer_size = 167772160; -- 160M
- 控制全表扫描时每次读取的数据量,适合大查询时进行适度调高,通常可以设置为2M到16M。
SET GLOBAL read_buffer_size = 16777216;
- 控制InnoDB引擎在等待行锁的最大时间(秒)。对于长查询,适当增大可以避免锁等待超时错误。
SET GLOBAL innodb_lock_wait_timeout = 300;
- 控制最大通信数据包大小。对于导出大数据,可以增加此值避免错误。
SET GLOBAL max_allowed_packet = 1073741824;
-脚本
mysqlw -h mysql6303-w.corp.dboop.com -P 6303 -e "SET GLOBAL interactive_timeout = 28800;SET GLOBAL wait_timeout = 28800; SET GLOBAL net_write_timeout = 600;SET GLOBAL net_read_timeout = 600;SET GLOBAL innodb_lock_wait_timeout = 300; SET GLOBAL max_allowed_packet = 1073741824; SET GLOBAL read_buffer_size = 16777216; SET GLOBAL sort_buffer_size = 167772160; SET GLOBAL max_execution_time = 0;"
>> Home