slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
MySQL 数据库运维管理基础知识 PowerPoint Presentation
Download Presentation
MySQL 数据库运维管理基础知识

Loading in 2 Seconds...

play fullscreen
1 / 31

MySQL 数据库运维管理基础知识 - PowerPoint PPT Presentation


  • 143 Views
  • Uploaded on

MySQL 数据库运维管理基础知识. 金官丁 136 6166 8096 jinguanding@hotpu.cn. 2013 年 7 月. 目录. 数据库版本选择 数据库监控体系 数据库备份恢复策略 大数据量 DML 操作的技巧 DDL 变更注意事项和变更技巧 在线数据库迁移的技巧. 数据库版本选择. MySQL 数据库分支. 数据库版本选择. MySQL 数据库版本种类. 版本号小于 5.0 : MySQL3.X MySQL4.X 等 MySQL5.0.X

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'MySQL 数据库运维管理基础知识' - kermit-burt


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

MySQL数据库运维管理基础知识

金官丁

136 6166 8096

jinguanding@hotpu.cn

2013 年 7 月

slide2
目录
  • 数据库版本选择
  • 数据库监控体系
  • 数据库备份恢复策略
  • 大数据量DML操作的技巧
  • DDL变更注意事项和变更技巧
  • 在线数据库迁移的技巧
slide3
数据库版本选择
  • MySQL数据库分支
slide4
数据库版本选择
  • MySQL数据库版本种类
  • 版本号小于 5.0:MySQL3.X MySQL4.X 等
  • MySQL5.0.X
  • MySQL5.1.X+Build-in InnoDB存储引擎
  • MySQL5.1.X+Plug-in InnoDB存储引擎
  • MySQL5.5.X
  • MySQL5.6.X
  • MySQL Cluster 6.2.X 和 MySQL Cluster 6.3.X
  • MySQL Cluster 7.0.X
  • MySQL Cluster 7.1.X
  • MySQL Cluster 7.2.X
  • MySQL Cluster 7.3.X
slide5
数据库版本选择
  • 挑选版本的技巧
  • 大版本发布,至少要大于或等于18个版本号
  • 最新版本号倒退1-2个版本号
  • 假设选择版本号为 MySQL5.5.31
  • 看版本号MySQL5.5.31修复的BUG数和新增功能
  • 看版本号MySQL5.5.32修复的BUG数
  • 看版本号MySQL5.5.30修复的BUG数和新增功能
slide6
数据库版本选择
  • 版本定型的过程
  • 内部的功能测试,以用到的MySQL功能为测试基准
  • 针对用到的MySQL功能做基准的压力测试
  • 内部开发环境试用
  • 内部产品的功能和性能测试环境试用
  • 稳定性要求不高且请求量一般的生产环境试用
  • 稳定性要求中等且请求量高的生产环境试用
  • 生产环境正式试用
slide7
目录
  • 数据库版本选择
  • 数据库监控体系
  • 数据库备份恢复策略
  • 大数据量DML操作的技巧
  • 大表DDL变更注意事项和变更技巧
  • 在线数据库迁移的技巧
slide8
数据库监控体系
  • 数据库服务是否正常
  • 数据库的性能
  • 数据库的逻辑IO和物理IO
  • 数据库的业务量
  • 数据库的数据与二进制日志的增长量
  • 主机的CPU、IO、内存、网卡流量、数据增长
  • 数据库的日志
  • 主机系统的日志
slide9
目录
  • 数据库版本选择
  • 数据库监控体系
  • 数据库备份恢复策略
  • 大数据量DML操作的技巧
  • 大表DDL变更注意事项和变更技巧
  • 在线数据库迁移的技巧
slide10
数据库备份恢复策略
  • 数据故障恢复指标
  • 业务中断小于10秒钟,则在线热备
  • 业务中断小于5分钟,则在线延迟恢复热备
  • 业务中断小于2小时,则完整备份+二进制日志备份
  • 数据库备份恢复规划
  • 双主在线热备
  • 双主在线热备+延迟恢复备库
  • 每天完整备份+每小时二进制日志备份
  • 数据库备份恢复软件组合
  • 开源工具:mysqldump
  • 开源工具:xtrabackup 或 收费工具:InnoDB hot backup
