最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL主从复制原理、主从复制(异步)、半同步复制、基于SSL复制

来源:动视网 责编:小采 时间:2020-11-09 11:42:56
文档

MySQL主从复制原理、主从复制(异步)、半同步复制、基于SSL复制

MySQL主从复制原理、主从复制(异步)、半同步复制、基于SSL复制:概述复制通常用来创建主节点的副本,通过添加冗余节点来保证高可用性,当然复制也可以用于其他用途,例如在从节点上进行数据读、分析等等。在横向扩展的业务中, 概述 复制通常用来创建主节点的副本,通过添加冗余节点来保证高可用性,当然复制也可以用于其
推荐度:
导读MySQL主从复制原理、主从复制(异步)、半同步复制、基于SSL复制:概述复制通常用来创建主节点的副本,通过添加冗余节点来保证高可用性,当然复制也可以用于其他用途,例如在从节点上进行数据读、分析等等。在横向扩展的业务中, 概述 复制通常用来创建主节点的副本,通过添加冗余节点来保证高可用性,当然复制也可以用于其


概述复制通常用来创建主节点的副本,通过添加冗余节点来保证高可用性,当然复制也可以用于其他用途,例如在从节点上进行数据读、分析等等。在横向扩展的业务中,

概述

复制通常用来创建主节点的副本,通过添加冗余节点来保证高可用性,当然复制也可以用于其他 用途,例如在从节点上进行数据读、分析等等。在横向扩展的业务中,复制很容易实施,主要表现在在利用主节点进行写操作,多个从节点进行读操作,在mysql5.5中默认为异步复制。

mysql 复制的异步性是指:事物首先在主节点上提交,然后复制给从节点并在从节点上应用,这样意味着在同一个时间点主从上的数据可能不一致,异步复制的好处在于它 比同步复制要快,如果对数据的一致性要求很高,还是采用同步复制较好。

mysql-5.5 开始支持semi-synchronous的复制,也叫半同步复制,目的在于事务环境下保持主从一致

mysql-5.6 开始支持延时复制。

mysql复制的原理现阶段都是一样的,master将操作记录到bin-log中,slave的一个线程去master读取bin-log,并将他们保存到relay-log中,slave的另外一个线程去重放relay-log中的操作来实现和master数据同步。


该过程的第一部分就是master记录二进制日志。在每个事务更新数据完成之前,master在二日志记录这些改变。MySQL将事务串行的写入二进制日志,即使事务中的语句都是交叉执行的。在事件写入二进制日志完成后,master通知存储引擎提交事务。
下一步就是slave将master的binary log拷贝到它自己的中继日志。首先,slave开始一个工作线程——I/O线程。I/O线程在master上打开一个普通的连接,然后开始binlog dump process。Binlog dump process从master的二进制日志中读取事件,如果已经跟上master,它会睡眠并等待master产生新的事件。I/O线程将这些事件写入中 继日志。
SQL slave thread(SQL从线程)处理该过程的最后一步。SQL线程从中继日志读取事件,并重放其中的事件而更新slave的数据,使其与master中的数 据一致。只要该线程与I/O线程保持一致,,中继日志通常会位于OS的缓存中,所以中继日志的开销很小。
此外,在master中也有一个工作线程:和其它MySQL的连接一样,slave在master中打开一个连接也会使得master开始一个线程。复制 过程有一个很重要的限制——复制在slave上是串行化的,也就是说master上的并行更新操作不能在slave上并行操作。


异步主从复制配置

准备:

OS:rhel5.8_i386

SoftWare: mysql-5.5.28-linux2.6-i686.tar.gz


1、主从安装mysql

tar xf mysql-5.5.28-linux2.6-i686.tar.gz -C /usr/local/ # cd /usr/local/ # ln -s mysql-5.5.28-linux2.6-i686/ mysql # groupadd -r mysql # useradd -r -g mysql -s /sbin/nologin mysql # mkdir /mydata/data -p # chown -R mysql.mysql /mydata/data/ # chown -R root.mysql /usr/local/mysql/* # cp support-files/my-large.cnf /etc/my.cnf # cp support-files/mysql.server /etc/init.d/mysqld [mysqld] innodb_file_per_table = 1 datadir = /mydata/data #由于是二进制安装的mysql所以必须指定数据库目录位置 # vim /etc/profile.d/mysqld.sh export PAHT=$PATH:/usr/local/mysql/bin # . /etc/profile.d/mysqld.sh

2、主服务器配置

# vim /etc/my.cnf [mysqld] log-bin = master-bin log-bin-index = master-bin.index server-id = 1 # scripts/mysql_install_db --user=mysql --datadir=/mydata/data/ # service mysqld start # mysql mysql> grant replication slave on *.* to repl@'192.168.100.12' identified by 'asdasd'; mysql> flush privileges; mysql> flush logs; mysql> show master logs; +-------------------+-----------+ | Log_name | File_size | +-------------------+-----------+ | master-bin.000001 | 27326 | | master-bin.000002 | 1038693 | | master-bin.000003 | 379 | | master-bin.000004 | 107 | +-------------------+-----------+ mysql> purge binary logs to 'master-bin.000004';

文档

MySQL主从复制原理、主从复制(异步)、半同步复制、基于SSL复制

MySQL主从复制原理、主从复制(异步)、半同步复制、基于SSL复制:概述复制通常用来创建主节点的副本,通过添加冗余节点来保证高可用性,当然复制也可以用于其他用途,例如在从节点上进行数据读、分析等等。在横向扩展的业务中, 概述 复制通常用来创建主节点的副本,通过添加冗余节点来保证高可用性,当然复制也可以用于其
推荐度:
标签: 复制 同步 原理
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top