• 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 其他内容

    日后补充。

  • 相关阅读:
    【SQLite】教程04-SQLite数据类型
    【SQLite】教程03-SQLite语法
    【SQLite】教程02-SQLite命令
    [原创]java WEB学习笔记22:MVC案例完整实践(part 3)---多个请求对应一个Servlet解析
    [原创]java WEB学习笔记21:MVC案例完整实践(part 2)---DAO层设计
    [原创]java WEB学习笔记20:MVC案例完整实践(part 1)---MVC架构分析
    [转]Mysql命令
    [原创]java WEB学习笔记19:初识MVC 设计模式:查询,删除 练习(理解思想),小结 ,问题
    [原创]java WEB学习笔记18:java EE 中的MVC 设计模式(理论)
    [原创]java WEB学习笔记17:关于中文乱码的问题 和 tomcat在eclipse中起动成功,主页却打不开
  • 原文地址:https://www.cnblogs.com/leejack/p/7260268.html
Copyright © 2020-2023  润新知