slide11
目录
  • 数据库版本选择
  • 数据库监控体系
  • 数据库备份恢复策略
  • 大数据量DML操作的技巧
  • 大表DDL变更注意事项和变更技巧
  • 在线数据库迁移的技巧
slide12
大数据量DML操作的技巧
  • 大数据量INSERT
  • 大数据量UPDATE
  • 大数据量DELETE
slide13
大数据量DML操作的技巧
  • 大数据量INSERT
  • INSERT INTO … VALUES(),(),()….
  • LOAD DATA ….
  • 写入临时表,再INSERT … SELECT … 或循环判断写入
slide14
大数据量DML操作的技巧
  • 大数据量UPDATE
  • SELECT 唯一字段,变更字段
  • 查询结果集写入临时表
  • 给临时表创建组合索引
  • 循环临时表的每条记录
  • 依据临时表的唯一字段值,更新目标表的相关字段值
slide15
大数据量DML操作的技巧
  • 大数据量DELETE
  • 若是定期且特殊规则删除大批量的数据,则建议采用分区表
  • 若是定期且无特殊规则删除大批量的数据,则分区表+UPDATE
  • 若是上述2种方式无法使用,则可以主备轮流删除+数据服务切换
  • 若是上述3种方式无法使用
  • 调整参数…,直接执行DELETE批量语句
  • 先查询出要删除数据的唯一标识写入临时表,然后游标循环删除
slide16
目录
  • 数据库版本选择
  • 数据库监控体系
  • 数据库备份恢复策略
  • 大数据量DML操作的技巧
  • 大表DDL变更注意事项和变更技巧
  • 在线数据库迁移的技巧
slide17
大表DDL变更注意事项和变更技巧
  • 变更注意事项
  • 表级锁
  • InnoDB存储引擎的数据字典锁
  • DDL加速技巧
slide18
大表DDL变更注意事项和变更技巧
  • 变更注意事项
  • 增加字段必须要有默认值
  • 例如:
  • ALTER TABLE tmp_test ADD COLUMN gmt_CreateDate TIMESTAMP NOT NULL DEFAULT ‘0000-00-00 00:00:00’;
  • 增加的字段不能指定字段顺序,必须默认尾部增加模式
  • 例如:增加一个字段到表对象的头部
  • ALTER TABLE tmp_test ADD COLUMN age TINYINT UNSIGNED NOT NULL DEFAULT 0 FIRST;
  • 这是我们强烈反对的行为,可能导致需要更多时间用于数据重整,
  • 以及对复制同步可能造成数据错乱,应该写成:
  • ALTER TABLE tmp_test ADD COLUMN age TINYINT UNSIGNED NOT NULL DEFAULT 0;
slide19
大表DDL变更注意事项和变更技巧
  • 变更注意事项
  • 建议表设计都设置为NOT NULL 且默认值
  • 非NULL且有默认值的字段属性,有利于提高数据比对检索的性能,
  • 更加有利于索引结构的优化
  • 同一表增加多个字段,不分多条语句,而应只用一条变更语句
  • 例如:
  • ALTER TABLE tmp_test ADD COLUMN age TINYINT UNSIGNED NOT NULL DEFAULT 0;
  • ALTER TABLE tmp_test ADD COLUMN gmt_CreateDate TIMESTAMP NOT NULL DEFAULT ‘0000-00-00’;
  • 应该改写成:
  • ALTER TABLE tmp_test
  • ADD COLUMN age TINYINT UNSIGNED NOT NULL DEFAULT 0,
  • ADD COLUMN gmt_CreateDate TIMESTAMP NOT NULL DEFAULT '0000-00-00';
slide20
大表DDL变更注意事项和变更技巧
  • 表级锁
  • InnoDB存储引擎的数据字典锁
slide21
DDL变更注意事项
  • DDL加速技巧
  • DDL操作的过程
  • ① 申请表对象加锁,只允许读不允许更新
  • ② 复制一份变更对象表的结构代码
  • ③ 原数据结构基础之上修改,新建一组临时文件,MyISAM引擎和InnoDB引擎
  • 的文件有所不同,分别为:#***.frm、#***.MYD、#***.MYI, #***.frm、#***.ibd
  • ④ 变更对象表中的数据写入到临时表中
  • ⑤ 数据读写完毕的情况下,完全锁定被变更的表,并且删除被变更表
  • ⑥ 对临时文件执行RENAME操作
  • ⑦ 刷新数据字典信息
  • ⑧ 释放锁
