加索引执行半天,然后报错
请问怎么解决
是不是用了 fast ddl,然后 fast ddl 的盘不够回滚了。https://docs.pingcap.com/zh/tidb/stable/tidb-distributed-execution-framework#启用前提
这个咋看啊
之前也是不能加索引,只能建新表的时候加索引
硬盘不够用或者达到警告值,会使DDL失败
请问这个不配置就不能加索引吗
看看磁盘空间是不是不足了。
看截图有参数可以关闭fasd ddl
已经加了目录了,虽然没报错,但是一直执行,好长时间了
fast ddl 下,添加索引他是在 tidb-server 上生产 kv 存储文件,然后导入 tikv 集群中来加速。因此 tidb-server 需要一个大盘且盘比较好。
如果没有这个条件可以将 fast ddl 关闭。加索引看表数据量的,表数据量越多,添加时间就越长。
1 个赞
参数temp-dir更改临时文件目录,默认是.tmp/tidb,看看这个是不是空间满了
添加索引的时间长度通常情况下是和表的数据量正相关的,如果你的表比较大的话,添加索引的实际比较久是符合预期的。
不过在v7.1.0版本以后,加索引的速度按理来说也很快的。
如果你可以贴更多详细信息,我们可以完整分析下。
解决方法:
1、查看下ddl执行信息
mysql> admin show ddl;
关注OWNER_ADDRESS字段值,例如是 172.1.1.2:4000,得到端口是 4000
2、创建目录
mkdir -p /tmp/tidb/tmp_ddl-4000
chown tidb:tidb /tmp/tidb/tmp_ddl-4000
注意:这里的4000替换成实际的端口
学习了,Mark
学习了,学习了
还有一种方法是关闭快速加索引
磁盘没空间了吧