本文档风哥主要介绍TiDB磁盘满的应急处理方法,包括磁盘满的原因、影响、应急处理原则、清理方法、恢复流程、实战案例和最佳实践等,风哥教程参考TiDB官方文档故障排查相关内容编写,适合DBA人员在学习和测试中使用,如果要应用于生产环境则需要自行确认。更多视频教程www.fgedu.net.cn
Part01-基础概念与理论知识
1.1 磁盘满的原因
TiDB集群磁盘满的常见原因包括:
## 1. 日志文件过大
– **TiDB日志**:TiDB服务器产生的日志文件
– **TiKV日志**:TiKV服务器产生的日志文件
– **PD日志**:PD服务器产生的日志文件
– **系统日志**:操作系统产生的日志文件
## 2. 数据文件增长
– **数据量增长**:业务数据不断增长
– **Region分裂**:TiKV Region分裂产生的文件
– **版本数据**:TiDB多版本并发控制产生的版本数据
– **索引数据**:索引数据的增长
## 3. 备份文件
– **全量备份**:全量备份文件占用空间
– **增量备份**:增量备份文件占用空间
– **日志备份**:二进制日志备份文件占用空间
## 4. 临时文件
– **排序临时文件**:大查询产生的排序临时文件
– **导入临时文件**:数据导入产生的临时文件
– **备份临时文件**:备份过程产生的临时文件
– **其他临时文件**:系统或应用产生的临时文件
## 5. 其他原因
– **磁盘配额**:磁盘配额限制
– **文件系统问题**:文件系统损坏或错误
– **恶意软件**:恶意软件占用磁盘空间风哥提示:
– **误操作**:误操作导致大量文件生成
1.2 磁盘满的影响
TiDB集群磁盘满会产生以下影响:
- 服务不可用:数据库服务无法正常运行
- 数据写入失败:无法写入新数据
- 事务失败:事务无法提交
- 备份失败:无法执行备份操作
- 日志写入失败:无法写入日志文件
- 系统不稳定:系统可能出现各种异常
- 数据损坏:严重情况下可能导致数据损坏
1.3 应急处理原则
TiDB磁盘满应急处理的基本原则:
- 快速响应:及时发现并处理磁盘满问题
- 优先保障服务:优先确保数据库服务的可用性
- 安全清理:安全清理不需要的文件,避免数据丢失
- 分步处理:按照合理的步骤逐步处理
- 监控恢复:处理过程中监控系统状态
- 事后分析:分析磁盘满的原因,避免类似问题再次发生
1.4 应急处理工具
TiDB磁盘满应急处理常用工具:
## 1. 磁盘分析工具
– **df**:查看磁盘空间使用情况
– **du**:查看目录和文件的大小
– **find**:查找大文件或特定类型的文件
– **ncdu**:交互式磁盘使用分析工具
## 2. 日志管理工具
– **logrotate**:日志轮转工具
– **journalctl**:系统日志管理工具
– **gzip**:压缩日志文件
– **rm**:删除不需要的日志文件
## 3. 数据管理工具
– **br**:TiDB备份恢复工具
– **dumpling**:TiDB逻辑备份工具
– **lightning**:TiDB数据导入工具
– **tidb-ctl**:TiDB控制工具
## 4. 系统工具
– **systemctl**:管理系统服务
– **ps**:查看进程状态
– **kill**:终止进程
– **lsof**:查看打开的文件
## 5. 监控工具
– **prometheus**:监控系统
– **grafana**:监控可视化
– **tiup cluster display**:查看集群状态
Part02-生产环境规划与建议
2.1 预防措施
为了避免TiDB集群磁盘满,生产环境中应采取以下预防措施:
## 1. 容量规划
– **合理估算**:根据业务增长趋势合理估算磁盘容量
– **预留空间**:预留足够的磁盘空间,建议至少预留30%
– **定期评估**:定期评估磁盘使用情况,及时扩容
## 2. 日志管理
– **日志轮转**:配置日志轮转,避免日志文件过大
– **日志压缩**:压缩历史日志文件
– **日志清理**:定期清理不需要的日志文件
– **日志级别**:根据需要调整日志级别,减少日志产生量
## 3. 备份管理
– **备份策略**:制定合理的备份策略,避免备份文件占用过多空间
– **备份清理**:定期清理过期的备份文件
– **备份存储**:将备份存储在独立的存储设备上
– **增量备份**:使用增量备份减少备份文件大小
## 4. 临时文件管理学习交流加群风哥QQ113257174
– **临时目录**:配置合适的临时目录
– **临时文件清理**:定期清理临时文件
– **查询优化**:优化大查询,减少临时文件产生
## 5. 监控告警
– **磁盘空间监控**:监控磁盘空间使用情况
– **告警配置**:配置磁盘空间告警阈值,建议设置为70%和90%
– **通知机制**:配置及时的告警通知机制
– **自动处理**:配置自动清理脚本,当磁盘空间达到阈值时自动清理
## 6. 系统配置
– **文件系统**:使用合适的文件系统,如ext4或xfs
– **磁盘配额**:配置合理的磁盘配额
– **inode限制**:监控inode使用情况,避免inode耗尽
– **碎片整理**:定期进行文件系统碎片整理
2.2 监控配置
生产环境中应配置以下监控项,及时发现磁盘满的风险:
## 1. 磁盘空间监控
– **磁盘使用率**:监控磁盘空间使用率
– **剩余空间**:监控磁盘剩余空间
– **inode使用率**:监控inode使用情况
– **磁盘增长趋势**:监控磁盘空间增长趋势
## 2. 日志文件监控
– **日志文件大小**:监控日志文件大小
– **日志生成速度**:监控日志生成速度
– **日志轮转状态**:监控日志轮转状态
## 3. 数据文件监控
– **数据文件大小**:监控数据文件大小
– **数据增长趋势**:监控数据增长趋势
– **Region数量**:监控Region数量
## 4. 备份文件监控
– **备份文件大小**:监控备份文件大小
– **备份存储使用**:监控备份存储使用情况
– **备份执行状态**:监控备份执行状态
## 5. 告警配置
– **紧急告警**:磁盘使用率超过90%
– **警告告警**:磁盘使用率超过70%
– **通知渠道**:邮件、短信、企业微信等
– **告警升级**:设置告警升级机制
2.3 容量规划
TiDB集群的容量规划:
## 1. 数据量估算
– **初始数据量**:估算初始数据量
– **数据增长率**:估算数据年增长率
– **预留空间**:预留30%以上的空间
## 2. 磁盘选择
– **磁盘类型**:使用SSD磁盘提高性能
– **磁盘容量**:根据数据量选择合适的磁盘容量
– **RAID配置**:配置RAID提高可靠性
## 3. 存储架构
– **分离存储**:将数据、日志、备份存储在不同的磁盘上
– **网络存储**:考虑使用网络存储,如NAS或SAN
– **云存储**:考虑使用云存储服务
## 4. 扩容策略
– **垂直扩容**:增加单节点磁盘容量
– **水平扩容**:增加节点数量
– **自动扩容**:配置自动扩容机制
## 5. 容量监控
– **定期评估**:定期评估磁盘使用情况
– **预测分析**:基于历史数据预测未来容量需求
– **扩容计划**:制定详细的扩容计划
Part03-生产环境项目实施方案
3.1 应急处理步骤
TiDB磁盘满的应急处理步骤:
## 1. 确认问题
– **步骤1**:检查磁盘空间使用情况
“`bash
df -h
“`
– **步骤2**:确认哪个分区磁盘满
“`bash
df -h | grep 100%
“`
– **步骤3**:查找占用空间大的目录和文件
“`bash
du -h –max-depth=1 /tidb
“`
## 2. 紧急清理
– **步骤1**:清理日志文件
“`bash
# 清理旧日志文件
find /tidb/log -name “*.log.*” -type f -delete
# 压缩大日志文件
gzip /tidb/log/*.log
“`
– **步骤2**:清理临时文件
“`bash
# 清理临时目录
rm -rf /tidb/tmp/*
# 清理备份临时文件
rm -rf /tidb/backup/tmp/*
“`
– **步骤3**:清理过期备份文件
“`bash
# 清理7天前的备份文件
find /tidb/backup -mtime +7 -type f -delete
“`
## 3. 服务恢复
– **步骤1**:检查数据库服务状态
“`bash
systemctl status tidb tikv pd
“`
– **步骤2**:重启服务(如果需要)
“`bash
systemctl restart tidb tikv pd
“`
– **步骤3**:验证服务状态
“`bash
tiup cluster display fgedudb
“`
## 4. 根因分析
– **步骤1**:分析磁盘满的原因
“`bash
# 查找大文件
find /tidb -type f -size +100M | sort -k5 -n -r | head -20
“`
– **步骤2**:分析日志生成情况
“`bash
ls -la /tidb/log/
“`
– **步骤3**:分析数据增长情况
“`bash
du -h /tidb/data/
“`
## 5. 长期解决方案
– **步骤1**:调整日志配置
“`bash
# 修改日志轮转配置
vim /etc/logrotate.d/tidb
“`
– **步骤2**:调整备份策略
“`bash
# 修改备份脚本,增加清理步骤
vim /tidb/scripts/backup.sh
“`
– **步骤3**:考虑扩容
“`bash
# 评估扩容需求
tiup cluster scale-out fgedudb scale-out.yaml
“`
3.2 清理方法
TiDB磁盘满的清理方法:
## 1. 日志文件清理
– **方法1**:删除旧日志文件
“`bash
# 删除7天前的日志文件
find /tidb/log -name “*.log.*” -mtime +7 -type f -delete
“`
– **方法2**:压缩日志文件
“`bash
# 压缩超过100M的日志文件
find /tidb/log -name “*.log” -size +100M -type f -exec gzip {} \;
“`
– **方法3**:调整日志级别
“`bash
# 修改TiDB配置文件,降低日志级别
vim /tidb/app/tidb/conf/tidb.toml
# 设置 log-level = “warn”
“`
## 2. 临时文件清理
– **方法1**:清理临时目录
“`bash
# 清理临时目录
rm -rf /tidb/tmp/*
# 清理系统临时目录
rm -rf /tmp/*
“`
– **方法2**:清理导入临时文件
“`bash
# 清理lightning临时文件
rm -rf /tidb/data/lightning/*
“`
– **方法3**:清理备份临时文件
“`bash
# 清理br临时文件
rm -rf /tidb/backup/tmp/*
“`
## 3. 备份文件清理
– **方法1**:清理过期备份
“`bash
# 清理30天前的全量备份
find /tidb/backup/full -mtime +30 -type f -delete
# 清理7天前的增量备份
find /tidb/backup/incremental -mtime +7 -type f -delete
“`
– **方法2**:移动备份到外部存储
“`bash
# 移动备份到外部存储
rsync -av /tidb/backup/ /external/backup/
rm -rf /tidb/backup/*
“`
## 4. 数据文件清理
– **方法1**:清理历史数据
“`sql
— 删除3个月前的历史数据
DELETE FROM test.table WHERE create_time < DATE_SUB(NOW(), INTERVAL 3 MONTH);
-- 优化表
OPTIMIZE TABLE test.table;
```
- **方法2**:清理binlog
```bash
# 清理7天前的binlog
tiup ctl:v6.1.0 tidb binlog purge --storage="local:///tidb/binlog" --ttl=7d
```
- **方法3**:清理过期快照
```bash
# 清理过期快照
tiup ctl:v6.1.0 tikv snapshot purge --pd="192.168.1.10:2379" --keep-days=7
```
## 5. 其他清理方法
- **方法1**:清理Docker镜像和容器
```bash
# 清理未使用的Docker镜像
docker image prune -a
# 清理未使用的Docker容器
docker container prune
```
- **方法2**:清理系统包缓存
```bash
# 清理YUM缓存
yum clean all
# 清理DNF缓存
dnf clean all
```
- **方法3**:查找并删除大文件
```bash
# 查找大于1GB的文件
find /tidb -type f -size +1G | sort -k5 -n -r
# 删除不需要的大文件
rm -f /path/to/large/file
```
3.3 恢复流程
TiDB磁盘满后的恢复流程:
## 1. 紧急处理
– **步骤1**:停止写入操作
“`sql
— 暂停写入操作
FLUSH TABLES WITH READ LOCK;
“`
– **步骤2**:清理磁盘空间
“`bash
# 执行清理操作
sh /tidb/scripts/cleanup.sh
“`
– **步骤3**:释放表锁
“`sql
— 释放表锁
UNLOCK TABLES;
“`
## 2. 服务恢复
– **步骤1**:检查服务状态
“`bash
systemctl status tidb tikv pd
“`
– **步骤2**:重启服务
“`bash
systemctl restart tidb tikv pd
“`
– **步骤3**:验证服务状态
“`bash
tiup cluster display fgedudb
“`
## 3. 数据验证
– **步骤1**:检查数据库连接
“`bash
mysql -h 192.168.1.10 -P 4000 -u root -p -e “SELECT 1;”
“`
– **步骤2**:检查数据完整性
“`sql
— 检查表结构
SHOW TABLES;
— 检查数据
SELECT COUNT(*) FROM test.table;
“`
– **步骤3**:检查业务功能
“`bash
# 执行业务测试
sh /tidb/scripts/business_test.sh
“`
## 4. 监控恢复
– **步骤1**:检查监控状态
“`bash
curl -s http://192.168.1.10:9090/metrics | grep disk
“`
– **步骤2**:恢复告警配置
“`bash
# 重新加载Prometheus配置
curl -X POST http://192.168.1.10:9090/-/reload
“`
– **步骤3**:验证告警状态
“`bash
# 检查告警状态
curl -s http://192.168.1.10:9090/api/v1/alerts
“`
## 5. 后续处理
– **步骤1**:分析根因
“`bash
# 分析磁盘使用情况
du -h –max-depth=2 /tidb > /tidb/log/disk_usage.log
“`
– **步骤2**:制定预防措施
“`bash
# 修改监控配置
vim /tidb/app/prometheus/prometheus.yml
“`
– **步骤3**:更新文档
“`bash
# 更新应急处理文档
vim /tidb/docs/emergency_procedure.md
“`
Part04-生产案例与实战讲解
4.1 日志文件导致磁盘满
## 1. 环境信息
– **TiDB版本**:6.1.0
– **磁盘分区**:/tidb(500GB)
– **操作系统**:Oracle Linux 9.3
## 2. 故障现象
– **磁盘满**:/tidb分区磁盘使用率达到100%
– **服务异常**:TiDB服务无法正常启动
– **错误信息**:
“`
[ERROR] 2023/01/01 12:00:00.000 server.go:300] failed to write log: no space left on device
“`
## 3. 故障分析
– **原因**:TiDB日志文件过大,未及时轮转和清理
– **影响**:TiDB服务无法启动,业务中断
## 4. 解决方案
– **步骤1**:检查磁盘使用情况
“`bash
df -h
“`
– **步骤2**:查找大文件
“`bash
find /tidb -type f -size +100M | sort -k5 -n -r
“`
– **步骤3**:清理日志文件
“`bash
# 清理旧日志文件
find /tidb/log -name “*.log.*” -type f -delete
# 压缩当前日志文件
gzip /tidb/log/*.log
“`
– **步骤4**:启动TiDB服务
“`bash
systemctl start tidb
“`
– **步骤5**:验证服务状态
“`bash
systemctl status tidb
“`
## 5. 预防措施
– **配置日志轮转**:配置logrotate自动轮转日志
– **设置日志级别**:根据需要调整日志级别
– **定期清理**:定期清理过期日志文件
– **监控告警**:配置日志文件大小监控
4.2 数据文件导致磁盘满
## 1. 环境信息
– **TiDB版本**:6.1.0
– **磁盘分区**:/tidb/data(1TB)
– **操作系统**:Oracle Linux 9.3
## 2. 故障现象
– **磁盘满**:/tidb/data分区磁盘使用率达到100%
– **写入失败**:无法写入新数据
– **错误信息**:
“`
ERROR 1114 (HY000): The table ‘table’ is full
“`
## 3. 故障分析
– **原因**:业务数据快速增长,超过了磁盘容量
– **影响**:无法写入新数据,业务功能受限
## 4. 解决方案
– **步骤1**:检查数据文件大小
“`bash
du -h –max-depth=2 /tidb/data
“`
– **步骤2**:清理历史数据
“`sql
— 删除6个月前的历史数据
DELETE FROM test.order_history WHERE create_time < DATE_SUB(NOW(), INTERVAL 6 MONTH);
-- 优化表
OPTIMIZE TABLE test.order_history;
```
- **步骤3**:迁移数据到外部存储
```bash
# 导出历史数据
tiup dumpling -h 192.168.1.10 -P 4000 -u root -p -B test -T order_history -o /external/backup/
# 删除导出的数据
DELETE FROM test.order_history WHERE create_time < DATE_SUB(NOW(), INTERVAL 1 YEAR);
```
- **步骤4**:验证磁盘空间
```bash
df -h
```
## 5. 预防措施
- **容量规划**:根据业务增长趋势合理规划磁盘容量
- **数据归档**:定期归档历史数据
- **监控告警**:配置数据增长监控
- **自动扩容**:配置自动扩容机制
4.3 备份文件导致磁盘满
## 1. 环境信息
– **TiDB版本**:6.1.0
– **磁盘分区**:/tidb/backup(500GB)
– **操作系统**:Oracle Linux 9.3
## 2. 故障现象
– **磁盘满**:/tidb/backup分区磁盘使用率达到100%
– **备份失败**:无法执行新的备份操作
– **错误信息**:
“`
[ERROR] 2023/01/01 12:00:00.000 backup.go:1000] failed to write backup file: no space left on device
“`
## 3. 故障分析
– **原因**:备份文件未及时清理,占用了全部磁盘空间
– **影响**:无法执行备份操作,数据安全风险增加
## 4. 解决方案
– **步骤1**:检查备份文件大小
“`bash
du -h –max-depth=2 /tidb/backup
“`
– **步骤2**:清理过期备份文件
“`bash
# 清理30天前的全量备份
find /tidb/backup/full -mtime +30 -type f -delete
# 清理7天前的增量备份
find /tidb/backup/incremental -mtime +7 -type f -delete
“`
– **步骤3**:移动备份到外部存储
“`bash
# 移动备份到外部存储
rsync -av /tidb/backup/ /external/backup/
rm -rf /tidb/backup/*
“`
– **步骤4**:验证磁盘空间
“`bash
df -h
“`
## 5. 预防措施
– **备份策略**:制定合理的备份策略
– **自动清理**:配置自动清理过期备份的脚本
– **外部存储**:将备份存储在独立的外部存储上
– **监控告警**:配置备份存储使用监控
4.4 临时文件导致磁盘满
## 1. 环境信息
– **TiDB版本**:6.1.0
– **磁盘分区**:/tidb/tmp(100GB)
– **操作系统**:Oracle Linux 9.3
## 2. 故障现象
– **磁盘满**:/tidb/tmp分区磁盘使用率达到100%
– **查询失败**:大查询失败
– **错误信息**:
“`
ERROR 1286 (42000): Unknown storage engine ‘InnoDB’
“`
## 3. 故障分析
– **原因**:大查询产生的临时文件占用了全部磁盘空间
– **影响**:大查询失败,业务分析功能受限
## 4. 解决方案
– **步骤1**:检查临时文件
“`bash
ls -la /tidb/tmp/
“`
– **步骤2**:清理临时文件
“`bash
# 清理临时目录
rm -rf /tidb/tmp/*
# 清理MySQL临时文件
rm -rf /tmp/mysql*
“`
– **步骤3**:优化查询
“`sql
— 分析查询计划
EXPLAIN SELECT * FROM test.table WHERE condition;
— 添加索引
CREATE INDEX idx_column ON test.table(column);
— 优化查询
SELECT * FROM test.table WHERE condition LIMIT 1000;
“`
– **步骤4**:验证磁盘空间
“`bash
df -h
“`
## 5. 预防措施
– **临时目录配置**:配置足够大的临时目录
– **查询优化**:优化大查询,减少临时文件产生
– **监控告警**:配置临时目录使用监控
– **定期清理**:定期清理临时文件
Part05-风哥经验总结与分享
5.1 常见问题与解决方案
TiDB磁盘满的常见问题与解决方案:
## 1. 日志文件过大
– **问题**:日志文件过大导致磁盘满
– **解决**:
– 配置日志轮转
– 压缩历史日志
– 调整日志级别
– 定期清理日志
## 2. 数据文件增长过快
– **问题**:数据文件增长过快导致磁盘满
– **解决**:
– 清理历史数据
– 归档冷数据
– 优化数据存储
– 考虑扩容
## 3. 备份文件积累
– **问题**:备份文件积累导致磁盘满
– **解决**:
– 清理过期备份
– 移动备份到外部存储
– 调整备份策略
– 使用增量备份
## 4. 临时文件过多
– **问题**:临时文件过多导致磁盘满
– **解决**:
– 清理临时文件
– 优化查询
– 配置足够大的临时目录
– 定期清理临时文件
## 5. 磁盘空间监控不足
– **问题**:磁盘空间监控不足,未能及时发现问题
– **解决**:
– 配置磁盘空间监控
– 设置合理的告警阈值
– 配置自动清理脚本
– 定期检查磁盘使用情况
## 6. 容量规划不合理
– **问题**:容量规划不合理,导致磁盘空间不足
– **解决**:
– 重新评估容量需求
– 制定合理的扩容计划
– 预留足够的磁盘空间
– 考虑使用云存储
## 7. 清理操作不当
– **问题**:清理操作不当,导致数据丢失
– **解决**:
– 制定清理策略
– 验证清理操作
– 备份重要数据
– 谨慎执行删除操作
## 8. 服务无法启动
– **问题**:磁盘满导致服务无法启动
– **解决**:
– 紧急清理磁盘空间
– 启动服务
– 验证服务状态
– 分析根因
5.2 最佳实践
TiDB磁盘管理的最佳实践:
- 合理规划容量:根据业务增长趋势合理规划磁盘容量
- 预留足够空间:预留至少30%的磁盘空间
- 配置日志轮转:配置日志自动轮转和清理
- 制定备份策略:制定合理的备份策略,定期清理过期备份
- 优化查询:优化大查询,减少临时文件产生
- 监控告警:配置磁盘空间监控和告警
- 定期检查:定期检查磁盘使用情况
- 自动清理:配置自动清理脚本
- 数据归档:定期归档历史数据
- 应急演练:定期进行磁盘满应急处理演练
5.3 应急处理技巧
TiDB磁盘满应急处理的实用技巧:
## 1. 快速定位问题
– **使用df命令**:快速查看磁盘使用情况
“`bash
df -h
“`
– **使用du命令**:快速查找大目录和文件
“`bash
du -h –max-depth=1 /tidb
“`
– **使用find命令**:快速查找大文件
“`bash
find /tidb -type f -size +100M | sort -k5 -n -r | head -20
“`
## 2. 紧急清理
– **优先清理日志**:日志文件通常是最容易清理的
“`bash
find /tidb/log -name “*.log.*” -type f -delete
“`
– **清理临时文件**:临时文件通常可以安全删除
“`bash
rm -rf /tidb/tmp/*
“`
– **清理过期备份**:过期备份可以删除
“`bash
find /tidb/backup -mtime +7 -type f -delete
“`
## 3. 服务恢复
– **重启服务**:清理后重启服务
“`bash
systemctl restart tidb tikv pd
“`
– **验证服务**:确保服务正常运行
“`bash
tiup cluster display fgedudb
“`
– **测试功能**:测试业务功能是否正常
“`bash
mysql -h 192.168.1.10 -P 4000 -u root -p -e “SELECT 1;”
“`
## 4. 预防措施
– **配置监控**:配置磁盘空间监控
“`bash
# 添加磁盘空间监控
vim /tidb/app/prometheus/prometheus.yml
“`
– **设置告警**:设置磁盘空间告警阈值
“`bash
# 添加告警规则
vim /tidb/app/prometheus/rules/disk_alerts.yml
“`
– **自动清理**:配置自动清理脚本
“`bash
# 创建清理脚本
vim /tidb/scripts/cleanup.sh
# 添加到crontab
crontab -e
# 添加:0 0 * * * /tidb/scripts/cleanup.sh
“`
## 5. 长期解决方案
– **容量评估**:定期评估磁盘容量需求
“`bash
# 分析磁盘使用趋势
sh /tidb/scripts/disk_analysis.sh
“`
– **数据归档**:制定数据归档策略
“`bash
# 创建归档脚本
vim /tidb/scripts/archive.sh
“`
– **扩容计划**:制定详细的扩容计划
“`bash
# 创建扩容计划文档
vim /tidb/docs/scale-out-plan.md
“`
## 6. 常见错误处理
– **删除文件后空间未释放**:检查是否有进程占用文件
“`bash
lsof | grep deleted
“`
– **inode耗尽**:检查inode使用情况
“`bash
df -i
“`
– **文件系统损坏**:检查文件系统
“`bash
fsck -y /dev/sda1
“`
– **权限问题**:检查文件权限
“`bash
ls -la /tidb
“`
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
