本文介绍管理 TiDB 集群时的常见问题、原因及解决方法。
集群日常管理
本小节介绍集群日程管理中的常见问题、原因及解决方法。
TiDB 如何登录?
和 MySQL 登录方式一样,可以按照下面例子进行登录。
mysql -h 127.0.0.1 -uroot -P4000
TiDB 如何修改数据库系统变量?
和 MySQL 一样,TiDB 也分为静态参数和固态参数,静态参数可以直接通过set global xxx = n
的方式进行修改,不过新参数值只限于该实例生命周期有效。
TiDB (TiKV) 有哪些数据目录?
默认在 --data-dir 目录下,其中包括 backup、db、raft、snap 四个目录,分别存储备份、数据、raft 数据及镜像数据。
TiDB 有哪些系统表?
和 MySQL 类似,TiDB 中也有系统表,用于存放数据库运行时所需信息,具体信息参考 TiDB 系统表文档。
TiDB 各节点服务器下是否有日志文件,如何管理?
默认情况下各节点服务器会在日志中输出标准错误,如果启动的时候通过 --log-file
参数指定了日志文件,那么日志会输出到指定的文件中,并且按天做 rotation。
TiDB、TiKV、PD 节点的各类文件存放在哪里?
如需快速了解 TiDB 节点、TiKV 节点、PD 节点的配置文件、数据文件及日志文件的相关介绍与其存放位置,建议观看下面的培训视频(时长 9 分钟)。
如何规范停止 TiDB?
-
若使用了 load balancer(推荐):先停止 load balancer,然后执行
SHUTDOWN
语句。此时 TiDB 会根据 graceful-wait-before-shutdown 设置值等待所有会话断开,然后停止运行。 -
若未使用 load balancer:执行
SHUTDOWN
语句,TiDB 组件会做 graceful shutdown。
TiDB 里面可以执行 kill 命令吗?
-
Kill DML 语句:
查询
information_schema.cluster_processlist
,获取正在执行 DML 语句的 TiDB 实例地址和 session ID,然后执行 kill 命令。TiDB 从 v6.1.0 起新增 Global Kill 功能(由 enable-global-kill 配置项控制,默认启用)。启用 Global Kill 功能时,直接执行
kill session_id
即可。对于 TiDB v6.1.0 之前的版本,或未启用 Global Kill 功能时,
kill session_id
默认不生效,客户端需要连接到正在执行 DML 语句的 TiDB 实例,然后执行kill tidb session_id
才能 kill DML 语句。如果客户端连接到其他 TiDB 实例或者客户端和 TiDB 集群之间有代理,kill tidb session_id
可能会被路由到其他的 TiDB 实例,从而错误地终止其他会话。具体可以参考 KILL。 -
Kill DDL 语句:执行
admin show ddl jobs
,查找需要 kill 的 DDL job ID,然后执行admin cancel ddl jobs 'job_id' [, 'job_id'] ...
。具体可以参考 ADMIN。
TiDB 是否支持会话超时?
TiDB 目前支持 wait_timeout 和 interactive_timeout 两种超时。
TiDB 生产环境的版本管理策略是怎么样的?如何尽可能避免频繁升级?
TiDB 版本目前逐步标准化,每次 Release 都包含详细的 Change log,版本功能变化详情,生产环境是否有必要升级取决于业务系统,建议升级之前详细了解前后版本的功能差异。
版本号说明参考:Release Version: v1.0.3-1-ga80e796
v1.0.3
表示 GA 标准版1
表示该版本 commit 1 次ga80e796
代表版本的git-hash
分不清 TiDB master 版本之间的区别,应该怎么办?
TiDB 目前社区非常活跃,在 1.0 GA 版本发布后,还在不断的优化和修改 BUG,因此 TiDB 的版本更新周期比较快,会不定期有新版本发布,请关注我们的版本发布时间线。此外 TiDB 安装推荐使用 TiUP 进行安装。此外,在 TiDB 1.0 GA 版本后,对 TiDB 的版本号进行了统一管理,
发布者:admin,转转请注明出处:http://www.yc00.com/web/1754939874a5217953.html
评论列表(0条)