随笔分类 - MySQL
摘要:Ⅰ、MGR基本参数说明 binlog/relaylog server_id = 1 log_bin = bin log_slave_updates = 1 relay_log = relay binlog_format = row #必须row,用row的理由太多,这里不细述 binlog_chec
阅读全文
摘要:2016年MGR出来的时候,我还在读书,这么多年了,洲际哥忙于干农活,还一直没系统盘玩她,没错,我就是个假DBA 纯实操,不带原理 O(∩_∩)O 环境 服务器ip及host 192.168.0.65 master 192.168.0.185 slave1 192.168.0.32 slave2 系
阅读全文
摘要:长话短说,这个东西可以快速克隆MySQL实例,相关人士测试,效率远胜xtrabackup,另外已经由公司开始用该功能做数据库备份 数据库版本 Ⅰ、clone插件安装 在线安装插件 查看插件状态 Ⅱ、本地克隆 创建克隆账号 该账号需要backup_admin权限 创建clone目录 clone目录属主
阅读全文
摘要:MySQL版本升级 MySQL使用过程中常因为某些bug或者新特性需求进行版本升级,生产环境一般升级有两种方法,原地升级和逻辑升级,逻辑升级就是比较纯粹的导入导出,耗时较长,最稳当。原地升级则是用新版本拉起旧版本数据后更新元数据,耗时少,可能很小概率会有问题,这里我们走一遍原地升级的流程。 Ⅰ、整体
阅读全文
摘要:Ⅰ、先看问题 先简单介绍下cdb的回档功能,回档分为极速、快速、普通,分别对应指定表、指定库、整个实例回档。 控制台报错回档任务执行失败 从字面意思看是某个表不存在导致sql线程中断(和sql线程什么关系? 这和回档功能原理相关,此处先忽略) 这种回档失败只会存在于极速和快速两种模式下,普通回档不会
阅读全文
摘要:MySQL执行计划分析 Ⅰ、认识执行计划的每个字段 1.1 id 单纯的join,id都是1,且从上到下 subquery、scala subquery都会使id递增 1.2 select type simple 不使用union或者subquery的简单query 子查询被优化器打开,失效了 pr
阅读全文
摘要:本案例转载自李大玉老师分享 Ⅰ、问题背景 探活脚本连续8次探测,判断主库异常,触发切换(判断备机是否有延迟,kill原主,VIP飘到备机,设置新主可写) 切换后,业务还是异常,SQL查询没返回,DB连接数耗完,为了恢复业务,重启新主后业务恢复 两个问题 主库为什么会切换 切换后新主库为什么还是不可用
阅读全文
摘要:QPS query per second TPS transaction per second 不是特别关注,每个业务场景中事务标准是不一样的 Ⅰ、sysbench测试框架 Ⅱ、常用测试脚本 Ⅲ、开搞 这个老版本好像有参数设置热数据的量什么的,现在最新版本不知道咋搞,就先将就直接弄吧,不管了
阅读全文
摘要:Ⅰ、sysbench安装 Ⅱ、file io测试 2,1 生成测试文件 2.2 看下参数 2.3 测两把看看 先看随机读 再看随机写 随机读的iops为1752,随机写的iops为1094,读写非对称 清理测试文件用cleanup选项即可 我们主要看随机写的性能哦
阅读全文
摘要:首先说下,因为本身不怎么推荐中间件,所以我对这东西也只是了解,业内mycat用的最好的应该顺风算一个,但是他们是做过二次开发的,咱菜鸡比不了,据说最近出来一个叫cetus的还不错,有空可以关注下 Ⅰ、Mycat安装走一走 这玩意就是一个jar包 默认启动8066端口,也就是说8066就是个中间件,它
阅读全文
摘要:自从谷歌提出分布式这个概念,这个玩意太火了,但是并不是所有的业务场景都适合用分布式的 什么场景适合用分布式架构? 网易分布式用的最好的两个项目:网易考拉 && 网易云音乐(歌单库单表百亿以上记录、评论库) 快递行业 微信红包 其他业务都是有时间维度的,可能只需要存3个月的在线数据,算下来也就2kw,
阅读全文
摘要:数据库的配置是基础、SQL优化最重要(贯穿始终,每日必做),由图可知,越往上优化的面越小,最基本的SQL优化是最重要的,往上各个参数也没太多调的,也不可能说调一个innodb参数性能就会好多少,而动不动就加配置那更是不对的 Ⅰ、数据库配置 1.1 关于内存的 1.2 关于刷新的 1.3 redo 记
阅读全文
摘要:Ⅰ、iostat安装 Ⅱ、玩一手 2.1 cpu指标 | |说明| |: :|: :| |%user|CPU处在用户模式下的时间百分比| |%nice|CPU处在带NICE值的用户模式下的时间百分比| |%system|CPU处在系统模式下的时间百分比| |%iowait|CPU等待IO完成时间的百
阅读全文
摘要:对于单条语句,explain看下key,加个索引 多个条件,加复合索引 where a = ? order by b 加(a,b)的复合索引 上面都是比较基本的,这篇我们分析一些复杂的情况——join的算法 如下两张表做join Ⅰ、nested_loop join 1.1、simple neste
阅读全文
摘要:声明 5.6中desc看不到show warnings,也看不到filtered列 5.7的desc等于5.6的desc extended,这样可以看show warnings,5.6中filtered列非常不准,5.7好一些 先看一个执行计划 Ⅰ、展开分析每个字段 id列——表示sql执行的顺序
阅读全文
摘要:Ⅰ、全文索引 搜索引擎的实现核心技术,搜索类似where col like '%xxx%';关键字可以出现再某个列任何位置 这种查询条件,B+ tree索引是无法使用的。如果col上创建了索引,因为排序过了,所以能用到索引,但是对其中某个关键字是无法排序的 首先需要通过分词进行各词的提取,把各个分词
阅读全文
摘要:今儿啊,洲际哥给大家带来两个8.0的新特性 Ⅰ、不可见索引 schema_unused_indexes表,这个表有三个列分别是object_schema、object_name、index_name 对于这些索引,通常来说,就是删掉,但是直接删除有问题啊,可能现在没用到,过段时间要用啊 但在MySQ
阅读全文
摘要:Ⅰ、索引的另一个作用 B+ tree 是排序过的,对排序过的列进行查询也会非常快 看到没走索引,依赖sort_buffer_size来排序 加一个索引 会发现走了创建的索引,extra也是null了,根本就不用排序了,用不到排序内存了,也就是说不用调大sort_buffer_size了 综上:索引的
阅读全文
摘要:Ⅰ、如何使用B+ tree索引 看key值,表示这条sql语句的执行计划使用了哪一个索引,没走索引,key值就是NULL,这时候就会扫描全部数据 线上删除索引不需要在线工具,只是将索引所占的空间释放掉,很快,不需要pt osc Ⅱ、线上调优 大部分都是看慢查询日志,找到慢sql,复制出来去命令行里e
阅读全文
摘要:Ⅰ、磁盘的访问模式 磁盘性能和磁盘的访问模式有关 Sequential access Random access 上面说的顺序和随机是逻辑上的,大多时候做不到完全顺序 数据库不是连续块的申请空间,是一次申请固定块大小的空间,在这一个块里面的数据是连续的 Ⅱ、HDD VS SSD 随机访问的性能叫IO
阅读全文