PingCAP
  • 文档
  • 案例
  • 博客
  • 关于
  • 下载
PingCAP
  • 文档
  • 案例
  • 博客
  • 关于
  • 下载

Contact

  • 微信扫一扫
    微信ID:pingcap2015

English
文档
  • 关于 TiDB
    • TiDB 简介
    • TiDB 整体架构
    • TiDB 核心特性
  • TiDB 快速入门
    • 快速入门指南
    • SQL 基本操作
  • TiDB 用户文档
    • TiDB 数据库管理
      • TiDB 服务
      • TiDB 进程启动参数
      • TiDB 数据目录
      • TiDB 系统数据库
      • TiDB 系统变量
      • TiDB 专用系统变量和语法
      • TiDB 服务器日志文件
      • TiDB 访问权限管理
      • TiDB 用户账户管理
      • 使用加密连接
    • SQL 优化
      • 理解 TiDB 执行计划
      • 统计信息
    • 语言结构
      • 字面值
      • 数据库、表、索引、列和别名
      • 关键字和保留字
      • 用户变量
      • 表达式语法
      • 注释语法
    • 字符集和时区
      • 字符集支持
      • 字符集配置
      • 时区
    • 数据类型
      • 数值类型
      • 日期和时间类型
      • 字符串类型
      • JSON 数据类型
      • 枚举类型
      • 集合类型
      • 数据类型默认值
    • 函数和操作符
      • 函数和操作符概述
      • 表达式求值的类型转换
      • 操作符
      • 控制流程函数
      • 字符串函数
      • 数值函数与操作符
      • 日期和时间函数
      • 位函数和操作符
      • Cast 函数和操作符
      • 加密和压缩函数
      • 信息函数
      • JSON 函数
      • GROUP BY 聚合函数
      • 其他函数
      • 精度数学
    • SQL 语句语法
      • 数据定义语句 (DDL)
      • 数据操作语句 (DML)
      • 事务语句
      • 数据库管理语句
      • Prepared SQL 语句语法
      • 实用工具语句
      • TiDB SQL 语法图
    • JSON 支持
    • Connectors 和 API
    • TiDB 事务隔离级别
    • 错误码与故障诊断
    • 与 MySQL 兼容性对比
    • TiDB 内存控制
    • 慢查询日志
    • 高级功能
      • 历史数据回溯
      • 垃圾回收 (GC)
  • TiDB 运维文档
    • 软硬件环境需求
    • 部署集群
      • Ansible 部署方案(强烈推荐)
      • 离线 Ansible 部署方案
      • Docker 部署方案
      • Docker Compose 部署方案
      • 跨机房部署方案
    • 配置集群
      • 参数解释
      • TiDB 配置项解释
      • 使用 Ansible 变更组件配置
      • 开启 TLS 验证
      • 生成自签名证书
    • 监控集群
      • 整体监控框架概述
      • 重要监控指标详解
      • 组件状态 API & 监控
    • 扩容缩容
      • 集群扩容缩容方案
      • 使用 Ansible 扩容缩容
    • 升级
      • 升级组件版本
      • TiDB 2.0 升级操作指南
    • 性能调优
    • 备份与迁移
      • 备份与恢复
      • 数据迁移
        • 数据迁移概述
        • 全量导入
        • 增量导入
    • 故障诊断
  • TiDB 周边工具
    • Syncer
    • Loader
    • TiDB-Binlog
    • PD Control
    • PD Recover
    • TiKV Control
    • TiDB Controller
  • TiSpark 文档
    • TiSpark 快速入门指南
    • TiSpark 用户指南
  • 常见问题与解答(FAQ)
  • 最佳实践
  • 版本发布历史
    • 2.1 RC3
    • 2.1 RC2
    • 2.0.7
    • 2.1 RC1
    • 2.0.6
    • 2.0.5
    • 2.1 Beta
    • 2.0.4
    • 2.0.3
    • 2.0.2
    • 2.0.1
    • 2.0
    • 2.0 RC5
    • 2.0 RC4
    • 2.0 RC3
    • 2.0 RC1
    • 1.1 Beta
    • 1.1 Alpha
    • 1.0
    • Pre-GA
    • RC4
    • RC3
    • RC2
    • RC1
  • TiDB 路线图
  • 用户案例
    • 北京银行
    • 海航
    • 今日头条
    • 转转
    • Mobike
    • 饿了么(一)
    • 饿了么(二)
    • 爱奇艺
    • 易果生鲜
    • 同程旅游
    • 去哪儿
    • G7
    • 一面数据
    • 凤凰网
    • 猿辅导
    • Mobikok
    • 二维火
    • 客如云
    • Ping++
    • 乐视云
    • 零氪科技
    • 威锐达测控
    • 盖娅互娱
    • 游族网络
    • 西山居
    • FUNYOURS JAPAN
    • 特来电
    • 万达网络
    • 360金融
    • 中国电信翼支付
    • 某电信运营商
  • 更多资源
    • 常用工具
    • PingCAP 团队技术博客
    • 知乎专栏
    • Weekly
    • 英文文档

