# TiDB Configuration. # TiDB server host. host = "0.0.0.0" # tidb server advertise IP. advertise-address = "" # TiDB server port. port = 4000 # Registered store name, [tikv, mocktikv] store = "mocktikv" # TiDB storage path. path = "/tmp/tidb" # The socket file to use for connection. socket = "" # Run ddl worker on this tidb-server. run-ddl = true # Schema lease duration, very dangerous to change only if you know what you do. lease = "0s" # When create table, split a separated region for it. It is recommended to # turn off this option if there will be a large number of tables created. split-table = true # The limit of concurrent executed sessions. token-limit = 1000 # Only print a log when out of memory quota. # Valid options: ["log", "cancel"] oom-action = "log" # Set the memory quota for a query in bytes. Default: 32GB mem-quota-query = 34359738368 # Enable coprocessor streaming. enable-streaming = false # Set system variable 'lower_case_table_names' lower-case-table-names = 2 # Make "kill query" behavior compatible with MySQL. It's not recommend to # turn on this option when TiDB server is behind a proxy. compatible-kill-query = false skip_grant_table = true # 忽略终端连接断开信号 ignore_sighup = true [log] # Log level: debug, info, warn, error, fatal. level = "info" # Log format, one of json, text, console. format = "text" # Disable automatic timestamp in output disable-timestamp = false # Stores slow query log into separated files. slow-query-file = "" # Queries with execution time greater than this value will be logged. (Milliseconds) slow-threshold = 300 # Queries with internal result greater than this value will be logged. expensive-threshold = 10000 # Maximum query length recorded in log. query-log-max-len = 2048 # File logging. [log.file] # Log file name. filename = "" # Max log file size in MB (upper limit to 4096MB). max-size = 300 # Max log file keep days. No clean up by default. max-days = 0 # Maximum number of old log files to retain. No clean up by default. max-backups = 0 # Rotate log by day log-rotate = true [security] skip_grant_table = true # Path of file that contains list of trusted SSL CAs for connection with mysql client. ssl-ca = "" # Path of file that contains X509 certificate in PEM format for connection with mysql client. ssl-cert = "" # Path of file that contains X509 key in PEM format for connection with mysql client. ssl-key = "" # Path of file that contains list of trusted SSL CAs for connection with cluster components. cluster-ssl-ca = "" # Path of file that contains X509 certificate in PEM format for connection with cluster components. cluster-ssl-cert = "" # Path of file that contains X509 key in PEM format for connection with cluster components. cluster-ssl-key = "" [status] # If enable status report HTTP service. report-status = false # TiDB status port. status-port = 10080 # Prometheus pushgateway address, leaves it empty will disable prometheus push. metrics-addr = "" # Prometheus client push interval in second, set \"0\" to disable prometheus push. metrics-interval = 15 [performance] # Max CPUs to use, 0 use number of CPUs in the machine. max-procs = 0 # StmtCountLimit limits the max count of statement inside a transaction. stmt-count-limit = 5000 # Set keep alive option for tcp connection. tcp-keep-alive = false # Whether support cartesian product. cross-join = true # Stats lease duration, which influences the time of analyze and stats load. stats-lease = "0s" # Run auto analyze worker on this tidb-server. run-auto-analyze = false # Probability to use the query feedback to update stats, 0 or 1 for always false/true. feedback-probability = 0.0 # The max number of query feedback that cache in memory. query-feedback-limit = 0 # Pseudo stats will be used if the ratio between the modify count and # row count in statistics of a table is greater than it. pseudo-estimate-ratio = 0.8 # Force the priority of all statements in a specified priority. # The value could be "NO_PRIORITY", "LOW_PRIORITY", "HIGH_PRIORITY" or "DELAYED". force-priority = "NO_PRIORITY" [proxy-protocol] # PROXY protocol acceptable client networks. # Empty string means disable PROXY protocol, * means all networks. networks = "" # PROXY protocol header read timeout, unit is second header-timeout = 5 [prepared-plan-cache] enabled = false capacity = 100 [tikv-client] # Max gRPC connections that will be established with each tikv-server. grpc-connection-count = 16 # After a duration of this time in seconds if the client doesn't see any activity it pings # the server to see if the transport is still alive. grpc-keepalive-time = 10 # After having pinged for keepalive check, the client waits for a duration of Timeout in seconds # and if no activity is seen even after that the connection is closed. grpc-keepalive-timeout = 3 # max time for commit command, must be twice bigger than raft election timeout. commit-timeout = "41s" [txn-local-latches] # Enable local latches for transactions. Enable it when # there are lots of conflicts between transactions. enabled = true capacity = 2048000 [binlog] # Socket file to write binlog. binlog-socket = "" # WriteTimeout specifies how long it will wait for writing binlog to pump. write-timeout = "15s" # If IgnoreError is true, when writting binlog meets error, TiDB would stop writting binlog, # but still provide service. ignore-error = false [inc] enable_zero_date = true enable_nullable = true enable_drop_table = false enable_set_engine = true enable_timestamp_type=true enable_change_column = true check_timestamp_count = true check_table_comment = false check_column_comment = false check_float_double = false check_identifier_upper = false # 审核列类型变更 check_column_type_change = true # 表名/索引名前缀 index_prefix = "idx_" uniq_index_prefix = "uniq_" table_prefix = "" # explain判断受影响行数时使用的规则, 默认值"first" # 可选值: "first", "max" # "first": 使用第一行的explain结果作为受影响行数 # "max": 使用explain结果中的最大值作为受影响行数 explain_rule = "first" # 安全更新是否开启. # -1 表示不做操作,基于远端数据库 [默认值] # 0 表示关闭安全更新 # 1 表示开启安全更新 sql_safe_updates = -1 skip_grant_table = true support_charset = "utf8,utf8mb4" support_engine = "innodb" lang = "en-US" # 全量日志 general_log = false default_charset = "utf8mb4" max_allowed_packet = 4194304 [inc_level] er_alter_table_once = 1 er_auto_incr_id_warning = 1 er_autoinc_unsigned = 1 er_blob_cant_have_default = 1 er_cant_change_column = 1 er_cant_change_column_position = 1 er_cant_set_charset = 1 er_cant_set_collation = 1 er_cant_set_engine = 1 er_change_column_type = 1 er_change_too_much_rows = 1 er_char_to_varchar_len = 1 er_charset_on_column = 1 er_column_have_no_comment = 1 er_datetime_default = 1 er_foreign_key = 2 er_ident_use_keyword = 1 er_implicit_type_conversion = 1 er_inc_init_err = 1 er_index_name_idx_prefix = 1 er_index_name_uniq_prefix = 1 er_insert_too_much_rows = 1 er_invalid_data_type = 1 er_invalid_ident = 1 er_join_no_on_condition = 1 er_json_type_support = 2 er_must_have_columns = 1 er_columns_must_have_index = 1 er_columns_must_have_index_type_err = 1 er_no_where_condition = 1 er_not_allowed_nullable = 1 er_ordery_by_rand = 1 er_partition_not_allowed = 1 er_pk_cols_not_int = 1 er_pk_too_many_parts = 1 er_select_only_star = 1 er_set_data_type_int_bigint = 2 er_table_charset_must_null = 1 er_table_charset_must_utf8 = 1 er_table_must_have_comment = 1 er_table_must_have_pk = 1 er_table_prefix = 1 er_text_not_nullable_error = 1 er_timestamp_default = 1 er_too_many_key_parts = 1 er_too_many_keys = 1 er_too_much_auto_datetime_cols = 2 er_too_much_auto_timestamp_cols = 2 er_udpate_too_much_rows = 1 er_use_enum = 1 er_use_text_or_blob = 2 er_with_default_add_column = 1 er_with_insert_field = 1 er_with_limit_condition = 1 er_with_orderby_condition = 1 er_use_value_expr = 1 er_wrong_and_expr = 1 [osc] # 用来设置在arkit返回结果集中,对于原来OSC在执行过程的标准输出信息是不是要打印到结果集对应的错误信息列中, # 如果设置为1,就不打印,如果设置为0,就打印。而如果出现了错误,则都会打印。默认值:OFF osc_print_none = false # 对应参数pt-online-schema-change中的参数--print。默认值:OFF osc_print_sql = false # 全局的OSC开关,默认是打开的,如果想要关闭则设置为OFF,这样就会直接修改。默认值:OFF osc_on = false # 这个参数实际上是一个OSC开关,如果设置为0,则全部ALTER语句都使用OSC方式, # 如果设置为非0,则当这个表占用空间大小大于这个值时才使用OSC方式。 # 单位为M,这个表大小的计算方式是通过语句 # select (DATA_LENGTH + INDEX_LENGTH)/1024/1024 from information_schema.tables # where table_schema = 'dbname' and table_name = 'tablename' 来实现的。默认值:16 # [0-1048576] osc_min_table_size = 16 # 对应参数pt-online-schema-change中的参数alter-foreign-keys-method,具体意义可以参考OSC官方手册。默认值:none # [auto | none | rebuild_constraints | drop_swap] osc_alter_foreign_keys_method = "none" # 对应参数pt-online-schema-change中的参数recursion_method,具体意义可以参考OSC官方手册。默认值:processlist # [processlist | hosts | none] osc_recursion_method = "processlist" # 对应参数pt-online-schema-change中的参数--max-lag。默认值:3 osc_max_lag = 3 # 类似--max-lag,检查集群暂停流量控制所花费的平均时间(仅适用于PXC 5.6及以上版本,会自动检测) osc_max_flow_ctl = -1 # 对应参数pt-online-schema-change中的参数 --set-vars lock_wait_timeout=? osc_lock_wait_timeout = 60 # 对应参数pt-online-schema-change中的参数--[no]check-alter。默认值:ON osc_check_alter = true # 对应参数pt-online-schema-change中的参数--[no]check-replication-filters。默认值:ON osc_check_replication_filters = true # 检查是否为添加唯一索引,如果是,则禁止 osc_check_unique_key_change = true # 对应参数pt-online-schema-change中的参数--[no]drop-old-table。默认值:ON osc_drop_old_table = true # 对应参数pt-online-schema-change中的参数--[no]drop-new-table。默认值:ON osc_drop_new_table = true # 对应参数pt-online-schema-change中的参数--max-load中的thread_running部分。默认值:80 osc_max_thread_running = 80 # 对应参数pt-online-schema-change中的参数--max-load中的thread_connected部分。默认值:1000 osc_max_thread_connected = 1000 # 对应参数pt-online-schema-change中的参数--critical-load中的thread_running部分。默认值:80 osc_critical_thread_running = 80 # 对应参数pt-online-schema-change中的参数--critical-load中的thread_connected部分。默认值:1000 osc_critical_thread_connected = 1000 # 对应参数pt-online-schema-change中的参数--chunk-time。默认值:1 osc_chunk_time = 1.0 # 对应参数pt-online-schema-change中的参数--chunk-size-limit。默认值:4 osc_chunk_size_limit = 4 # 对应参数pt-online-schema-change中的参数--chunk-size。默认值:1000 osc_chunk_size = 1000 # 对应参数pt-online-schema-change中的参数--check-interval,意义是Sleep time between checks for --max-lag。默认值:5 osc_check_interval = 5 osc_bin_dir = "/usr/local/bin" [ghost] ghost_allow_on_master = true ghost_assume_rbr = true ghost_chunk_size = 1000 ghost_concurrent_rowcount = true ghost_cut_over = "atomic" ghost_cut_over_lock_timeout_seconds = 3 ghost_default_retries = 60 ghost_heartbeat_interval_millis = 500 ghost_max_lag_millis = 1500 ghost_approve_renamed_columns = true ghost_exponential_backoff_max_interval = 64 ghost_dml_batch_size = 10 ghost_ok_to_drop_table = true ghost_skip_foreign_key_checks = true