2.1.7 reload 命令
2.1.7.1 reload @@config
reload @@config;
2.19.09.0(不含)版本以前请参考对应章节文档,2.19.09.0版本之后功能完全等同于reload @@config_all
2.1.7.2 reload @@config_all
reload @@config_all [-s] [-f] [-r];
描述:重新加载所有配置,涉及user.xml,db.xml,sharding.xml 内容,
-s 在测试链接阶段,后端链接不可用时不会终止reload的执行,只会在日志中输出相关错误信息。默认不加此参数时遇到后端不可用的情况,会终止reload的执行并返回报错。
-f 关闭所有变更的dbGroup(加-r参数所有dbGroup会被视为变更)相关的处于事务中的前端链接,如果无此参数默认仅将相应后端链接放入旧链接池。
-r 不做智能判断,将所有后端连接池全部重新加载一遍。不加此参数时,将对新配置进行智能判断,只会对增删改的连接池做变更,不影响未作变更的连接池
更多细节 参考 2.19 智能计算reload_all
结果:OK 或者ERROR
相关影响:当执行此命令时,当有以下情况发生时,涉及到的表的meta信息会被重载,否则保持原有表meta信息。
- 有新增的表
- 有删除的表
- 表的shardingNode或者类别发生变更
- 表的shardingNode对应的物理节点或者对应的dbGroup/dbInstance发生变更
- 有新增的schema
- 有删除的schema
- schema 的默认shardingNode属性发生变更
- schema的shardingNode对应的物理节点或者对应的dbGroup/dbInstance发生变更。
另外,如果包含-r参数则不做上述判断,全部重新加载meta数据。
如果不包含-r但是包含-s参数,则对metadata是否需要重新加载的计算时,忽略所有dbGroup/dbInstance的变更
注意,不能在配置变更中体现的的某些变化是无法重新加载metadata的,举例#1002
一个带有默认shardingNode的schema尝试通过删除配置将拆分表或者global表变成非拆分表是不符合规范的。应当避免这种操作。
注意:如果使用默认的切换方式(即单实例部署并且system的outerHA属性为false), 需要做配置的重载时,需要人工保证流程是标准的,否则可能导致切换功能故障,具体请参看相关章节2.12 故障切换。
2.1.7.3 reload @@metadata
reload @@metadata;
描述:重新加载所有元数据信息。
结果:返回OK。
支持过滤表达式
reload @@metadata where schema=? [ and table=? ]
描述:重新加载指定schema中所有表或指定表的元数据信息。
结果:返回OK。
reload @@metadata where table in ('schema1.table1' ,'schema2.table2','schema1.table3',...)
描述:重新加载schema1中table1,table3和schema2中table2的元数据信息。
结果:返回OK。
2.1.7.4 reload @@sqlslow=N;
reload @@sqlslow=N;
描述:设定用户分析统计的slow sql时间阈值到N毫秒; 结果:OK
2.1.7.5 reload @@user_stat (已废弃)
reload @@user_stat;
自3.23.08.0 版本起废弃此命令
2.1.7.6 reload @@query_cf
reload @@query_cf[=table&column];
其中,table为要统计的目标表的表名,column为目标表中目标列的列名。
描述:重设show @@sql.condition要统计的条件。
结果:返回OK
如果要清除查询条件统计表列的设置执行命令:
reload @@query_cf;
或者
reload @@query_cf=NULL;
2.1.7.7 reload @@general_log_file=?
reload @@general_log_file = 'general/general.log';
描述:重设general日志路径;若设置以'/'开头的值则作为绝对路径生效,反之,则在homepath后拼接值得到最终绝对路径且生效。
结果:返回OK
2.1.7.8 reload @@statistic_table_size = ? [where table='?' | where table in (dble_information.tableA,...)]
reload @@statistic_table_size = 90;
描述:将统计表格(sql_statistic_by_frontend_by_backend_by_entry_by_user、sql_statistic_by_table_by_user_by_entry、sql_statistic_by_associate_tables_by_entry_by_user)的大小设置为90。
结果:返回OK
reload @@statistic_table_size = 90 where table = 'sql_statistic_by_table_by_user_by_entry'
描述:将统计表格sql_statistic_by_table_by_user_by_entry的大小设置为90。
结果:返回OK
reload @@statistic_table_size = 90 where table in(sql_statistic_by_table_by_user_by_entry,sql_statistic_by_associate_tables_by_entry_by_user)
描述:将统计表格sql_statistic_by_table_by_user_by_entry、sql_statistic_by_associate_tables_by_entry_by_user的大小设置为90。
结果:返回OK
reload @@statistic_table_size = 90 where table='sql_log'
描述:将采样统计统计表格sql_log的大小设置为90。
结果:返回OK
2.1.7.9 reload @@samplingRate = ?
描述:设置采样统计的采样率,采样率为0的话表示关闭采样统计。采样率是[0,100]之间的整数,单位是 %。
2.1.7.10 reload @@load_data.num=N
reload @@load_data.num=N
描述:N代表设置maxRowSizeToFile的值,不开启批处理模式代表文件中的sql语句条数达到该阈值就会把该文件进行存储,开启批处理模式会将该文件按照阈值拆分成多个文件。
结果:返回OK
2.1.7.11 reload @@xaIdCheck.period=N
reload @@xaIdCheck.period=N
描述:N>0时,表示开启疑似残留XA检测,且作为定时检测任务的周期(以s为单位);N<=0时,表示停止或者不开启定时检测; 如:N=60,表示开启定时检测,每隔60s进行检测疑似残留XA。
结果:返回OK