Closed dikang123 closed 7 years ago
SELECT TABLE_NAME, ROUND(DATA_LENGTH / 1024 / 1024 / 1024, 2) FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'xxxx' AND CREATE_OPTIONS <> 'partitioned' AND DATA_LENGTH > 10 1024 1024 1024 UNION ALL SELECT CONCAT(TABLE_NAME, ':', PARTITION_NAME), ROUND(DATA_LENGTH / 1024 / 1024 / 1024, 2) FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = 'xxxx' AND TABLE_NAME NOT IN (SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'xxxx' AND CREATE_OPTIONS <> 'partitioned') AND DATA_LENGTH > 10 1024 1024 1024
因为是非生产环境,因此查出来没有结果(因为目前没有表的大小超过10GB)
SELECT 'xxxx', count(*) FROM information_schema.tables WHERE table_schema='xxxx'
这个查出来的结果是7,也就是只有7张表!
big_schema_by_table_num这个规则前端显示有些歧义,虽然显示的是有违反的,但是并没有扣分,也就是实际没有违反,可以重点关注有扣分选项的 big_table_by_size应该是由于数据为空,对异常处理的不够完善 后面会修复这些问题 为了不影响后面的审核,对于出问题的规则可以临时性的关闭
临时性的关闭
是直接将这条规则删除对吧?
不是。 在规则管理界面有相应的off选项,在审核的时候就会跳过这条规则
使用的是针对mysql数据库进行审核请参考dev分支 规则big_table_by_size会导致themis-analysis模块报错:
后端mongodb用的是3.4.3版本。
另外规则big_schema_by_table_num判断出错,规则的定义是超过5000张才算违法规则,但是实际判断的时候出错: