XXMySQL数据库运维变更流程

MySQL数据库运维变更流程

草拟时间:2015.11.13
制订时间:
修订时间:

0x00 目的

规范MySQL数据库的运维人员变更流程,降低操作流程引发的安全隐患,减少人为的错误风险。

0x01.场景

1.业务人员根据业务需要进行数据订正,库表字段结构变更的相关需求。
2.运维人员根据数据库日常运维,故障处理与性能优化的变更需求。

0x02.类型

1.数据订正(insert,update,delete相关操作)

  重大变更

    数据订正表的总数据条数100W以上,且表属于核心业务。
        数据订正涉及的行数超过50W条,且此表数据为读写频繁业务表。
        导入单张表的数据文件大小超过1G,在线服务器压力较大,导入核心业务表或修改操作频繁的表

  一般变更

  若被订正的数据量,小于表总数据量的1%,且数据订正的条件有合理的索引。
       若一次性导入单张表的数据文件大小不超过1G,则选择为一般变更即可,但是建议安排在18:00之后或服务器压力相对较小的时候完成。

  

2.数据库结构变更

  重大变更
       
       修改表结构:表数据大小超过1G,且进行下列操作:修改字段名称、增加/删除字段、修改字段属性
      增加/修改索引属性:表数据大小超过1G,且修改操作频繁或应用对数据库修改操作要求响应时间极短
       影响服务器性能的其他变更:如,mysqldump备份数据库、修改表或字段的字符集、修改表分区的逻辑

一般变更

新建表对象:对于数据库服务器中不存在的表,因项目上线或其他原因而需要新创建的表,选择为一般变更即可。
      数据量较小的变更:表记录小于100w或涉及变更记录少于50w,或数据大小小于1G的变更。
       其他变更,如:修改表名称、增加与修改表或字段的备注、创建与删除分区、表删除、修改自增序列开始位置值等。

3.权限变更

重大变更

数据库管理或清除库表权限授权,如grant, all, super, process, create user,truncate,drop。

一般变更

业务访问(select)权限授权
     数据变更(insert,update,delete)权限授权

4.服务器端参数变更

  重大变更

服务器全局变量值的修改

5.MySQL服务器迁移与升级

核心变更

涉及核心DB相关MySQL服务器迁移与升级,主从重建等变更

重大变更

涉及CDB数据库相关MySQL服务器迁移与升级变更

核心变更,变更发起人需提前知会运维Leader,leader确认后,由运维变更人员在变更前发布研发和产品人员通知邮件,确定变更时间,变更对象,变更步骤及回退步骤。
  重大变更,变更发起人需提前知会业务Leader,leader确认后,由变更发起人员与运维人员确定变更时间后发布相关人员邮件通知和RTX群通知。
 一般变更,由变更发起人RTX群通知相关人员,运维人员变更后在RTX群中同步信息。

0x03.变更流程

核心变更,变更发起人需提前知会运维Leader,leader确认后,由运维变更人员在变更前发布研发和产品人员通知邮件,确定变更时间,变更对象,变更步骤及回退步骤。核心变更需求需要做好变更计划,紧急需求需要总监级别审批确认。
  重大变更,变更发起人需提前知会业务Leader,leader确认后,由变更发起人员与运维人员确定变更时间后发布相关人员邮件通知和RTX群通知。
 一般变更,由变更发起人RTX群通知相关人员,运维人员变更后在RTX群中同步信息。

流程内容
申请-->审核---处理-->验证-->结束

1.申请
流程负责人员:变更发起人员
对于计划内变更需求,需至少提前12小时进行申请,对于紧急需求需在需求确认后进行申请,并记录到问题管理系统中。

数据库运维变更流程遵守常规业务变更规范,非常规工作日(如周五或重大节假日前后2日内)变更申请需要发邮件到总监审批。

需求人员通过RTX群与运维人员沟通需求,需求确认后在需求工单系统进行提单,选择工单类别“平台侧基础运维”-“数据库线上操作”,工单描述中填写 数据库变更的具体对象和内容,如有疑问可在RTX沟通群中确认。

工单描述参考格式见附录。

