MySQL复制是基于主库上的二进制日志来完成,复制是异步的,可能存在延迟 MySQL日志分为: 1.服务层日志:二进制日志.通用日志.慢查日志 2.存储引擎层日志:innodb中重做日志和回滚日志 二进制日志: 记录了所有对数据库修改的事件,包括DML和DDL,但是不包含因为出错回滚的日志.二进制日志格式分类: STATMENT:SBR 基于段的格式binlog_format=STATMENT,MySQL5.7之前默认 在数据修改时执行的SQL语句,不论使用的时那种日志格式,在使用DDL语句都是…
一.什么是MySQL的主从复制? MySQL可以将一个数据库设置为主库,另一个数据库设置为该主库的从库,当主库发生了变更,会同步到从库中.MySQL的主从架构,可以是星型的,也可以是线型的. 星型架构: 线型架构: 由于主从复制的延迟问题,星型架构比线型架构更常用.下文中的应用主要是以星型架构为例. 二.MySQL主从复制的方式 MySQL的复制可以分为基于二进制日志的复制和基于事务(GTID)的复制,基于二进制日志的复制方式,又可以分为基于行(ROW)的二进制日志复制方式,和基于语句(STAT…
Mariadb/mysql提供了4中不同的日志,分别是错误日志(error.log).普通日志(general log).慢日志(slow log)以及二进制日志(binlog).错误日志记录了系统启动.运行以及停止过程中遇到的一些问题:普通日志记录了Mariadb执行的所有语句以及语句开始执行的时间等信息,用户可以选择性的打开它:慢日志记录了Mariadb所有慢查询的相关信息:而二进制日志则以事件的形式记录了mariadb的库表结构以及表数据的所有变更信息. 一:binlog的作用 l  复制…
   1.1 方法1:PURGE MASTER LOGS     语法: PURGE { BINARY | MASTER } LOGS { TO 'log_name' | BEFORE datetime_expr } 用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志.这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个.     实例: PURGE BINARY LOGS TO 'mysql-bin.000002'; PURGE BINARY LOGS BE…
简介 二进制日志是MySQL服务器用来记录数据修改事件的,比如INSERT.UPDATE.DELETE等会导致数据发生变化的语句,SELECT语句不会被记录在内.MySQL必须先执行完一条语句才能知道它是否修改了数据,因此写入二进制日志文件的时间是语句执行完成的时间.写入顺序是按语句执行完成的先后顺序,事务中的语句会先被缓存起来,成功提交后才会被写入,回滚则不会被写入.非事务的存储引擎,所有的修改会立刻写入到二进制日志中. 二进制日志顾名思义不是文本而是一种更有效率的二进制格式,它比文本占用更少…
通常只有即将执行完毕的语句才会写入到二进制日志中.但是一些特殊情况:语句附加的信息或直接代替语句被写入. 二进制日志记录的内容 作用:记录数据库中表的更变,用于复制和PITP(即时恢复) 基于语句SBR中复制的动作观察: [root@localhost][(none)]> use boss; Database changed [root@localhost][boss]> create table tb1(text text); Query OK, rows affected (0.32 se…
日志 log_error(错误日志) 用于记录 MySQL 运行过程中的错误信息,如,无法加载 MySQL数据库的数据文件,或权限不正确等都会被记录在此. 默认情况下,错误日志是开启的,且无法禁止. 默认情况下,错误日志存储在数据库的数据文件目录下,名称为hostname.err,其中hostname为服务器主机名. 在MySQL5.5.7之后,不允许删除错误日志,只能使用重命名原来的日志文件,再手动冲洗日志创建一个新的.命令如下: mv hostname.err hostname.err.ol…
系列文章 一.原来一条select语句在MySQL是这样执行的<死磕MySQL系列 一> 二.一生挚友redo log.binlog<死磕MySQL系列 二> 三.MySQL强人"锁"难<死磕MySQL系列 三> 四.S 锁与 X 锁的爱恨情仇<死磕MySQL系列 四> 看过前几期文章的伙伴会发现并没有聊过关于索引和事务的知识点,这两个大点再之前的文章中已经写过了. 这里给大家一个传送门点击直接查看哈! 揭开MySQL索引神秘面纱 上来就…
一.mycat的安装 环境准备:准备一台虚拟机192.168.152.128 1. 下载mycat cd /softwarewget http:-linux.tar.gz 2. 解压mycat tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz 3. 剪切mycat到/usr/local目录下 mv /software/mycat /usr/local 4. 启动mycat /usr/local/mycat/bin/myc…
HAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 和 SELECT 的交互方式类似.WHERE 搜索条件在进行分组操作之前应用:而HAVING 搜索条件在进行分组操作之后应用.HAVING 语法与 WHERE 语法类似,但 HAVING 可以包含聚合函数.HAVING 子句可以引用选择列表中显示的任意项. 下面的示例按产品 ID 对 SalesOrderDetail 进行了分组,并且只包含那些订单合计大于 $1,000,000 且其平均订单数量小于 3 的产品组. USE…