MySQL调研笔记1:MySQL调研清单

 

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)

3InnoDB存储引擎参数设置

0x06 数据库日志

1、普通查询日志

2、慢查询日志

3、Binlog

4、安全审计日志

0x07 用户管理

1、管理员账号

2、开发人员账号

3、生产使用账号

4、测试账号

5、权限分配及安全审计

0x08 运维常见问题

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

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

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

4、作业执行失败

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

6、资源占用彪高

 0x09 其他内容

日后补充。

原文地址:https://www.cnblogs.com/leejack/p/7260268.html