TiDB 配置项解释

TiDB 配置文件比命令行参数支持更多的选项。你可以在 config/config.toml.example 找到默认的配置文件,重命名为 config.toml 即可。

本文档只阐述未包含在命令行参数中的参数,命令行参数参见这里。

split-table

  • 为每个 table 建立单独的 Region。
  • 默认: true
  • 如果需要创建大量的表,我们建议把这个参数设置为 false。

oom-action

  • 指定 TiDB 发生 out-of-memory 错误时的操作。
  • 默认: “log”
  • 现在合法的选项是 [“log”, “cancel”],如果为 “log”,仅仅是打印日志,不作实质处理。如果为 “cancel”,我们会取消执行这个操作,并且输出日志。

enable-streaming

  • 开启 coprocessor 的 streaming 获取数据模式。
  • 默认: false

lower-case-table-names

  • 这个选项可以设置 TiDB 的系统变量 lower_case_table_names 的值。
  • 默认: 2
  • 具体可以查看 MySQL 关于这个变量的描述
  • 注意:目前 TiDB 只支持将该选项的值设为 2,即按照大小写来保存表名,按照小写来比较(不区分大小写)。

log

日志相关的配置项。

format

  • 指定日志输出的格式,可选项为 [json, text, console]。
  • 默认: “text”

disable-timestamp

  • 是否禁止在日志中输出时间戳。
  • 默认: false
  • 如果设置为 true,那么日志里面将不会输出时间戳。

slow-query-file

  • 慢查询日志的文件名。
  • 默认: “”
  • 设置后,慢查询日志会单独输出到该文件。

slow-threshold

  • 输出慢日志的耗时阈值。
  • 默认: 300ms
  • 当查询大于这个值,就会当做是一个慢查询,输出到慢查询日志。

expensive-threshold

  • 输出 expensive 操作的行数阈值。
  • 默认: 10000
  • 当查询的行数(包括中间结果,基于统计信息)大于这个值,我们就会当成是一个 expensive 的操作,输出一个前缀带有 [EXPENSIVE_QUERY] 的日志。

query-log-max-len

  • 最长的 SQL 输出长度。
  • 默认: 2048
  • 当语句的长度大于 query-log-max-len,将会被截断输出。

log.file

filename

  • 一般日志文件名字。
  • 默认: “”
  • 如果设置,会输出一般日志到这个文件。

max-size

  • 日志文件的大小限制。
  • 默认: 300MB
  • 最大设置上限为 4GB。

max-days

  • 日志最大保留的天数。
  • 默认: 0
  • 默认是不清理的,如果设置了,在 max-days 之后 TiDB 会清理过期的日志文件。

max-backups

  • 保留的日志的最大数量。
  • 默认: 0
  • 默认全部保存,如果设置为 7,会最多保留 7 个老的日志文件。

log-rotate

  • 是否每日创建一个新的日志文件。
  • 默认: true
  • 如果设置为 true,每天会新建新的日志文件,如果设置为 false,那么只会输出到一个日志文件。

security

安全相关配置。

ssl-ca

  • PEM 格式的受信任 CA 的证书文件路径
  • 默认: “”
  • 当同时设置了该选项和 --ssl-cert、--ssl-key 选项时,TiDB 将在客户端出示证书的情况下根据该选项指定的受信任的 CA 列表验证客户端证书。若验证失败,则连接会被终止。
  • 即使设置了该选项,若客户端没有出示证书,则安全连接仍然继续,不会进行客户端证书验证。

