Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

新增MySQL规则 #2732

Open
littleniannian opened this issue Nov 1, 2024 · 0 comments
Open

新增MySQL规则 #2732

littleniannian opened this issue Nov 1, 2024 · 0 comments
Assignees
Milestone

Comments

@littleniannian
Copy link
Collaborator

littleniannian commented Nov 1, 2024

解决版本

2.2302.2

需求描述(Describe)

  • 规则13: 表设计做到行不跨页
    DDL规范,提示等级:WARN
    规则描述:在表设计时,应该尽量确保每一行数据都不会跨越数据页(Page)的边界,以提高数据的读取和写入性能,减少物理I/O操作,并优化存储空间的利用率。
    行长计算支持的字符集: utf类
    支持的数据类型:

  • CHAR

  • VARCHAR

  • TINYINT

  • SMALLINT

  • MEDIUMINT

  • INT, INTEGER

  • BIGINT

  • FLOAT(p)

  • FLOAT

  • DOUBLE [PRECISION], REAL

  • DECIMAL(M,D), NUMERIC(M,D)

  • YEAR

  • DATE

  • TIME

  • DATETIME

  • TIMESTAMP

  • 规则17: 禁止使用event scheduler
    全局配置,提示等级:ERROR
    规则描述:禁用MySQL的事件调度器(event_scheduler),以提高数据库的安全性、稳定性和可控性,避免非预期的事件执行对系统造成影响。

  • 规则4: 普通索引必须设置索引名
    命名规范,提示等级:INFO
    规则描述:普通索引定义索引名,且名称遵循固定的命名规范、避免特殊字符的使用,可以提高代码的可读性、可维护性,并减少潜在的兼容性和语法问题。

  • 规则8: 不允许set操作
    全局配置,提示等级:ERROR
    规则描述:,禁止使用SET命令来修改MySQL的系统参数,以确保数据库的稳定性、一致性和安全性。
    img_v3_02g7_ef816ecf-dde9-4000-86dc-a83b48754fbg

实现方案

  • rule_list.go中增加新的规则
  • rule.go中增加对应规则的实现

变更影响面

受影响的模块或功能

包括所有和SQL审核有关的功能

  • SQL工单
  • 智能扫描
  • 流水线配置

外部引用的潜在问题或风险

版本兼容性

测试建议

@ColdWaterLW ColdWaterLW changed the title 新增MySQL规则17,规则4 新增MySQL规则 Nov 1, 2024
@ColdWaterLW ColdWaterLW added this to the v3.2411.0 milestone Nov 1, 2024
This was referenced Nov 12, 2024
@ColdWaterLW ColdWaterLW modified the milestones: v3.2411.0, v2.2302.0 Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants