Mysql---主主互备

一、主主优点

双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步。

对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致。这样做的好处:

(1)可以做灾备,其中一个坏了可以切换到另一个。

(2)可以做负载均衡,可以将请求分摊到其中任何一台上,提高网站吞吐量。

二、环境

系统环境:linux

Mysql版本:5.6.24

Master1IP:192.168.0.1

Master2IP:192.168.0.2

三、操作步骤

(1)在master1上创建专门备份的用户

【master1】

mysql –uroot -p
grant replication slave on *.* to ‘repl_user‘@‘192.168.0.2‘identified by ‘repl_user‘;
flush privileges;

(2)开启主服务器的binarylog

【master1】

vi /etc/my.cnf
server_id = 1
log-bin=master-bin
binlog_format=mixed
 
read-only=0                                                                                 
binlog-ignore-db=mysql                                                                     
binlog-ignore-db=information_schema                                                  
binlog-ignore-db=performance_schema
auto-increment-increment=5                                                                       
auto-increment-offset=1

(3)获取主服务器的状态和同步状态

先锁定数据库:
flush tables with read lock;
导出数据:
mysqldump -root -p test>/tmp/test_0511.sql
查看master1的binary日志位置:
show master status\G;
*************************** 1. row***************************
            File: master-bin.000009
        Position: 6001
     Binlog_Do_DB:
 Binlog_Ignore_DB:mysql,information_schema,performance_schema
Executed_Gtid_Set:
1 row in set (0.00 sec)
 
ERROR:
No query specified
 
解除锁定:
unlock tables;

(4)设置master2需要复制的数据库

 【master2】

vi /etc/my.cnf
server_id = 2
log-bin = master-bin
binlog_format = mixed
 
replicate-ignore-db = mysql
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
relay_log=mysqld-relay-bin
log-slave-updates = ON
 
/etc/init.d/mysqld restart

(5)导入初态, 开始同步。

create database test default charset utf8;
use test
source /tmp/test_0511.sql
 
CHANGE MASTER TO
      MASTER_HOST=‘192.168.0.1‘,
      MASTER_USER=‘repl_user‘,
      MASTER_PASSWORD=‘repl_user‘,
       MASTER_LOG_FILE=‘master-bin.000009‘,
       MASTER_LOG_POS=6001;
 
start slave;
show slave status\G;

注意图中的红框,两个都是Yes,说明开启成功。

(6)在master2上创建专门备份的用户

【master2】

mysql –uroot -p
grant replication slave on *.* to ‘repl_user‘@‘192.168.0.1‘identified by ‘repl_user‘;
flush privileges;

(7)开启master2主服务器的binarylog

vi /etc/my.cnf
read-only=0
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
auto-increment-increment=10
auto-increment-offset=2
 
/etc/init.d/mysqld restart

(8) 开启主服务器的binarylog

Master2日志状态:

show master status\G;
*************************** 1. row***************************
            File: master-bin.000002
        Position: 120
    Binlog_Do_DB:
 Binlog_Ignore_DB:mysql,information_schema,performance_schema
Executed_Gtid_Set:
1 row in set (0.00 sec)

(9)修改master1配置文件

【maste1】开启中继

vi /etc/my.cnf
replicate-ignore-db = mysql
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
relay_log=mysqld-relay-bin
log-slave-updates = ON
 
/etc/init.d/mysqld restart

(10)启动同步

CHANGE MASTER TO
      MASTER_HOST=‘192.168.0.2‘,
      MASTER_USER=‘repl_user‘,
      MASTER_PASSWORD=‘repl_user‘,
      MASTER_LOG_FILE=‘master-bin.000002‘,
      MASTER_LOG_POS=120;
start slave;
show slave status\G;

出现错误:
[ERROR] Slave SQL: Slave failed toinitialize relay log info structure from the repository, Error_code: 1872
解决方法:
reset slave;
时间: 2024-12-14 23:36:07

Mysql---主主互备的相关文章

mysql系统搭建互备DB(双主)记录

背景:所负责的自动化持续交付平台业务量逐渐增长,以防不测,需要搭建备份系统,经过多方考量: 选择采取mysql的主从系统进行备份:互为主从(即所谓双主): PS: 三种备份方式: a.脚本通过mysqldump备份 ----------- 数据量少时可以采取 b.第三方工具备份 ----------- 大多数工具都是windows端的.一旦出现问题,恢复起来步骤稍多(本人比较懒,能自动化的最好都自动化) c.mysql的主从同步机制 ------------ 推荐,实时增量热备,切换时可以直接启

