一、命名规则与格式规范
数据库登录名应遵循结构化命名规则,长度控制在6-32字符之间,仅使用英文字母、数字和下划线组合。建议采用业务缩写_角色类型格式(如:finance_audit),避免使用连续数字或默认账号名(如admin)。
- 禁止包含空格、中文或特殊符号(@#$%等)
- 区分生产环境与测试环境账号(添加_dev后缀)
- 定期清理未使用的休眠账户
二、密码生成与安全管理
密码应符合强密码策略:至少8位且包含大小写字母、数字和特殊字符,推荐使用密码管理器生成随机序列。MySQL用户创建示例:
CREATE USER 'finance_audit'@'localhost'
IDENTIFIED BY 'J5q#9Ld!vW2s';
实施密码轮换机制,建议每90天通过ALTER USER
更新密码,禁止多个系统使用相同密码。
三、权限控制与访问审计
遵循最小权限原则,使用GRANT
命令精确分配权限。典型权限管理流程:
- 创建新用户并设置初始密码
- 授予特定数据库的读写权限(如:GRANT SELECT, INSERT)
- 通过
SHOW GRANTS
验证权限分配
启用MySQL审计日志功能,记录所有账户的登录尝试和敏感操作,建议每日审查异常登录事件。
四、加密技术与安全更新
采用caching_sha2_password等加密算法存储密码,敏感字段使用AES_ENCRYPT函数加密。配置SSL/TLS协议保护传输数据,查看加密状态命令:
SHOW SESSION STATUS LIKE 'Ssl_cipher';
及时应用MySQL安全补丁,保持操作系统和依赖库更新,禁用旧版本认证协议。
通过规范命名、强化密码策略、细粒度权限控制和持续安全更新,可构建多层防御体系。建议结合自动化工具定期执行安全扫描,开展渗透测试验证防护效果。