摘要: QPS - query per secondTPS - transaction per second 不是特别关注,每个业务场景中事务标准是不一样的 Ⅰ、sysbench测试框架 Ⅱ、常用测试脚本 Ⅲ、开搞 这个老版本好像有参数设置热数据的量什么的,现在最新版本不知道咋搞,就先将就直接弄吧,不管了 阅读全文
posted @ 2019-01-07 23:56 海东潮 阅读(783) 评论(0) 推荐(0) 编辑
摘要: InnoDB中锁的模式 Ⅰ、总览 S行级共享锁lock in share mode X行级排它锁增删改 IS意向共享锁 IX意向排他锁 AI自增锁 Ⅱ、锁之间的兼容性 兼XIXSIS X × × × × IX × √ × √ S × × √ √ IS × √ √ √ 2.1 意向锁 意向锁揭示了下一 阅读全文
posted @ 2019-01-07 23:53 海东潮 阅读(932) 评论(0) 推荐(0) 编辑
摘要: Ⅰ、binlog与redo的一致性(原子) 由内部分布式事务保证 我们先来了解下,当一个commit敲下后,内部会发生什么? 步骤操作 step1 InnoDB做prepare redo log(fsync) step2 Sever层写binlog(fsync) step3 InnoDB层commi 阅读全文
posted @ 2019-01-07 23:52 海东潮 阅读(667) 评论(0) 推荐(0) 编辑
摘要: Ⅰ、事务的实现 这里我们先抛出答案,通过答案再展开分析 特性实现 A(原子性) redo C(一致性) undo I(隔离性) lock D(持久性) redo/undo 本节针对redo展开分析 Ⅱ、redo详解 2.1 redo log buffer redo就是我们常说的重做日志,用来实现持久 阅读全文
posted @ 2019-01-07 23:50 海东潮 阅读(1245) 评论(0) 推荐(0) 编辑
摘要: Ⅰ、Checkpoint 1.1 checkpoint的作用 缩短数据库的恢复时间 缓冲池不够用时,将脏页刷到磁盘 重做日志不可用时,刷新脏页 1.2 展开分析 page被缓存在bp中,page在bp中和disk中不是时刻保持一致的(page修改一下就刷一次盘是不现实的,是通过checkpoint来 阅读全文
posted @ 2019-01-07 23:49 海东潮 阅读(1414) 评论(2) 推荐(0) 编辑
摘要: Ⅰ、缓冲池介绍 innodb存储引擎缓冲池(buffer pool) ,类似于oracle的sga,里面放着数据页 、索引页 、change buffer 、自适应哈希 、锁(5.5之前)等内容 综上所示: 每次读写数据都是通过Buffer Pool 当Buffer Pool中没有用户所需要的数据时 阅读全文
posted @ 2019-01-07 23:48 海东潮 阅读(2219) 评论(1) 推荐(0) 编辑
摘要: 1. 简介 MySQL 5.6引入了基于schema的并行复制,即如果binlog events操作的是不同schema的对象,不是DDL,且操作的对象没有对其他schema的foreign key关联,则这些binlog events在slave上做重放的时候可以并行。slave上依然还是有一条I 阅读全文
posted @ 2019-01-07 19:25 海东潮 阅读(747) 评论(0) 推荐(0) 编辑
摘要: 一 目录 一 目录 二 背景 三 SSD 特性 四 基于 SSD 的数据库优化 五 A 项目 MySQL 主从关系图 六 程序切换之前调优 6.1 修改系统 IO 调度算法 6.2 修改 innodb_io_capacity = 4000 6.3 修改 innodb_max_dirty_pages_ 阅读全文
posted @ 2019-01-07 18:29 海东潮 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 目录 目录 一 引子 二 故障分析 三 故障解决 四 原理探讨 五 小结 文/温国兵 一 引子 研发反应,有台从库和主库不同步。由于业务读操作是针对从库的,数据不同步必定会带来数据的不一致,业务获取的结果会受影响,所以这个问题必须尽快解决。 登上服务器,查看 MySQL 的从库状态,并没有任何报错信 阅读全文
posted @ 2019-01-07 18:24 海东潮 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 如果用过MSSQL或者是Oracle中的窗口函数(Oracle中叫分析函数), 然后再使用MySQL 8.0之前的时候,就知道需要在使用窗口函数处理逻辑的痛苦了,虽然纯SQL也能实现类似于窗口函数的功能,但是这种SQL在可读性和以及使用方式上大打折扣,看起来写起了都比较难受。 在MSSQL和Orac 阅读全文
posted @ 2019-01-07 18:19 海东潮 阅读(834) 评论(0) 推荐(0) 编辑
摘要: | MySQL分析函数实现还好MySQL8.0已经实现了与Oracle相同的分析函数。 1. 实现rownumSET @rn:=0;SELECT @rn:=@rn+1 AS rownum ,e.* FROM emp e; 或者写成: SELECT @rn:=@rn + 1 AS rownum ,e. 阅读全文
posted @ 2019-01-07 18:10 海东潮 阅读(3016) 评论(0) 推荐(0) 编辑
摘要: July 18, 2017MySQL, SQLDag Wanvik MySQL 8.0.2 introduces SQL window functions, or analytic functions as they are also sometimes called. They join CTEs 阅读全文
posted @ 2019-01-07 15:40 海东潮 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 一 表结构如下: CREATE TABLE t_audit_operate_log ( Fid bigint(16) AUTO_INCREMENT, Fcreate_time int(10) unsigned NOT NULL DEFAULT '0', Fuser varchar(50) DEFAU 阅读全文
posted @ 2019-01-07 13:52 海东潮 阅读(1839) 评论(0) 推荐(0) 编辑
摘要: 组合索引长度之和大于 767 bytes并无影响,当有某个字段定义长度大于 767 bytes(1000*3)时,仅产生告警,但不影响创建,超长字段会取前 255 字符作为前缀索引,并且组合索引中字段出现的顺序并无关系。 为什么3072InnoDB一个page的默认大小是 16 k。由于是Btree 阅读全文
posted @ 2019-01-07 13:45 海东潮 阅读(5706) 评论(0) 推荐(0) 编辑
摘要: https://mysqlserverteam.com/whats-new-in-mysql-8-0-generally-available/ 我们自豪地宣布MySQL 8.0的一般可用性。 现在下载! MySQL 8.0是世界上最受欢迎的开源数据库中令人兴奋的新版本,并且全面改进。一些关键的增强功 阅读全文
posted @ 2019-01-07 13:44 海东潮 阅读(2466) 评论(0) 推荐(0) 编辑
摘要: sqladmin on September 26, 2018 In a DBA’s day to day activities, we are doing Archive operation on our transnational database servers to improve your 阅读全文
posted @ 2019-01-07 13:44 海东潮 阅读(303) 评论(0) 推荐(0) 编辑
摘要: This is my first post in 2019, and Im starting with a MySQL solution. In MySQL world, implementing a better backup strategy to meet all of your requir 阅读全文
posted @ 2019-01-07 13:18 海东潮 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 本文的mysql-binlog-connector-java:https://github.com/shyiko/mysql-binlog-connector-java 阿里的canal:https://github.com/alibaba/canal 点评的puma:https://github. 阅读全文
posted @ 2019-01-07 12:14 海东潮 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 在MySQL或MariaDB中,任意时间对数据库所做的修改,都会被记录到日志文件中。例如,当你添加了一个新的表,或者更新了一条数据,这些事件都会被存储到二进制日志文件中。二进制日志文件在MySQL主从复合中是非常有用的,主服务器会发送其数据到远程服务器中。 当你需要恢复MySQL时,也会需要使用到二 阅读全文
posted @ 2019-01-07 11:42 海东潮 阅读(4775) 评论(0) 推荐(0) 编辑
摘要: 我们通过源代码,找到下面一段,该段实现了上述日志的输出。 if ((my_now – rli->mts_last_online_stat)>= mts_online_stat_period) { sql_print_information(“Multi-threadedslave statistic 阅读全文
posted @ 2019-01-07 11:42 海东潮 阅读(816) 评论(0) 推荐(0) 编辑