slide22
DDL变更注意事项
  • DDL加速技巧
  • 调整的SESSION变量
  • ① 建议增加SESSION级别的sort_buffer_size 值,以加速DDL过程
  • 需要做的排序操作
  • ② 建议增加SESSION级别的read_buffer_size 值,增加顺序读的速度
  • ③ 建议增加SESSION级别的tmp_table_size 和max_heap_table_size
  • 值,增加内存缓存数据的能力
  • ④ 若是存在InnoDB引擎转MyISAM的操作,建议在线增加
  • key_buffer_size的值,增加索引数据的缓存能力
slide23
DDL变更技巧
  • 大表删除
  • 创建被删除表的硬链接
  • 执行DROP TABLE 语句
  • 业务低谷期删除磁盘上真实的数据文件
slide24
DDL变更技巧
  • 主备切换变更
  • 业务低谷期,备库上创建连接,设置
  • SESSION.sql_log_bin=0
  • 备库上执行DDL变更命令
  • 待备库执行完毕,切换数据服务的主备库关系
  • 新备库上创建连接,设置 SESSION.sql_log_bin=0
  • 新备库上执行DDL变更命令
  • 变更完毕
slide25
目录
  • 数据库版本选择
  • 数据库监控体系
  • 数据库备份恢复策略
  • 大数据量DML操作的技巧
  • 大表DDL变更注意事项和变更技巧
  • 在线数据库迁移的技巧
slide26
数据迁移服务
  • 数据库实例迁移
slide27
数据迁移服务
  • 数据库迁移
  • 目标数据库服务器安装、配置、初始化
  • 目标数据库服务器加载完整备份与重新初始化
  • 搭建目标数据库服务器与迁移数据库服务器之间的主从复制关系
  • 暂停迁移数据库的业务应用访问
  • 修改应用访问连接地址
  • 目标数据库服务器提供数据服务
  • 断开目标数据库服务器与迁移数据库服务器之间的主从复制关系
  • 特殊技术删除迁移数据库服务器上多余的数据库
slide28
数据迁移服务
  • 异构数据库迁移到MySQL数据库
  • 业务模型分析
  • 数据容量预估与拆分规则
  • 目标业务模型的POC
  • 数据库结构设计与优化
  • 模拟生产环境的性能测试
  • 全量数据导出与加载到MySQL数据库
  • 实时同步原异构数据库的变更到MySQL数据库
  • 数据读服务切换到MySQL数据库
  • 数据写服务切换到MySQL数据库
  • 数据服务质量检测与优化调整
slide29
个人介绍
  • 2003年-2006年 主攻SQL Server
  • 2005年-至今 主攻MySQL
  • 2008年-2010年至少帮助过3000名不同技术人员解答疑难问题
  • 2010年-2012年培养 “门生”超过30名,现分布各大互联网公司
  • 2012年-至今,以独立顾问身份,负责惠普-中国联通U-Cloud
  • 项目的数据库平台DaaS的架构设计、研发和实施
  • 曾加盟阿里巴巴,推动数据库平台转型MySQL,组建MySQL
  • 团队、规范、标准、流程等,参与研发的项目超过50个
  • 开心农场早期员工,日活跃用户数超过5000万,负责技术研发部
  • 现任上海热璞网络科技有限公司的CTO兼创始人
slide30
上海热璞网络科技有限公司

业务范围:

数据库服务 数据迁移运维服务整体解决方案

软件开发 企业培训

服务宗旨:

解决企业当下的疑难

帮助企业规避未来可能发生的故障

借助技术和经验为企业降低成本

企业文化:诚信是立足之本,口碑是客户认可的标志,

技术、服务、信誉是核心竞争力

slide31

财务管理渗透于业务活动

信息系统支撑流程化管理

谢谢!

李福申

中国联通 集团副总裁

2011年4月27日