Mysql实时双备

设置方法:

步一设

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;

就可以了。

时间: 2024-10-14 15:04:36

Mysql实时双备的相关文章

Linux 下mysql的双主热备

Linux 下mysql的双主热备                             作者:浩浩哥来了 1.数据库同步设置   主机操作系统:RedHatEnterprise Linux 6 数据库版本 前提:MYSQL数据库正常启动 假设两台主机地址分别为:   ServA:192.168.18.112 ServB:192.168.18.114   注意:操作前,全文查找替换,将server A.B替换成实际IP   2.配置同步账号   在ServA上增加一个ServB可以登录的帐号:

Mysql+keeoalived双主热备高可用操作记录

我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.之前梳理了Mysql主从同步,下面说下Mysql+keeoalived双主热备高可用方案的实施. 1)Keepalived的工作原理是VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议.在VRRP中有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器. 2)VRRP路由器

Mysql+Keepalived双主热备高可用操作步骤详细解析

mysql+keepalived双主热备高可用的介绍: 我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换.使用Keepalived,可以通过虚拟IP,实现双主对外的统一接口以及自动检查.失败切换机制,从而实现MySQL数据库的

MySql数据库双主(双向)同步实现数据库双主热备

MySql数据库双主(双向)同步实现数据库双主热备配置步骤有一点复杂,大家一定要看清楚每一步小细节哦,希望文章对各位会带来帮助呀. 之前写过一篇 mysql Master Slave主从同步(复制)配置,属于数据库备份级别的.现在的需求是,两台服务器上都装有数据库,为了防止某一服务器出现问题而影响业务的运行,需要准备两台服务器分别运行mysql,且需要两台服务器的数据是保持同步的.也就是现在要说的mysql双向同步,实现数据库主备模式. 基础环境 操作服务器系统:Ubuntu 12.04 64-

Mysql+Keepalived双主热备高可用操作记录

环境: ubuntu18.04.2 mysql5.7.21 1 #1)安装keepalived并将其配置成系统服务.master1和master2两台机器上同样进行如下操作: 2 apt-get install libssl-dev 3 apt-get install openssl 4 apt-get install libpopt-dev 5 [[email protected] ~]# cd /usr/local/src/ 6 [[email protected] src]# wget h

MySQL 主从复制(实时热备)原理与配置

MySQL是现在普遍使用的数据库,但是如果宕机了必然会造成数据丢失.为了保证MySQL数据库的可靠性,就要会一些提高可靠性的技术.MySQL主从复制可以做到实时热备数据.本文介绍MySQL主从复制原理及其配置过程. 术语:主从复制——master slave replication(M-S模式). 用途 备份 读写分离 高可用和故障切换(需要做HA) MySQL升级测试 原理 实际上,它的原理思路很简单.MySQL 中有一种日志叫做 bin 日志(二进制日志),这个日志会记录下所有修改了数据库的

mysql 主从复制+双主复制

我们在使用MySQL Server数据库时,可能会遇到这种问题,如果其中一台mysql数据库宕掉后,我们希望以最短的时间进行解决,并尽快使用数据库,但是如果遇到一些无法快速修复的故障时,该怎么办呢? 我们可以设想,如果这是有另外一台和这个数据库一模一样的数据库时,问题就不一样了,怎么才可以实现实时,并自动的备份或者复制呢?   Mysql的主从复制: 1.主机安装好mysql服务后,首先修改my.cnf文件,添加两行,其中server id确保唯一 2.备机修改my.cnf 3.两台mysql重

MySQL keepalived 双主.md

MySQL keepalived 双主搭建 环境说明 系统 IP 主机名 mysql keepalived VIP CentOS 6.8 192.168.197.61 C6-node1 5.6.36 1.2.13 192.168.197.88 CentOS 6.8 192.168.197.62 C6-node2 5.6.36 1.2.13 192.168.197.88 安装MySQL双主 C6-node1 MySQL的安装及初始化这里不做详细介绍,下面贴出node1的my.cnf的配置文件: [

Lvs+keepalived+mysql主从热备

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 10.5pt; font-family: "Calibri", "sans-serif" } h1 { margin-top: 17.0pt; margin-right: 0cm; margin-bottom: 16.5pt; margin-left