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)
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调研清单的更多相关文章
- 吴裕雄--天生自然MySQL学习笔记:MySQL 安装
所有平台的 MySQL 下载地址为: MySQL 下载:https://dev.mysql.com/downloads/mysql/ 注意:安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足 ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 运算符
要介绍 MySQL 的运算符及运算符的优先级. MySQL 主要有以下几种运算符: 算术运算符 比较运算符 逻辑运算符 位运算符 算术运算符 MySQL 支持的算术运算符包括: 在除法运算和模运算中, ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 导入数据
1.mysql 命令导入 使用 mysql 命令导入语法格式为: mysql -u用户名 -p密码 < 要导入的数据库数据(runoob.sql) 实例: # mysql -uroot -p12 ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 处理重复数据
有些 MySQL 数据表中可能存在重复的记录,有些情况允许重复数据的存在,但有时候我们也需要删除这些重复的数据. 防止表中出现重复数据 可以在 MySQL 数据表中设置指定的字段为 PRIMARY K ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 临时表
MySQL 临时表在我们需要保存一些临时数据时是非常有用的.临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间. MySQL临时表只在当前连接可见,如果使用PHP脚本来创建My ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 事务
MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成 ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL GROUP BY 语句
GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数. GROUP BY 语法 SELECT column_name, funct ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL UNION 操作符
MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中.多个 SELECT 语句会删除重复的数据. 语法 MySQL UNION 操作符语法格式: SELECT ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 连接
使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库. 实例 以下是从命令行中连接mysql服务器的简单实例: [root@host]# my ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 管理
启动及关闭 MySQL 服务器 Windows 系统下 在 Windows 系统下,打开命令窗口(cmd),进入 MySQL 安装目录的 bin 目录. 启动: cd c:/mysql/bin mys ...
随机推荐
- vscode 调试node.js
在开发的过程中,几乎不可能一次性就能写出毫无破绽的程序,断点调试代码是一个普遍的需求. 作为前端开发工程师,以往我们开发的JavaScript程序都运行在浏览器端,利用Chrome提供的开发者工具就可 ...
- curl工具介绍和常用命令
curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.Linux发行版中,并且有DOS和Win32.Win64的移植版本.curl是一个利用URL规则在命令行下工作的文 ...
- Java Map释放内存置null以及调用clear()的区别
今天自己在总结map的时候,想到了在释放Map对象空间的时候就有使用过将Map对象置null,也有时候会调用clear()将Map中的数据清除,那么它们都有什么区别呢? Map<Integer, ...
- express4.x socket
在这个版本下使用socket,配置比较麻烦. 使用实例:http://www.open-open.com/lib/view/open1402479198587.html 配置文件:BarOrderPr ...
- ASP.NET Web API 框架研究 Controller实例的销毁
我们知道项目中创建的Controller,如ProductController都继承自ApiController抽象类,其又实现了接口IDisposable,所以,框架中自动调用Dispose方法来释 ...
- [Leet code 2]Two Sum
1 题目 You are given two linked lists representing two non-negative numbers. The digits are stored in ...
- MISL Learning
https://www.codeguru.com/csharp/.net/net_general/il/article.php/c4635/MSIL-Tutorial.htm http://etuto ...
- C# 简述Action与function
Action 与 Func是.NET类库中增加的内置委托,以便更加简洁方便的使用委托. 最初使用委托时,均需要先定义委托类型,然后定义一个符合委托类型签名的函数,在调用前,需声明并创建委托对象,将指定 ...
- Regular Expression
It's a very elegant summary of regular expression from The AWK Programming Language. 1. The regular ...
- 小技巧——病毒分析中关闭ASLR
原文来自:https://bbs.ichunqiu.com/thread-41359-1-1.html 病毒分析中关闭ASLR 分析病毒的时候,尽可能用自己比较熟悉的平台,这样可以大大地节省时间,像我 ...