生产环境执行DDL变更存在重大隐患,想请教各位在实际生产中是如何管控DDL表变更的:
1、权限怎么管?
是创建不同权限的运维账号隔离?DBA使用2套账号切换是怎么实现?还是用了其他手段?
2、变更监控怎么落地?
如何第一时间发现生产中的DDL变更?具体用了什么技术手段?
1 个赞
1、权限管控
账号分级隔离,业务 / 开发账号无生产 DDL 权限;仅 DBA 账号持有权限,所有操作走堡垒机实名留痕,临时权限需工单审批、到期回收。
2、变更监控
开启数据库审计日志采集,匹配 DDL 语句实时推送告警;辅以流量旁路抓包兜底,定时比对表结构快照发现异常变更。
1 个赞
社区版 支持有限 ,企业版有相应的支持。
主要看三点:数据量级、一致性要求、运维能力。数据量超过单机 MySQL 瓶颈、需要强一致分布式事务的,TiDB 是成熟方案。如果只是几千亿条数据跑分析,也可以考虑 ClickHouse。
1 个赞
权限上做账号分级,仅 DBA 拥有 DDL 权限,开通审批流程。
监控依靠审计日志实时告警,定期比对表结构快照排查变更。
1 个赞
热点Region本质是数据分布不均,AUTO_RANDOM是缓解手段。
针对DBA账号如何进一步细化权限呢?
这个有什么快速的手段吗?
三层账号隔离:业务账号只有查询、应用账号仅 DML、DBA 分低权日常号 + 高权 DDL 临时号切换使用;
DBA的高低权限账号切换,这个应该怎么实现?如果只是靠用户名、密码来管理,DBA本来就知道高权限账号的密码,就不太会有人使用低权限账号了。