0x00 背景

最近公司正在去微软化,之前使用的SQL Server、Oracle将逐步切换到MySQL,所以部门也会跟随公司步伐,一步步将现有业务从SQL Server切换到MySQL,当然上MySQL肯定是上集群和分布式。

于是,有了这份结合业务数据调研MySQL的清单,后面的日子里将一点点记录关于调研过程中的发现和收获。

另外,后面可能使用到的操作系统、MySQL及docker信息如下:

  • Win7_x64
  • CentOS 7.2
  • docker
  • MySQL5.7.18-log

需要说明的是,由于目前本人也是刚接触MySQL,当前对调研清单的内容列举肯定有各种问题,所以后面清单中的内容后面可能会根据具体情况进行修改,这里暂且列举一个粗略的清单。

0x01 MySQL分布式

1、方案、框架、中间件

  • MyCat
  • OneProxy

2、分库分表片键

0x02 MySQL集群

1、方案及框架

  • Galera

2、数据同步技术

  • 异步复制
  • 半同步复制
  • Group Replication

3、同步状态监控

  • 同步故障自动检测及预警
  • 同步延迟监测
  • 同步数据一致性校验
  • 同步故障解决

4、主从切换/master故障切换从库

5、读写分离方案

0x03 灾备作业

1、日常数据/日志备份

  • 完整备份
  • 差异备份
  • 增量备份
  • 二进制日志备份

2、日常数据清除

  • 超期备份文件清除
  • 超期二进制日志清除

3、数据恢复

0x04 数据库及表

1、结合业务确定数据表存储引擎

  • MyISAM
  • InnoDB

考虑因素:数据量、查询/插入/更新/删除效率,事务性、锁、数据恢复等。

2、数据库分库分表、表分区

  • 分库分表片键
  • 垂直切分
  • 水平切分
  • 表分区字段

3、索引

  • 索引设计
  • 索引信息查询
  • SQL语句优化

4、资源统计

  • 查询时间统计
  • CPU占用统计
  • 内存占用统计

5、性能测试

  • 分区表与非分区表查询/插入/更新性能对比

0x05 MySQL实例参数设置

1、结合场景MySQL实例参数设置

2、所有端的字符集编码格式

  • server(character_set_server)
  • schema(character_set_database)
  • table(table)
  • client(character_set_client)
  • connection(character_set_connection)
  • result(character_set_results)
  • system(character_set_system)

3、InnoDB存储引擎参数设置

0x06 数据库日志

1、普通查询日志

2、慢查询日志

3、Binlog

4、安全审计日志

0x07 用户管理

1、管理员账号

2、开发人员账号

3、生产使用账号

4、测试账号

5、权限分配及安全审计

0x08 运维常见问题

1、数据同步延迟太大或失败

2、日常数据/binlog备份失败

3、查询时间太长/死锁(性能)

4、作业执行失败

5、误删数据(数据恢复)

6、资源占用彪高

0x09 其他内容

日后补充。

