设置方法:

步一设

A 服务服 (192.168.1.43) 上用户为 backup, 123456 , 同步的数据库为test;

B 服务服 (192.168.1.23) 上用户为 root, 123456, 同步的数据库为test;

步二配置 mysql.ini:

A服务器

#Replication master

server-id = 10

log-bin="E:\MySQL\logs\mysql_binary_log"//必须先创建这个文件

binlog-do-db=test

# Replication slave

master-host="192.168.1.23"

master-user=root

master-password="123456"

master-port=3306

master-connect-retry=60

replicate-do-db=test

B服务器

#Replication master

server-id = 2

log-bin="c:\mysql5\logs\mysql_binary_log"

binlog-do-db=test

# Replication slave

master-host="192.168.1.43"

master-user=backup

master-password=123456

master-port=3306

master-connect-retry=60

replicate-do-db=test

=============================================================

解释:

3)binlog-do-db=test 表示需要备份的数据库是test这个数据库,

如果需要备份多个数据库,那么应该写多行,如下所示:

binlog-do-db=backup1

binlog-do-db=backup2

binlog-do-db=backup3

解释:

1) server-id=2表示本机器的序号, A,B的server-id 不能相同;

2)log-bin表示打开binlog,打开该选项才可以通过I/O写到Slave的relay-log,也是可以进行replication的前提;

其中mysql_binary_log是日志文件的名称,mysql将建立不同扩展名,文件名为mysql_binary_log的几个日志文件.

3) master-host="192.168.1.23" 表示A做slave时的master为192.168.1.23;

4) master-user=root 这里表示master上开放的一个有权限的用户,使其可以从slave连接到master并进行复制;

5) master-password=123456 表示授权用户的密码;

6) master-port=3306 master上MySQL服务Listen3306端口;

7) master-connect-retry=60 同步间隔时间;

8) replicate-do-db=test 表示同步backup数据库;

最后重新启动两台机器的mysql.

------------------------------------------------

查看状态及调试

1,查看master的状态

SHOW MASTER STATUS;

Position 不应为0

2,查看slave的状态

show slave status;

Slave_IO_Running | Slave_SQL_Running 这两个字段应为 YES|YES.

show processlist;

会有两条记录与同步有关 state为 Has read all relay log; waiting for the slave I/O thread to update it

和s Waiting for master to send event .

3,错误日志

MySQL安装目录\data\Hostname.err

4,CHANGE MASTER TO

如果A 的 Slave 未启动 ,Slave_IO_Running 为No.

可能会是B的master 的信息有变化,

查看B SHOW MASTER STATUS;

记录下 File,Position 字段. 假设为'mysql_binary_log.000004',98 ;

在A 下执行:

Stop Slave;

CHANGE MASTER TO

MASTER_LOG_FILE = 'mysql_binary_log.000004',

MASTER_LOG_POS = 98 ;

Start Slave;

5,SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n;

如果A的Slave_SQL_Running 为No.

Err文件中记录:

Slave: Error 'Duplicate entry '1' for key 1' on query....

可能是master 未向slave 同步成功,但slave中已经有了记录。造成的冲突.

可以在A上执行

SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n;

跳过几步。再

restart salve;

就可以了。