MySQL双主互备模式架构

MySql双主互备架构模式 操作系统 CentOS 6.3 MySql版本 mysql-5.0.56 keepalived keepalived-1.1.19.tar.gz Master DB1配置文件 修改MySql 配置文件  /etc/my.cnf 增加以下段落 [mysqld] server-id=1    节点标示 log-bin=mysql-bin   开启mysql的binlog日志功能 relay-log = mysql-relay-bin  用来定义日志文件命名格式 repli

mysql主主互备模式配置

本文为南非蚂蚁的书籍<循序渐进linux-第二版>-8.3.5的读笔记 mysql双主互备架构图 mysql主主互备模式配置 环境: DB1:主服务器  centos6.6  mysql5.1.73 IP:10.24.24.111 DB2:从服务器  centos6.6  mysql5.1.73 IP:10.24.24.112 mysql VIP:10.24.24.112 ---------------------------------------- centos6.x安装mysql # y

MySQL主主互备结合keepalived实现高可用

试验环境: master:192.168.1.210(CentOS6.5) slave:192.168.1.211(CentOS6.5) VIP:192.168.1.208 MySQL主主互备模式配置 step1:Master服务的/etc/my.cnf配置 [mysqld] basedir = /usr/local/mysql datadir = /var/lib/mysql port = 3306 socket = /var/lib/mysql/mysql.sock server_id = 

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

实验架构图    实验环境 主机名 操作系统 Mysql版本 keepalived版本 主机IP VIP lyj1(Master/Slave) Red Hat release 6.5 Mysql5.6.31 keepalived-1.2.12 10.0.100.201 10.0.100.220 lyj2(Slave/Master) Red Hat release 6.5 Mysql5.6.31 keepalived-1.2.12 10.0.100.202 构建双主互备 1. 分别修改DB1和DB

MySQL主主互备模式(Keepalived)

MySQL双主-高可用 单台数据库实例安装 请参考:二进制包安装MySQL 资源规划 主机名 os 版本 MySQL 版本 主机 IP MySQL VIP db01.lyk.com centos 6.4 mysql-5.6.21-linux-glibc2.5-x86_64 172.31.30.12 172.31.30.222 db02.lyk.com centos 6.4 mysql-5.6.21-linux-glibc2.5-x86_64 172.31.30.11 3.修改MySQL配置文件

mysql主主互备架构

企业级mysql集群具备高可用,可扩展性,易管理,低成本的特点.mysql主主互备就是企业中常用的一个解决方案.在这种架构中,虽然互为主从,但同一时刻只有一台mysql 可读写,一台mysqk只能进行读操作 1.配置 环境: DB1(master)  mysql-5.1.73-3.el6_5.x86_64   192.168.32.130 DB2 (slave)    mysql-5.1.73-3.el6_5.x86_64    192.168.32.129 mysql vip : 192.16

mysql主主互备+原来mysql主从架构

接http://wsw26.blog.51cto.com/1442148/1749125我这个A已做了BC的主架构上增加一台D的虚拟机(同一个环境),我的目的是D和A主主互备,BC继续做A的从,既是D<-->A-->BC这样架构(类似级联的) 准备工作:(1)D的IP是192.168.0.190,A的IP是192.168.0.8,B的IP是192.168.0.140,C的IP是192.168.0.141(2)将A的mysql备份的sql通过scp传去D那里再从D那里新建对应的数据库名字后

MariaDB、MySQL双主互备模型同步数据

MySQL双主互备即两台MySQL服务器同时是主服务器,而同时又是对方的从服务器,这样可以分担主服务器的一部分写请求,因为如果是单主模型的话数据写入只能写入在一台MySQL服务器,而双主模型则可同时写在两台服务器上,有效加快了写入的速度,而且还能提供数据的备份功能. 环境如下: server1:CentOS 6.5 x86_64 mariadb 10.0.10 IP:192.168.10.204 server2:CentOS 6.5 x86_64 mariadb 10.0.10  IP:192.

mysql双主互备

一.安装mysql 各种方式太多了 二.摘录自:https://linux.cn/thread-14135-1-1.html 1)首先在DB1上my.cnf 中[mysqld] 字段中添加如下内容:server-id = 1 //数据库ID号, 为1时表示为Master,其中master_id必须为1到232–1之间的一个正整数值;log-bin=mysql-bin //启用二进制日志: relay-log=mysql-relay-bin  //用来定义relay-log日志文件命名格式repl