2.审核
流程负责人员:运维人员
需求人员提数据库变更需求单后,运维人员对需求单进行审核,审核通过进入下一个环节,审核不通过则进行沟通确认取消需求还是修改需求。

3.处理
流程负责人员:运维人员

响应:
授权类需求与需求方进行沟通确认或在工单有效期内进行处理。
紧急且重大变更需求,提升优先级立即进行响应。

通知:
运维人员收到相关需求后,确认需求属于常规时间或紧急时间,一般或重大变更需求后,发送变更计划通知邮件或拉相关人员RTX群进行通知。
变更开始与变更关键节点,变更结束需要在RTX或邮件中进行回复。

备份:
变更前需要备份相关服务器配置,库表数据,便于恢复数据和配置。
涉及到库表结构,整体数据的更新,需要在变更前进行备份。

变更:
变更后生效前,需要再次确认变更内容,数据库变更期间尽可能避免处理其他变更需求。

4.验证
流程负责人员:运维人员及被所有通知人员

运维人员变更完毕后,确认变更效果后,需及时通知到需求发起人员及相关RTX群或邮件,由需求发起人员进行最终变更效果确认。
需求发起人员验证通过后,30分钟到2个小时观察期,确认数据库变更后相关系统运行正常。

5.结束

流程负责人员:需求发起人员
通知相关人员,本次变更结束。

0x05.违反流程行为的处理

1.违反流程行为:

1.未按照流程进行变更
2.非授权行为进行变更

2.违反流程行为处罚:

对于违反数据库变更流程行为未造成影响的,进行批评教育。
对于违反数据库变更流程行为并造成影响的,按照公司及OMG相关处罚规定处理。

0x06.修订与发布

1.修订

通过与业务方及运维变更人员沟通对运维变更流程进行草拟修订。

2.发布

流程内容修订后,发布最新内容及变更内容邮件通知全体研发人员。

0x07.附录

1.自建MySQL
业务需求背景下由运维人员搭建并备案的MySQL数据库。
2.数据库托管
 在产品技术部的MySQL数据库,运维通过相关网页进行申请,数据库服务器由其他技术部相关人员运维。
3.核心DB
自建的放置核心数据的MySQL集群

需求申请,参考格式:

数据变更需提供:
数据库IP:
数据库端口:
数据库库名,表名:
业务名称:
其他说明:

授权需要额外提供:
需要授权的主机IP:
需要授权的权限:例如,select,insert,update,delete需要使用的账户名:
账户是否已存在:
时间: 2024-08-13 22:24:14

XXMySQL数据库运维变更流程的相关文章

从一个简单的约束看规范性的SQL脚本对数据库运维的影响

原文:从一个简单的约束看规范性的SQL脚本对数据库运维的影响 之前提到了约束的一些特点,看起来也没什么大不了的问题,http://www.cnblogs.com/wy123/p/7350265.html以下以实际生产运维中遇到的一个问题来说明规范的重要性. 如下是一个简单的建表脚本,表面上看起来并没有什么问题.其中创建了3个约束,一个主键约束,一个唯一约束,一个默认值约束,该脚本执行起来没有任何问题. USE Test GO if exists(select 1 from sys.tables

MySQL数据库运维课程

MySQL数据库运维课程 http://www.dataguru.cn/article-4834-1.html?union_site=comm100 课程大纲 第一课:机器选型.系统规划 第二课:安装部署 第三课:压力测试 第四课:性能优化 第五课:字符集和权限安全 第六课:日志系统 第七课:备份与恢复1 第八课:备份与恢复2 第九课:常用工具 第十课:MySQL集群 第十一课:分布式集群 第十二课:集群高可用(HA)和容灾演练 第十三课:自动化运维 第十四课:监控和审计系统 第十五课:成长规划

数据库运维保障

数据库运维保障 国庆假期本来是可以开开心心去玩的,但是由于某些突发情况,例如天灾导致的数据库故障的情况还是有可能出现 如果出现这种情况不但破坏了国庆假期玩乐的美好心情,节后上班也可能由于没有做好预防措施要遭遇领导挨批. 为了避免发生这种情况,对于公司业务系统的相关运维人员来说不能掉以轻心,一定要做好预防措施. 以下是总结的一些突发情况预防措施 1.做好公司业务系统的监控报警,关键时刻启动应急预案 2.服务器选择双电源服务器,避免单电源故障造成的服务器宕机 3.选择优质的机房,机房一定要有发电机,