Mysql的实时同步 - 双机互备的更多相关文章

  1. Mysql数据实时同步

    企业运维的数据库最常见的是 mysql;但是 mysql 有个缺陷:当数据量达到千万条的时候,mysql 的相关操作会变的非常迟缓; 如果这个时候有需求需要实时展示数据;对于 mysql 来说是一种灾 ...

  2. canal整合springboot实现mysql数据实时同步到redis

    业务场景: 项目里需要频繁的查询mysql导致mysql的压力太大,此时考虑从内存型数据库redis里查询,但是管理平台里会较为频繁的修改增加mysql里的数据 问题来了: 如何才能保证mysql的数 ...

  3. MySQL架构备份之双机热备

    M--S架构:实现双机热备(AB复制) 1.可以降低master读压力 2.可以对数据库做“热备”,热备只能解决硬件master硬件故障,软件故障等重大故障问题,但无法解决人为误操作导致的逻辑故障(列 ...

  4. MySQL主从复制,以及双机热备

    MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展.多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负载性能. 下图就描述了一个多个数 ...

  5. Mysql主从分离与双机热备超详细配置

    一.概述 本例是在Windows环境,基于一台已经安装好的Mysql57,在本机安装第二台Mysql57服务. 读完本篇内容,你可以了解到Mysql的主从分离与双机热备的知识,以及配置期间问题的解决方 ...

  6. [Mysql高可用]——双主互备+keepalived

    实验架构图    实验环境 主机名 操作系统 Mysql版本 keepalived版本 主机IP VIP lyj1(Master/Slave) Red Hat release 6.5 Mysql5.6 ...

  7. mysql数据实时同步到Elasticsearch

    业务需要把mysql的数据实时同步到ES,实现低延迟的检索到ES中的数据或者进行其它数据分析处理.本文给出以同步mysql binlog的方式实时同步数据到ES的思路, 实践并验证该方式的可行性,以供 ...

  8. 使用Percona Toolkit解决Mysql主从不同步问题【备忘】

    由于各种原因,mysql主从架构经常会出现数据不一致的情况出现,大致归结为如下几类 1:备库写数据 2:执行non-deterministic query 3:回滚掺杂事务表和非事务表的事务 4:bi ...

  9. 【转】美团 MySQL 数据实时同步到 Hive 的架构与实践

    文章转载自公众号  美团技术团队 , 作者 萌萌 背景 在数据仓库建模中,未经任何加工处理的原始业务层数据,我们称之为ODS(Operational Data Store)数据.在互联网企业中,常见的 ...

随机推荐

  1. java的分层开发

    既然是分层开发,首先我们需要知道的是分为那几个层,并且是干什么的? 1.实体层(entity) 对应数据库中的一张表,有了它可以降低耦合性,同时也是数据的载体. 2.数据访问对象(data acces ...

  2. Practical Java (一)关于reference

    Practice 1, 4, 7, 8 1. 参数传递:by value or by reference 变量型别:reference 和 primitive Java中的变量分为两种:referen ...

  3. nginx日志中文变成类似\xE9\xA6\x96\xE9\xA1\xB5-\xE6\x8E\xA8\xE8\x8D\x90的东西,治本方案

    这里:https://groups.google.com/forum/#!topic/openresty/NcRSb5gTmVU 主要是: 这与 ngx_lua 无关,是较新的 nginx 核心引入的 ...

  4. blade快速使用指南

    一.简介模板引擎 模板引擎是将网站的页面设计和PHP应用程序几乎完全分离的一种解决方案,它能让前端工程师专注页面搭建,让后台工程师专注功能实现,以便实现逻辑分离,让每个人发挥所长.模板引擎技术的核心是 ...

  5. 05_Java异常(Exception)

    1. 异常的概念 1.1什么是异常 异常指的是程序运行时出现的不正常情况. 1.2异常的层次 Java的异常类是处理运行时的特殊类,每一种异常对应一种特定的运行错误.所有Java异常类都是系统类库中E ...

  6. 使用python实现栈和队列

    1.使用python实现栈: class stack(): def __init__(self): self.stack = [] def empty(self): return self.stack ...

  7. javascript document.compatMode属性

    文档模式在开发中貌似很少用到,最常见的是就是在获取页面宽高的时候,比如文档宽高,可见区域宽高等. IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在Stand ...

  8. WPF Datagrid multiple selecteditems in MVVM

    I can assure you: SelectedItems is indeed bindable as a XAML CommandParameter After a lot of digging ...

  9. 完数[HDU1406]

    完数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...

  10. HDU 2853 (KM最大匹配)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2853 题目大意:二分图匹配费用流.①最大匹配②最小原配变动 解题思路: 如果去掉第二个要求,那么就是裸 ...