【 TiDB 使用环境】生产环境
【 TiDB 版本】 6.5.0
【遇到的问题:问题现象及影响】
TiDB 中很多表在建表时设置了 AUTO_ID_CACHE =1 ,现在想通过系统表查询具体有哪些表设置了这个操作,该在哪个系统表里可以查询到?我看了下 information_schema 下 tables、columns 表都没有这个指标。
【 TiDB 使用环境】生产环境
【 TiDB 版本】 6.5.0
【遇到的问题:问题现象及影响】
TiDB 中很多表在建表时设置了 AUTO_ID_CACHE =1 ,现在想通过系统表查询具体有哪些表设置了这个操作,该在哪个系统表里可以查询到?我看了下 information_schema 下 tables、columns 表都没有这个指标。
我只知道可以用show create table 查看表创建语句有没有AUTO_ID_CACHE 备注
我也是除了show create table,没有在哪个基表查到
没找到,写个shell循环获取下吧
查不到
平时都是单个表单个表的弄,这个还真没有经验;看楼上提了可以在shell循环查然后写到文件里或打出来
能不能使用存储过程来实现。
写个脚本调用tidb的http api
印象中目前没有统一计记录到系统表,可以考虑写个脚本来完成处理
这个值难道不是配置成了默认值,难道每个表都又被改成了不同的值?
你好。这个值可以配置为默认值吗?是有参数可以配置么?请问如何操作?我的版本是 6.5.0,好像没找到默认值的修改方法
SELECT
TABLE_SCHEMA,
TABLE_NAME
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA NOT IN ('INFORMATION_SCHEMA', 'PERFORMANCE_SCHEMA', 'mysql')
AND AUTO_INCREMENT IS NOT NULL
AND AUTO_INCREMENT > 0;
不是的哦,我是想查 AUTO_ID_CACHE 是否为1 ,不是查表当前的 自增ID是多少
dumpling导出表结构也可以看到
#!/bin/bash
result=($(mysql -h tidb-ip -P 4000 -u root -p’’ -N -e “select TIDB_TABLE_ID from information_schema.tables where TABLE_SCHEMA=‘your_schema’”))
for item in “${result[@]}”
do
AUTO_ID_CACHE=$(curl -s http://tidb-ip:status-port/schema?table_id=${item} 2>/dev/null | grep ‘“auto_id_cache”: 1,’)
echo $AUTO_ID_CACHE
if [[ ! -z $AUTO_ID_CACHE ]]; then
mysql -h tidb-ip -P 4000 -u root -p’’ -N -e “select TIDB_TABLE_ID,TABLE_SCHEMA,TABLE_NAME from information_schema.tables where TIDB_TABLE_ID=$item;”
fi
done
很强 ,不错
有点东西
NB,直接给出答案