05 2020 档案
摘要:1. atlas简介: Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。 它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性。 360内部使用Atlas运行的mysql业务,每天承载的读写请求数
阅读全文
摘要:send_report脚本中需要修改的也没几处, 如下, 都已经标注出来了 [root@rd-mysql-test4 mha]# cat /usr/local/bin/send_report #!/usr/bin/perl # Copyright (C) 2011 DeNA Co.,Ltd. # #
阅读全文
摘要:完整脚本内容如下, 只需要改动两处即可. #!/usr/bin/env perl use strict; use warnings FATAL => 'all'; use Getopt::Long; my ( $command, $ssh_user, $orig_master_host, $orig
阅读全文
摘要:1. MHA能做什么? 主库宕机处理过程 1. 监控节点 (通过配置文件获取所有节点信息) 系统,网络,SSH连接性 主从状态,重点是主库 2. 选主 (1) 如果判断从库(position或者GTID),数据有差异,最接近于Master的slave,成为备选主 (2) 如果判断从库(positio
阅读全文
摘要:1. 准备主从环境(1主2从) 1.1 准备数据路径及配置文件 数据库软件目录: /opt/mysql/ 数据库数据目录: /data/{master20,slave21,slave22}/{data,binlog}主库端口3320从库端口分别为3321,3322 配置文件如下: cat > /da
阅读全文
摘要:1. 过滤复制 3.1 说明 过滤复制可以从两方面下手, 一个是配置主库的dump线程, 让其只发送需要同步的db二进制. 另一个就是配置从库的sql线程, 让其只回放我们需要同步的db二进制文件 主库: show master status; Binlog_Do_DB # 该参数用来指定需要同步的
阅读全文
摘要:6.1 外在因素 网络 主从硬件差异较大 版本差异 参数因素 6.2 主库 (1) 二进制日志写入不及时 [rep]>select @@sync_binlog; (2) CR(传统)的主从复制中,binlog_dump线程,事件为单元,串行传送二进制日志(5.6 5.5) 1. 主库并发事务量大,主
阅读全文
摘要:误删主库的在用binlog文件处理: 搭建有主从复制的,在删掉主库正在使用的binlog文件后, 主从依然可以工作. 经测试在不重启从库的前提下, 对主库的操作依然可以同步到从库, 从库重启后主从就会异常. 如不慎删掉了主库在用的binlog,条件允许时,建议使用主库的全备来恢复从库,重新搭建主从.
阅读全文
摘要:1. 主从复制的原理 (Classic Replication) 1.1 主从中涉及到的文件和线程 1.1.1 涉及的线程 主库: DUMP THREAD 从库: IO THREAD SQL THREAD 1.1.2 涉及的文件 主库: mysql-bin.000001 》主库的二进制文件 从库:
阅读全文
摘要:1. 主从复制简介 1.1. 基于二进制日志复制的 1.2. 主库的修改操作会记录二进制日志 1.3. 从库会请求新的二进制日志并回放,最终达到主从数据同步 1.4. 主从复制核心功能: 辅助备份,处理物理损坏 扩展新型的架构:高可用,高性能,分布式架构等 2. 主从复制前提(搭建主从的过程) ##
阅读全文
摘要:1. 逻辑结构 2. 物理存储结构 2.1 库的物理存储结构 用文件系统的目录来存储 2.2 表的物理存储结构 MyISAM(一种引擎)的表: -rw-r 1 mysql mysql 10816 Apr 18 11:37 user.frm # 存储列相关信息 -rw-r 1 mysql mysql
阅读全文
摘要:1. 一条sql语句从client端发出到得到结果的过程 连接层 --》 sql层 --》 存储引擎层 1.1 连接层 1.3.2.1 连接层 (1)提供连接协议:TCP/IP 、SOCKET (2)提供验证:用户、密码,IP,SOCKET (3)提供专用连接线程:接收用户SQL,返回结果 通过以下
阅读全文
摘要:1. 安装包下载,准备环境 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz# 创建以下目录,(目录位置自定义,无强制) 软件路径: /opt/mysql/ 数据
阅读全文
摘要:10.1安装 10.1.1 安装依赖包: wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum -y install perl perl-devel libaio libaio-devel
阅读全文
摘要:2. 备份类型 2.1 热备 在数据库正常业务时,备份数据,并且能够一致性恢复(只能是innodb) 对业务影响非常小热备会备份备份开始前及备份过程中产生的新数据。 2.2 温备 锁表备份,只能查询不能修改(myisam) 影响到写入操作 2.3 冷备 关闭数据库业务,数据库没有任何变更的情况下,进
阅读全文
摘要:1.slow_log 慢日志 1.1 作用: 记录慢SQL语句的日志,定位低效SQL语句的工具日志 1.2 开启慢日志(默认没开启) 开关: slow_query_log=1 文件位置及名字 slow_query_log_file=/data/mysql/slow.log 设定慢查询时间: long
阅读全文
摘要:mysql提供的工具类日志种类: 1.错误日志(log_error) 用来记录启动\关闭\日常运行过程中,状态信息,警告,错误。默认是开启的 1.1 错误日志配置 1 默认就是开启的: /数据路径下/hostname.err 2 查看错误日志位置:select @@log_error; 3 4 手工
阅读全文
摘要:说明:配置参数存放在my.cnf文件中,有需求可自定制。 # 表空间模式(即.ibd文件,存放了行数据,索引及LSN号。该文件成为独立表空间): 参考:https://www.cnblogs.com/quzq/p/12833272.html innoda_file_per_table=1,1代表独立
阅读全文
摘要:innodb引擎支持行级锁。 锁实现了事务之间的隔离功能。 悲观锁,排他锁种类: 1. row-level lock 或record lock 都是指的行级锁 2. gap 间隙锁 3. next-lock 下键锁 隔离级别(隔离的是数据的读,默认的级别是RR模式):也称读的隔离性级别 查看数据库当
阅读全文
摘要:undo log在acid中保证a的作用, 同时对c和i也有一定的作用。 undo log在mysql5.7版本中还是存在于ibdata1中的,8.0后有单独的存放文件。 加入undo后事务的递交流程总结: 0. begin执行开启事务时会产生一个TXID(事务号) 1. 把事务中涉及到的数据行所在
阅读全文
摘要:redo log buffer中记录有脏页数据的变更记录,并记录有脏页的LSN号,事务递交时这些变更记录会优先于数据 被写入redo log中(即ib_logfile0/1两个文件),一同写入的还有LSN号。 从缓存区刷写到磁盘文件的策略有哪些呢? 1. commit触发 2. redo log b
阅读全文
摘要:1. ibd文件包含段区页,每页16kb(page), 64个连续的page构成区, 一个或多个区构成段, 一个非分区表由一个段构成。 每个16kb的页都包含有一个版本号(LSN号,也叫日志序列号)。 2. ibd文件存储数据行, 索引及LSN号
阅读全文
摘要:以下涉及文件在mysql配置的data数据目录下 1. redo log概念: 重做日志 ib_logfile0 和 ib_logfile1 两个文件默认50M,用于存储redo log日志,轮询使用的,0满了用1, 1满了重用0; redo log的两个文件用于记录数据的变更,即脏页数据是如何变化
阅读全文
摘要:以下这些文件都是在指定的数据库数据目录下: 1. redu log: 重做日志 ib_logfile0 ib_logfile1 2. undo log: 回滚日志 ibdata1 ibdata2(存储在共享表空间中) 3. 临时表: ibtmp1文件用于存放数据库操作期间产生的临时数据,用完即删除。
阅读全文
摘要:以下涉及到的文件在mysql数据库指定的数据目录下。 1. 独立表空间 5.6之前所有表信息都在共享表空间存放,即ibdata文件中(存放所有数据库信息),也是mysql默认的设置。 5.6及之后默认使用独立表空间存储数据行及索引信息,即ibd文件。特点为一个表对应一个ibd文件。ibdata文件中
阅读全文
摘要:1. mysql 5.7版本中 ibdata1文件在数据库初始化时被创建,起始大小为12M,不够用时自动扩展,每次扩展64M, 也可在数据库初始前在配置文件中自定义配置,配置为截图中最下面两行。 ibdata1文件存放的是元数据,即数据字典或统计信息 + undo
阅读全文