ssl-cert

  • PEM 格式的 SSL 证书文件路径
  • 默认: “”
  • 当同时设置了该选项和 --ssl-key 选项时,TiDB 将接受(但不强制)客户端使用 TLS 安全地连接到 TiDB。
  • 若指定的证书或私钥无效,则 TiDB 会照常启动,但无法接受安全连接。

ssl-key

  • PEM 格式的 SSL 证书密钥文件路径,即 --ssl-cert 所指定的证书的私钥
  • 默认: “”
  • 目前 TiDB 不支持加载由密码保护的私钥。

performance

性能相关配置。

max-procs

  • TiDB 的 CPU 使用数量。
  • 默认: 0
  • 默认为 0 表示使用机器上所有的 CPU,也可以设置成 n, 那么 TiDB 会使用 n 个 CPU 数量。

stmt-count-limit

  • TiDB 一个事务允许的最大语句条数限制。
  • 默认: 5000
  • 在一个事务中,超过 stmt-count-limit 条语句后还没有 rollback 或者 commit,TiDB 将会返回 statement count 5001 exceeds the transaction limitation, autocommit = false 错误。

tcp-keep-alive

  • TiDB 在 TCP 层开启 keepalive
  • 默认: false

retry-limit

  • TiDB 在提交事务的时候遇到 key 冲突或者其他错误时进行的重试次数。
  • 默认: 10
  • 如果 TiDB 超过 retry-limit 次重试还是没有成功,将会返回错误。

cross-join

  • 默认: true
  • 在做 join 的时候,两边表没有任何条件(where 字段),默认可以执行这样的语句。但是设置为 false,则如有这样的 join 语句出现,server 会拒绝执行

stats-lease

  • TiDB 重载统计信息, 更新表行数, 检查是否需要自动 analyze 以及加载列的统计信息的时间间隔
  • 默认: 3s
    • 每隔 stats-lease 时间, TiDB 会检查统计信息是否有更新,如果有会将其更新到内存中
    • 每隔 5 * stats-lease 时间,TiDB 会将 DML 产生的总行数以及修改的行数变化持久化下来
    • 每隔 stats-lease 时间,TiDB 会检查是否有表或者索引需要自动 analyze
    • 每隔 stats-lease 时间,TiDB 会检查是否有列的统计信息需要被加载到内存中

run-auto-analyze

  • TiDB 是否做自动的 Analyze。
  • 默认: true

feedback-probability

  • TiDB 对查询收集统计信息反馈的概率
  • 默认: 0
  • 对于每一个查询,TiDB 会以 feedback-probability 的概率收集查询的反馈,用于更新统计信息。

prepared-plan-cache

prepare 语句的 Plan cache 设置。

enabled

  • 开启 prepare 语句的 plan cache。
  • 默认: false

capacity

  • 缓存语句的数量。
  • 默认: 100

tikv-client

grpc-connection-count

  • 跟每个 TiKV 之间建立的最大连接数。
  • 默认: 16

commit-timeout

  • 执行事务提交时,最大的超时时间。
  • 默认: 41s
  • 这个值必须是大于两倍 Raft 选举的超时时间。

txn-local-latches

事务内存锁相关配置,当本地事务冲突比较多时建议开启。

enable

  • 开启
  • 默认: false

capacity

  • Hash 对应的 slot 数, 会自动向上调整为 2 的指数倍。每个 slot 占 32 Bytes 内存。当写入数据的范围比较广时(如导数据),设置过小会导致变慢,性能下降。
  • 默认:1024000
"TiDB 配置项解释" 更新于 Aug 23 2018: *: add slow-query doc (#849) (c890fce)
修改本文

本页导航

产品

  • TiDB
  • TiSpark
  • TiDB 路线图

文档

  • 快速入门
  • 最佳实践
  • 常见问题解答
  • TiDB 周边工具
  • 版本发布说明

资源

  • 博客
  • GitHub
  • 知乎专栏

公司

  • 关于我们
  • 招贤纳士
  • 新闻报道

联系我们

  • Twitter
  • LinkedIn
  • Reddit
  • Google Group
  • Stack Overflow
  • 微信公众号

    微信扫一扫
    微信ID:pingcap2015

© 2018 北京平凯星辰科技发展有限公司

English