主从复制之binlog_format
binlog_format主要有三种格式:statement、row、mixedbinlog_format=statement master写入执行的SQL语句到binlog中,从库读取这些SQL语句并执行,这种基于SQL语句的复制方式是MySQL最早支持的复制方式。binlog_format=mixed 可以将master的binlog_format配置成同时使用基于statement和row两者的...
mysql sync_binlog和 innodb_flush_log_at_trx_commit
今天聊一聊关于mysql innodb存储引擎中一个事务的完整流程: 首先说下innodb的事务日志概念: ib_logfile文件就是innodb的事务日志,可以理解是INNODB的REDO日志,当数据库异常关闭的时候,innodb存储引擎下的mysql借助事务日志来完成实例恢复,即前滚和回滚来保证数据库一致性;区别于binlog日志又叫二进制...
MySQL分库分表
分库分表的种类: 这里说的分库分表是把数据库中的数据物理地拆分到多个实例或者多台服务器上,而不是MySQL原生的Partitioining。 MySQL官方的Partitioning可以将一张表的数据库分别存储为多个文件,如果在写SQL的时候遵从了分区规则,就能把原本需要遍历全表的工作转化为只需要遍历表里一个或者...
MySQL InnoDB之锁机制
InnoDB锁模式InnoDB实现了两种类型的行锁。共享锁(S):允许一个事务去读一行,阻止其他事务获得相同的数据集的排他锁。排他锁(X):允许获得排他锁的事务更新数据,但是组织其他事务获得相同数据集的共享锁和排他锁。可以这么理解:共享锁就是我读的时候,你可以读,但是不能写。排他锁就是我写的时候,你不能读也...
参数SQL_SLAVE_SKIP_COUNTER的奥秘
每次数据库复制冲突之后,经常使用的一个命令如下:SET SQL_SLAVE_SKIP_COUNTER = 1; 跳过出错的这个event就可以解决,其实不然。 在binlog中,所有的binlog是按照组来分的,每一个组是其主库生成的一个事务binlog,都以begin开始并以commit结束。根据不同类型的时间,如下:Beg...
【MySql】sql_slave_skip_counter 参数的用法解析
前一篇文章介绍了当mysql的复制出现slave sql 进程终止时的解决办法,其中之一使用了sql_slave_skip_counter 来使sql 线程跳过遇到错误的事件记录!本文浅析一下sql_slave_skip_counter的具体用法...
MySQL5.7新特性之sys schema视图应用
sys schema视图摘要 sys schema视图中包含了很多以各种方式总结的Performance Schema表的视图,这些视图大多数都是成对出现,使得每组视图中的一个成员具有与另一个成员相同的名称,加上一个X$前缀。例如host_summary_by_file_io视图汇总按照主机分组的文件I/O延迟。没有X$前缀的视图提供了更加友好且易...
MySQL Innodb日志机制深入分析
Log & Checkpoint Innodb的事务日志是指Redo log,简称Log,保存在日志文件ib_logfile*里面。Innodb还有另外一个日志Undo log,但Undo log是存放在共享表空间里面的(ibdata*文件)。 由于Log和Checkpoint紧密相关,因此将这两部分合在一起分析。 名词解释:LSN,日志序...
InnoDB数据字典
在InnoDB中,系统表实际上是看不到的,不像Oracle那样可以方便地通过一个查询语句就能得到其中的内容。因为MySQL是一个插件式的数据库管理系统。它的结构分为两层,分别是Server层和存储引擎层。最早的存储引擎是MyISAM,它是没有数据字典的,关于表结构,它拥有的只有.frm文件,所以这导致了InnoDB也必须要...
OneProxy分库分表的搭建
实验环境:前期准备的三个节点的环形复制master1:192.168.8.57master2:192.168.8.58master3:192.168.8.59oneproxy:192.168.8.631、下载oneproxy,地址:http://www.onexsoft.com/上传至192.168.8.63,解压到/usr/local2、修改文件描述符65535vi /etc/security/limits.confsoft nofile 65535hard nofile 6553...
MySQL环形复制
环境:CentOS6.5(三个),MySQL5.7.18master1:192.168.8.57master2:192.168.8.58master3:192.168.8.591、配置基本环境安装操作系统,安装MySQL数据库,关闭防火墙和selinux2、修改MySQL配置文件master1点击(此处)折叠或打开[root@master2 ~]# cat /etc/my.cnf [mys...