
# 配置ClickHouse系统表的生命周期
#### 操作场景
ClickHouse 默认未配置系统表的 TTL（Time To Live）机制，若长期使用且未手动设置过期策略，系统表中的历史数据将持续累积，可能导致磁盘空间被大量占用，甚至影响集群性能与存储可用性。
本章节指导用户配置系统表的生命周期，仅保留近30天的数据，减少系统表的磁盘使用。
#### 约束与限制
本章节仅适用于MRS 3.2.0-LTS之前版本。
#### 操作步骤
1. 登录FusionInsight Manager系统。 
   详细操作请参考[访问FusionInsight Manager（MRS 3.x及之后版本）](https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_2124.html)。
   
   
2. 创建具有系统表修改权限的ClickHouse用户，具体请参考[ClickHouse用户及权限管理](https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_24057.html)。
3. 使用[2]创建的用户登录客户端节点，连接到ClickHouse服务端，具体请参考[使用ClickHouse客户端](https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_2345.html)。
4. 清理存量系统表数据，执行如下命令： 
   ```
   truncate table system.query_log on cluster default_cluster;
   truncate table system.query_thread_log on cluster default_cluster;
   truncate table system.trace_log on cluster default_cluster;
   ```
   其中：default_cluster为集群名称。
   
   
5. 系统表配置TTL，保留近30天的数据，执行如下命令： 
   ```
   alter table system.query_log on cluster default_cluster modify TTL event_time + INTERVAL 30 day;
   alter table system.query_thread_log on cluster default_cluster modify TTL event_time + INTERVAL 30 day;
   alter table system.trace_log on cluster default_cluster modify TTL event_time + INTERVAL 30 day;
   ```
   
   
 
#### 相关文档
更多TTL相关内容请参考<https://clickhouse.com/docs/guides/developer/ttl#ttl-syntax>。
