`
duanjiangong
  • 浏览: 62821 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MySQL互为主从双配置

 
阅读更多

1)        A B 两台 mysql 服务器

一、服务器参数,编辑 /etc/my.cnf

[A
服务器 ]
server-id = 1
binlog-do-db = test
binlog-ignore-db = mysql
replicate-do-db = test
replicate-ignore-db = mysql
master-host     =  
192.168.255.195
master-user     =   repl
master-password =   repl
master-port     =  3306
master-connect-retry = 10
sync-binlog = 1
log-bin=mysql-bin


[B
服务器 ]
server-id = 2
binlog-do-db = test
binlog-ignore-db = mysql
replicate-do-db = test
replicate-ignore-db = mysql
master-host     =   192.168.255.194
master-user     =   repl
master-password =   repl
master-port     =  3306
master-connect-retry = 10
sync-binlog = 1

log-bin=mysql-bin

 

2)        A B 上进行数据库操作

A/B: Slave stop;

A/B: Reset master;

A: grant replication slave on *.* to repl@192.168.255.194 identified by 'repl';

B: grant replication slave on *.* to repl@192.168.255.195 identified by 'repl';

A/B: show master status;

A: change master to master_host='192.168.255.194',master_user='repl',master_password='repl',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=98;(log 根据 master status)

B:

change master to master_host='192.168.255.195',master_user='repl',master_password='repl',master_port=3306,master_log_file='mysql-bin.000006',master_log_pos=98; (log 根据 master status)

A/B: slave start;

A/B: show slave status\G;( 查看同步状态 )

看到如下状态就表示同步成功

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Seconds_Behind_Master: 0

 

3)        测试数据库同步,在 A test 库里增加表,在 B test 库里删除表

Use test

A:Create table username (id int(15));

查看 B 中是否有 username 这个表

B: drop table username

查看 A 中是否已经删除 usernam 这个表

A/B : show slave status\G;( 再次查看同步状态,如果没问题就表示成功 )

 

4)        互为同步配置实例

1. A B 互为主从同步 test, 不同步 mysql
两个数据库配置中均设置: binlog-do-db=test, binlog-ignore-db=mysql replicate-do-db=test replicate-ignore-db=mysql
2. A B
互为主从只同步 test ,不同步其他数据库,新创建的也不会同步
两个数据库配置中均设置: binlog-do-db=test replicate-do-db=test
3. A B
互为主从不同步 mysql, 同步其他数据库,譬如创建的新数据库也会同步
两个数据库配置中均设置: binlog-ignore-db=mysql replicate-ignore-db=mysql
4. A B
互为主从同步所有数据库,包括新建的数据库
两个数据库配置中均不设置上述四项

 

5) 实现自动同步的 shell 脚本

1.        增加 super replication client on 权限

grant super  on *.* to repl@192.168.255.194 identified by 'repl';

grant replication client on *.* to repl@192.168.255.194 identified by 'repl';

 

2.       自动同步脚本 autosync.sh

#!/bin/bash

while true

do

status=`/usr/bin/mysql -uroot -e "show slave status\G;"|grep Slave_SQL_Running|cut -f2 -d":"|sed 's/ //'`

if [ $status != "Yes" ]

then

A=`/usr/bin/mysql -urepl -prepl -h192.168.255.194 -e "show master status"|grep mysql-bin|awk '{print $2}'`

/usr/bin/mysql -uroot -e "slave stop"

/usr/bin/mysql -uroot -e "change master to master_host='192.168.255.194',master_user='repl',master_password='repl',master_port=3306,

master_log_file='mysql-bin.000001',master_log_pos=$A"

/usr/bin/mysql -uroot -e "slave start"

fi

sleep 10

done

 

3.       后台执行

nohup ./autosync.sh >/dev/null 2>&1 &

 

分享到:
评论

相关推荐

    Keepalived+Mysql互为主从高可用安装配置

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要讲述的是如何通过Keepalived与MySQL构建一个互为主从(双主)的高可用性架构。接下来将详细解析这些步骤,并进一步扩展相关的知识点。 ### 一、...

    Mysql双服务器互为主从和读写分离配置

    ### MySQL 双服务器互为主从与读写分离配置详解 #### 一、基础知识与预备工作 **MySQL 主从复制机制**是一种数据复制技术,通过它可以让一个MySQL服务器(主服务器)的数据自动同步到另一个或多个MySQL服务器(从...

    mysql配置双主配置,互为主从

    mysql配置双主配置,互为主从

    mysql 互为主从同步研究和各种问题的解决

    2. **互为主从(双主复制)** - 在互为主从配置中,两个服务器既是主服务器,也是从服务器。这意味着任何一方都可以接受写操作,然后将更改同步到另一个服务器。这种配置提高了系统的容错性,但需要更复杂的冲突...

    mysql5.7.22双主一从配置

    - **双主一从架构**:三台服务器,其中两台服务器互为主从关系,另一台作为从服务器。这样的设计能够提高系统的可用性和数据的一致性,同时也能通过从服务器进行读取操作来减轻主服务器的压力。 #### 二、IP规划...

    mysql+keepalived互为主从架构.docx

    MySQL+Keepalived互为主从架构是一种高可用性和高并发的解决方案,主要用于保障数据库服务的稳定性和数据的一致性。在这种架构中,两个MySQL服务器(Master M1 和 Master M2)互为主从,通过半同步复制确保数据在主...

    MySQL双主搭建脚本

    MySQL双主搭建是一种高可用性的数据库部署方案,它允许两个MySQL服务器互为主从,数据在两者之间实时同步,确保了即使一个服务器出现故障,另一个服务器仍能接管服务,保证业务连续性。以下是对标题和描述中涉及的...

    通过KeepAlived搭建MySQL双主模式的高可用集群系统[整理].pdf

    3. MySQL 双主互备模式:MySQL 双主互备模式是指两台 MySQL Server 之间的互备关系,两台服务器互为主从,但同一时刻只有一个 MySQL Server 可读写,另一个 MySQL Server 只能进行读操作,这样可保证数据的一致性。...

    mysql5.7.29双主 keepalived HA部署方案.pdf

    配置完成后,需要在每台服务器上设置彼此为主从关系,即在一台服务器上用`CHANGE MASTER TO`指令指定另一台服务器的IP、端口、用户名、密码以及最新的二进制日志位置。然后启动复制进程。 最后,部署Keepalived: ...

    MySql主(主)从备份详解.pdf

    主主复制(也称为互为主从复制)是指两个服务器都既是主服务器也是从服务器。这种方式可以提高系统的可用性和负载均衡。 - **双向复制**:每个服务器都需要配置为另一个服务器的从服务器,同时也要作为主服务器提供...

    配置数据库双主高可用指南.docx

    数据库双主高可用配置是确保数据库服务持续可用的关键技术,它通过让两个数据库节点互为主从,互相复制数据,从而达到数据的一致性和高可用性。以下是对配置过程的详细解释: 1. 数据库数据备份与恢复: 在配置双主...

    mysql负载均衡和双击热备

    ### MySQL负载均衡与双主热备方案详解 #### 一、引言 随着业务规模的不断扩大,单一数据库服务器往往难以满足高并发访问的需求。为了提高系统的稳定性和可用性,采用MySQL负载均衡和双主热备(Master-Master ...

    mysql双主主键冲突处理办法.docx

    在 MySQL 数据库环境中,双主配置是指两个数据库服务器互为主从,彼此同步数据,从而实现高可用性和数据冗余。然而,当使用双主主键(即复合主键,由两个或更多列组成的主键)时,由于网络延迟或同步问题,可能会...

    MySQL高可用解决方案_社区 .pdf

    - **主主复制**: 两台服务器互为主从,提高写操作的可用性。 - **双主复制**: 类似于主主复制,但重点是实现多活环境,提高整体系统的可用性。 - **使用共享存储**: 通过外部存储如SAN(Storage Area Network)或NFS...

    mysql操作文档

    ##### 4.2 互为主从配置 - **双向复制**:实现两个 MySQL 实例相互作为对方的主从,即每个实例既是主服务器也是从服务器。这需要在每个实例上都配置主从关系,并确保数据一致性。 #### 五、MySQL 参数优化 - **...

    实战高可用MySQL MM + keepalived案例+环境搭建

    使用MySQL双master+keepalived是一种非常好的解决方案,在MySQL-HA环境中,MySQL互为主从关系,这样就保证了两台MySQL数据的一致性,然后用keepalived实现虚拟IP,通过keepalived自带的服务监控功能来实现MySQL故障...

Global site tag (gtag.js) - Google Analytics