MySQL调研笔记1:MySQL调研清单的更多相关文章

  1. 吴裕雄--天生自然MySQL学习笔记:MySQL 安装

    所有平台的 MySQL 下载地址为: MySQL 下载:https://dev.mysql.com/downloads/mysql/ 注意:安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足 ...

  2. 吴裕雄--天生自然MySQL学习笔记:MySQL 运算符

    要介绍 MySQL 的运算符及运算符的优先级. MySQL 主要有以下几种运算符: 算术运算符 比较运算符 逻辑运算符 位运算符 算术运算符 MySQL 支持的算术运算符包括: 在除法运算和模运算中, ...

  3. 吴裕雄--天生自然MySQL学习笔记:MySQL 导入数据

    1.mysql 命令导入 使用 mysql 命令导入语法格式为: mysql -u用户名 -p密码 < 要导入的数据库数据(runoob.sql) 实例: # mysql -uroot -p12 ...

  4. 吴裕雄--天生自然MySQL学习笔记:MySQL 处理重复数据

    有些 MySQL 数据表中可能存在重复的记录,有些情况允许重复数据的存在,但有时候我们也需要删除这些重复的数据. 防止表中出现重复数据 可以在 MySQL 数据表中设置指定的字段为 PRIMARY K ...

  5. 吴裕雄--天生自然MySQL学习笔记:MySQL 临时表

    MySQL 临时表在我们需要保存一些临时数据时是非常有用的.临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间. MySQL临时表只在当前连接可见,如果使用PHP脚本来创建My ...

  6. 吴裕雄--天生自然MySQL学习笔记:MySQL 事务

    MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成 ...

  7. 吴裕雄--天生自然MySQL学习笔记:MySQL GROUP BY 语句

    GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数. GROUP BY 语法 SELECT column_name, funct ...

  8. 吴裕雄--天生自然MySQL学习笔记:MySQL UNION 操作符

    MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中.多个 SELECT 语句会删除重复的数据. 语法 MySQL UNION 操作符语法格式: SELECT ...

  9. 吴裕雄--天生自然MySQL学习笔记:MySQL 连接

    使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库. 实例 以下是从命令行中连接mysql服务器的简单实例: [root@host]# my ...

  10. 吴裕雄--天生自然MySQL学习笔记:MySQL 管理

    启动及关闭 MySQL 服务器 Windows 系统下 在 Windows 系统下,打开命令窗口(cmd),进入 MySQL 安装目录的 bin 目录. 启动: cd c:/mysql/bin mys ...

随机推荐

  1. iOS中的序列帧动画

    UIImageView对象的有一个animationImages属性,将图片数组赋值给该属性即可.如图: 控制动画的播放方法是:[ ___  startAnimating]; 控制动画的停止方法是:[ ...

  2. ajax点击加载更多图片

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  3. PCB中实现元器件旋转一个角度放置

    我们常常放置器件都是横着或者竖着的...但是有时候需要器件能旋转一个角度放更方便的话,可以这样 设置器件的属性.....

  4. 背水一战 Windows 10 (45) - 控件(图标类): IconElement, SymbolIcon, FontIcon, PathIcon, BitmapIcon

    [源码下载] 背水一战 Windows 10 (45) - 控件(图标类): IconElement, SymbolIcon, FontIcon, PathIcon, BitmapIcon 作者:we ...

  5. 【转】「Chris Richardson 微服务系列」微服务架构的优势与不足

    Posted on 2016年5月4日 编者的话|本文来自 Nginx 官方博客,是微服务系列文章的第一篇,主要探讨了传统的单体式应用的不足,以及微服务架构的优势与挑战. 作者介绍:Chris Ric ...

  6. Spring Cloud实践之集中配置Spring-config

    将一个系统中各个应用的配置文件集中起来,方便管理. import org.springframework.boot.SpringApplication; import org.springframew ...

  7. 网络编程-socket(二)

    https://www.cnblogs.com/mys6/p/10587673.html(网络编程) 持续通话 总结 # 网络开发的架构 :C/S B/S# mac地址是什么 -身份证号# ip地址 ...

  8. 04_python_列表

    一.列表 列表是用[ ]括起来并每个元素用逗号分割的,并且可以存放各种数据类型,存放的数据量非常大,列表是有序的(按照你保存的顺序),有索引, 可以切片方便取值. lst = [1, '哈哈', &q ...

  9. odoo datetime 直接修改模版语言 去掉时分秒

    <field name='date_order' widget='date'/> 利用date widget即可使dateime类型的显示为date.

  10. oracle 切换用户操作--or--sys用户密码忘记

    1.sqlplus中以普通用户登录oracle后, 普通用户的登录方式: sqlplus /nolog conn 用户名/密码@IP地址/orcl:1521; 这个时候,想要切换sys用户,conn ...