部署规范
OS部署规范
关闭CPU节能模式,设定为最大性能模式
关闭NUMA、C-states、C1E
若有阵列卡,则使用FORCE WB策略,且关闭预读
若使用机械盘,则所有盘组成RAID-10阵列
SSD盘可以只有两块组成RAID-1或三块组成RAID-5
xfs/ext4 + deadline/noop
transparent_hugepage = never
vm.swappiness <= 5
vm.dirty_ratio <= 10, vm.dirty_background_ratio <= 5
MySQL运维规范
非root账号运行,文件(尤其是socket文件)目录权限控制得当
也不能通过映射/NAT等方案让外部可访问
也不能绑定全部网卡,明确指定IP
授权时,务必限制IP段/域名/主机名,而不是全局
权限务必严格控制,不过度放权
绝对不能使用弱密码,像abccba、abcd.1234这些
有条件的话 ,要定期更换密码(5.7起可以设置密码定期失效)
开发环境建议
long_query_time=0
long_queries_not_using_indexes = 1 & log_throttle_queries_not_using_indexes = 10
定期分析slow log
授权和生产环境一致
和业务配合
批量导入、导出数据须提前通知DBA,请求协助观察
推广活动或上线新功能须提前通知DBA,请求压力评估和协助观察
不使用SUPER权限连接数据库,只读库必须开启super_read_only
单表多次ALTER操作必须合并为一次操作
数据库DDL及重要SQL及早提交DBA评审
重要业务库须告知DBA重要等级、数据备份及时性要求
不在业务高峰批量更新、查询数据库
提交线上DDL需求,所有SQL语句须有备注说明
运行备份任务和大查询前,要先检查是否有其他SQL未结束,或者是否有事务未提交
定期全备(最好每天至少一次)
备份方式:物理+逻辑
binlog也需要备份
异地备份,恢复测试