发布时间:2018-04-03 17:09:47

      基于传统的复制,可能存在从库复制延迟的问题,那么master宕机后,如果此时master不能恢复,只能用slave代替master,slave处于落后的状态,就会导致数据丢失。可以通过半同步复制解决部分问题。      参数rpl_semi_sync_master_wait_point在MySQL的半同步复制中,控制maste.........【阅读全文】

阅读(100) | 评论(0) | 转发(0)

发布时间:2018-04-03 15:07:40

      该参数是默认打开的,在数据库启动后立即启动自动relay log恢复。在恢复过程中,创建一个新的relay log,并将IO线程初始化到SQL线程的位置。      MySQL运行过程中,如果出现宕机的情况,从库启动后必须能够恢复到已经执行事务的位置,该信息传统上是存在文件中,那么久有可.........【阅读全文】

阅读(109) | 评论(0) | 转发(0)

发布时间:2018-04-03 14:08:35

    realy_log_info_repository用来决定slave同步的位置信息记录在哪里,同样有两个参数。如果relay_log_info_repository=file,就会创建一个realy-log.info,如果relay_log_info_repository=table,就会创建mysql.slave_relay_info表来记录同步的位置信息。    sync_relay_log_info参数用.........【阅读全文】

阅读(91) | 评论(0) | 转发(0)

发布时间:2018-04-03 11:39:56

  master_info_repository有两个值,分别是file和table,该参数决定了slave记录master的状态,如果参数是file,就会创建master.info文件,如果参数值是table,就在mysql中创建slave_master_info的表。  sync_master_info参数决定slave刷新master的状态的方式。并且master_info_repository的参数不同,刷新方式也.........【阅读全文】

阅读(98) | 评论(0) | 转发(0)

发布时间:2018-04-03 11:18:16

  binlog_format主要有三种格式:statement、row、mixedbinlog_format=statement master写入执行的SQL语句到binlog中,从库读取这些SQL语句并执行,这种基于SQL语句的复制方式是MySQL最早支持的复制方式。binlog_format=mixed 可以将master的binlog_format配置成同时使用基于statement和row两者的.........【阅读全文】

阅读(60) | 评论(0) | 转发(0)

发布时间:2018-04-02 18:27:19

今天聊一聊关于mysql innodb存储引擎中一个事务的完整流程: 首先说下innodb的事务日志概念: ib_logfile文件就是innodb的事务日志,可以理解是INNODB的REDO日志,当数据库异常关闭的时候,innodb存储引擎下的mysql借助事务日志来完成实例恢复,即前滚和回滚来保证数据库一致性;区别于binlog日志又叫二进制.........【阅读全文】

阅读(428) | 评论(0) | 转发(0)

发布时间:2018-04-02 17:16:59

分库分表的种类:   这里说的分库分表是把数据库中的数据物理地拆分到多个实例或者多台服务器上,而不是MySQL原生的Partitioining。   MySQL官方的Partitioning可以将一张表的数据库分别存储为多个文件,如果在写SQL的时候遵从了分区规则,就能把原本需要遍历全表的工作转化为只需要遍历表里一个或者.........【阅读全文】

阅读(2700) | 评论(0) | 转发(0)

发布时间:2018-03-27 17:12:35

InnoDB锁模式InnoDB实现了两种类型的行锁。共享锁(S):允许一个事务去读一行,阻止其他事务获得相同的数据集的排他锁。排他锁(X):允许获得排他锁的事务更新数据,但是组织其他事务获得相同数据集的共享锁和排他锁。可以这么理解:共享锁就是我读的时候,你可以读,但是不能写。排他锁就是我写的时候,你不能读也.........【阅读全文】

阅读(452) | 评论(0) | 转发(0)

发布时间:2018-03-22 18:04:21

   每次数据库复制冲突之后,经常使用的一个命令如下:SET SQL_SLAVE_SKIP_COUNTER = 1;   跳过出错的这个event就可以解决,其实不然。   在binlog中,所有的binlog是按照组来分的,每一个组是其主库生成的一个事务binlog,都以begin开始并以commit结束。根据不同类型的时间,如下:Beg.........【阅读全文】

阅读(57) | 评论(0) | 转发(0)

发布时间:2018-03-22 16:53:03

   前一篇文章介绍了当mysql的复制出现slave sql 进程终止时的解决办法,其中之一使用了sql_slave_skip_counter 来使sql 线程跳过遇到错误的事件记录!本文浅析一下sql_slave_skip_counter的具体用法.........【阅读全文】

阅读(67) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册