一个兼职DBA的数据库运维经验 小米科技 [email protected] 2011

一个兼职DBA的数据库运维经验 小米科技  [email protected] 2011 报警监控系统粒度太大,不好用(我们公司现状)数据库状况:十个服务器,惠普HP380G7 戴尔R710 ,都做了主从全部sas盘 15K RAID10服务器内存24G数据库跟业务混用,不是专门给数据库用 导致出问题(我们公司现状)备份用的xtrabackup 数据库不大:160G 70G 30G程序支持分库分表 --------------------------问题 io util% 100%(学)正常io

DBA_Oracle数据库运维监控(案例)(待学习)

2014-07-27 BaoXinjian 一.摘要 1 - 数据库账户是否锁住监控 2 - 数据库表空间大小 3 - 进程异常停止监控 4 - Session中处理时间过长的进程监控 二.案例1 - 账户是否锁住监控 1. 如何监控 2. 如何处理 三.案例2 - 表空间大小不够监控 1. 如何监控 2. 如何处理 四.案例3 - 进程异常停止监控 1. 如何监控 2. 如何处理 五.案例4 - Session中处理时间过长的进程监控 1. 如何监控 2. 如何处理 DBA_Oracle数据库

【数据库运维】数据库(服务器)的时区设置及世界主要地区的时区

[时区设置不当会有什么问题] 当进行海外项目运维的时候,经常会遇到时区设置的问题,如果时区设置不当 或者 相同项目的服务器之间的时区不一致,都会有导致项目的数据异常的风险. 如果数据表的字段使用了date类型的字段,字段的默认值是sysdate,并且程序插入记录的时候使用了字段的默认值,那么就有可能导致数据异常.在修改数据库服务器的时区时,也是需要谨慎操作的. [服务器时间同步的方法] # 时间同步服务器请修改为要求的地址(建议使用Windows的地址,因为世界上大部分个人电脑使用的是Windo

(3.2)数据库运维做些什么

转自:http://blog.51cto.com/qianzhang/1198503 一. 数据库生命周期 结合软件生命周期.项目的开展,数据库的生命周期,大致可分为这么几个阶段. 1. 规划 在立项后,对于数据库平台的软硬件选型,以及大致的数据库架构. 1.1 配置多少台服务器,服务器的内存大小/磁盘空间.IOPS/CPU核数/网络带宽等: 1.2 选择的操作系统与数据库产品,及相应版本: 1.3 整体架构,比如是否考虑:HA,Scale out, load balance, 读写分离等策略.

与“十“俱进 阿里数据库运维10年演进之路

导语阿里巴巴集团拥有超大的数据库实例规模,在快速发展的过程中我们在运维管理方面也在不断的面临变化,从物理器到容器.从独占到混布.从本地盘到存储计算分离.从集团内到大促云资源,从开源的MySQL到自研分布式数据库,运维管控进行了自我革新与进化. 作者--谭宇(花名:茂七),阿里巴巴高级技术专家.2009年加入阿里,对分布式系统和数据库领域有很大的兴趣.目前负责阿里巴巴集团数据库中台建设,支撑了集团数据库在容器化.存储计算分离.在离线混部.大规模迁移建站以及智能运维等技术探索与落地. 本文梳理了阿里

谈谈数据库运维自动化

当你写了太多的数据库脚本,做了太多的自动化工作时,面对零散的新需求,尝试自动化时是否需要按使用频率提高自动化水平. 假如有个常见需求,数据库里删除一个大表里的部分数据,或者redis删除一个key 做为运维,需要考虑表有多大,是否要循环删除,删除条件是否有索引, redis的数据类型,如果是list,set,zset,需要考虑大小,是否需要循环清理 第一阶段,把循环删除动作写在一个循环脚本里. 运行脚本完成这次任务 第二阶段,把这个脚本做成通用性,以后再有类似的同样的需求,可以传参过来完成 第三