摘要:
一、复制概述 复制是指将主库的 DDL 和 DML 操作通过 binlog 日志传到从库上,然后在从库上对日志重新执行,使得从库和主库数据保持同步 1.1 复制原理 a) 主库事务提交时会把数据变更作为事件 event 记录在 binlog 日志中;MySQL主库上的 sync_binlog 参数控 阅读全文
摘要:
一、InnoDB 统计信息的两种情况 持久化统计信息:重启MySQL时,统计信息不丢失 非持久化统计信息:重启MySQL时,统计信息丢失 两种情况下,保存的方式,收集的条件,采样率都不一样,接下来介绍持久化跟非持久化的不同。 二、持久化统计信息 2.1 持久化统计信息保存在哪? 当 innodb_s 阅读全文
摘要:
一、需求场景 可能有这么一种场景,系统中是 SSD 跟 SATA 混用,需要把经常读写的数据放在SSD上面,历史数据放到SATA上面 二、实验场景 在test库创建一个表 t1 ,定义目录到 /tmp 下面 cd 到 /tmp 目录下 /tmp 下多了个 test 目录,test下有了t1.ibd 阅读全文
摘要:
一、事务的基本要素(ACID) A:原子性:从 begin 开始一个事务,直到 commit 或者 rollback,中间执行的DML语句都属于一个整体,要么都commit,要么都rollback。 C:一致性:当开始一个事务,没提交前。数据库宕了,这时候恢复的时候就需要把事务回滚。同理,如果提交了 阅读全文
摘要:
一、问题现象 开发说以下SQL执行15秒,不可以接受。你把他优化到0.1秒以下吧。(跟客户交流过,SQL需要经过处理) 二、信息收集 查看表数据量 查看表上面的索引 查看SQL执行计划 三、分析思路 id都是1,表连接顺序从上往下 orde 表数据量 1551182,用到索引 create_time 阅读全文
摘要:
一、xtrabackup备份原理 1.1 全备过程 1.2 全备恢复 恢复的过程会应用xtrabackup_log,将提交的事务变更到 InooDB表空间,同时回滚未提交的事务。 二、xtrabackup全备+binlog恢复到某个时间点 2.1. 构造测试数据 2.2. 执行全量备份 innoba 阅读全文
摘要:
一、REDO简介 redo log用于记录除了 SELECT的所有操作。 重做日志作用是:当崩溃恢复期间用于前滚已经提交的数据,回滚未提交的数据。 MySQL以循环方式写入重做日志文件。 重做日志的增加以LSN值表示。 切换redo log的时候发生checkpoint,触发脏页的刷新 默认情况下, 阅读全文
摘要:
一、下载安装 1.1 下载地址 git clone https://github.com/twindb/undrop-for-innodb.git 1.2 安装 安装依赖包 编译安装 增加用于恢复表结构的工具sys_parse $basedir 是 MySQL的安装路径 二、开始测试 2.1 测试数 阅读全文
摘要:
1. 下载MySQL软件 https://dev.mysql.com/downloads/mysql/5.6.html#downloads 2. 解压缩 3. 创建MySQL用户 4. 创建数据目录 数据存放目录:/data/mysql/mysql_3306/{data, logs,tmp} 5. 阅读全文
摘要:
一、现象 可能大家都遇到过这么一种现象。MySQL占用着内存不释放,然后还时不时的一点点增加。 二、问题排查 结合官方文档 https://dev.mysql.com/doc/refman/5.7/en/memory-use.html 和 percona文档 https://www.percona. 阅读全文