美文网首页MySQL技术
【MySQL】主从异步复制配置

【MySQL】主从异步复制配置

作者: MySQL技术 | 来源:发表于2018-06-30 17:21 被阅读0次

简介:

Mysql的 主从同步 是一个异步的复制过程,从一个 Master复制到另一个 Slave上。在 Master 与 Slave 之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在 Slave 端,另外一个线程(IO线程)在 Master 端。 
要实现 MySQL 的 主从同步 ,首先必须打开 Master 端的BinaryLog(mysql-bin)功能,否则无法实现。因为整个复制过程实际上就是Slave从Master端获取该日志然后再在自己身上完全顺序的执行日志中所记录的各种操作。打开 MySQL 的 Binary Log 可以通过在启动 MySQL Server 的过程中使用 “—log-bin” 参数选项,或者在 my.cnf 配置文件中的 mysqld 参数组([mysqld]标识后的参数部分)增加 “log-bin” 参数项。

原理:

(1)master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);
(2) slave将master的binary log events拷贝到它的中继日志(relay log);
(3) slave重做中继日志中的事件,将改变反映它自己的数据。

下图描述了复制的过程:


mysql_repl.jpg

具体配置过程:

1.主库配置:

用vi /etc/my.cnf打开文件,对文件进行修改,在[mysqld]下面进行添加修改:

server-id = 1  # 这是数据库ID,此ID是唯一的,主库默认为1,其他从库以此ID进行递增,ID值不能重复,否则会同步出错;
log-bin = mysql-bin  # 二进制日志文件,此项为必填项,否则不能同步数据;
binlog_format=row # bilog设置为row模式 防止复制出错
2.从库配置:

用vi /etc/my.cnf打开文件,对文件进行修改,在[mysqld]下面进行添加修改:

server_id = 2
log-bin=mysql-bin
relay_log=mysql-relay-bin
# 不指定以下参数则全库同步
#replicate-do-table=test.test_tb 同步某张表
#binlog-do-db = testcreate  需要同步的数据库,如果需要同步多个数据库;则继续添加此项。
#binlog-ignore-db = mysql 不需要同步的数据库;
3.配置完需要重启主从库
4.主库创建同步账号:
create user 'replica'@'%' identified by '123456';
grant replication slave,replication client,reload,super on *.* to 'replica'@'%' identified by '123456';
5.进入从库开启同步

同步开启前需要保持主从要同步的数据库数据一致。

# 从库启动slave:
# (MASTER_LOG_FILE与MASTER_LOG_POS在主库运行SHOW MASTER STATUS;取得)
CHANGE MASTER TO MASTER_HOST='192.168.1.60',
    MASTER_USER='replica',
    MASTER_PASSWORD='123456',
    MASTER_LOG_FILE='mysql-bin.000001',
    MASTER_LOG_POS=875;
    
start slave;
show slave status \G; --查看slave状态 确保Slave_IO_Running: Yes Slave_SQL_Running: Yes

相关文章

  • MySQL如何配置主从复制,如何修复主从复制出现的异常?

    MySQL如何配置主从复制,如何修复主从复制出现的异常? 一、什么是Mysql主从复制 MySQL主从复制是其最重...

  • MySQL-主从复制&读写分离

    零、本文纲要 一、MySQL主从复制 主从复制 主从复制过程 配置主从复制 二、MySQL读写分离 读写分离 Sh...

  • 【MySQL】主从异步复制配置

    简介: Mysql的 主从同步 是一个异步的复制过程,从一个 Master复制到另一个 Slave上。在 Mast...

  • MySQL主从复制

    配置MySQL主从复制,先来讲讲一些理论。 MySQL复制功能提供分担读负载。基于二进制日志的复制是异步的,那么复...

  • Spring Data JPA 使用主从数据源

    Mysql 配置主从复制 参考:Mysql主从复制-半同步复制[https://www.jianshu.com/p...

  • mysql-高可用架构类设计中会遇到的问题???

    高可用架构类设计 问题一: mysql 的主从复制是如何工作的??? mysql 主从复制的实现原理异步复制半同步...

  • 微服务MySQL改造

    MySQL 主从复制之半同步模式MYSQL半同步概念:一般情况下Mysql默认复制模式为异步 异步复制模式 主服务...

  • MySQL主从配置

    一、MySQL主从复制原理剖析 Mysql主从同步其实是一个异步复制的过程,要实现复制首先需要在master上开启...

  • 基础复制算法

    主从异步复制只要master写入成功即可;简单,但不安全。比如mysql的binlog复制。 主从同步复制必须所有...

  • mysql主从同步

    mysql中为了读写分离,高可用时,都会用到mysql的主从同步方案。 MySQL的主从复制是一个异步的复制过程(...

网友评论

    本文标题:【MySQL】主从异步复制配置

    本文链接:https://www.haomeiwen.com/subject/jdztuftx.html