广告
返回顶部
首页 > 资讯 > 数据库 >MySQL主主(双主)数据同步
  • 709
分享到

MySQL主主(双主)数据同步

2024-04-02 19:04:59 709人浏览 独家记忆
摘要

1. 两台mysql都可以读写,互为主备,默认只是用一台(masterA)负责数据的写入,另一台(masterB)备用;2. masterA是masterB的主库,masterB又是masterA的主库,

1. 两台mysql都可以读写,互为主备,默认只是用一台(masterA)负责数据的写入,另一台(masterB)备用;
2. masterA是masterB的主库,masterB又是masterA的主库,他们互为主从;

不足之处:
1. masterB可能处于抑制空闲状态(可以用他当从库,负责部分查询);
2. 主库后面提供服务的从库要等masterB先同步完了数据后才能去masterB上去同步数据,肯能会造成一定程度的同步延迟;

搭建环境

系统:Centos7
数据库版本:5.6.36
masterA地址:192.168.188.2
masterB地址:192.168.188.3
安装目录:/usr/local/Mysql/
数据目录:/data/mysql/
A与B机器都安装好了MySQL,数据库与表都提前同步好;

防火墙配置

iptables

添加mysql同学端口(默认3306)

vim /etc/sysconfig/iptables                //编辑iptables文件,也可以用iptables命令来添加,不过要保存命令
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT        //添加允许3306端口通过
service iptables restart            //重启iptables服务

关闭selinux

vim /etc/selinux/config                //编辑SELinux配置文件
SELINUX=disabled                //修改值为disabled为关闭

服务器设置

masterA设置(192.168.188.2)

vim /etc/my.cnf                //编辑my.cnf文件
server-id=2 //增加server-id为2,一般为自己ip
log_bin=test01 //设置log_bin名为test01
/etc/init.d/mysqld restart        //重启mysql服务
mysql -uroot -p123456            //登录mysql,不要照抄,-u后面是账号,-p后面是密码
grant replication slave on *.* to 'repl'@'192.168.188.3' identified by '123456';        //创建mysql账号repl,只容许指定ip访问,也可以指定ip范围192.168.188.%,其中%为通配符,表示所有;
flush privileges;            //刷新授权表信息
flush tables with read lock;    //数据库表暂时无法写服务;
show master status;        //查看binlog文件值与pos值
stop slave;            //关闭同步

masterB设置(192.168.188.3)

vim /etc/my.cnf
server-id=3                        //增加server-id为3,一般为自己ip
log_bin=test02                    //设置log_bin名为test02
/etc/init.d/mysqld restart    //重启mysql服务
mysql -uroot -p123456        //登录mysql
grant replication slave on *.* to 'repl'@'192.168.188.2' identified by '123456';              //创建用户,允许192.168.188.2登录本机器
flush privileges;                //刷新授权表
stop slave;                        //关闭同步
show master status;        //查看binlog文件值与pos值
change master to master_host='192.168.188.2', master_user='repl', master_passWord='123456', master_log_file='test01.000001', master_log_pos=664383;        //这里注意log_file与pos值都要对应对应A的show master status;值
start slave;        //开启同步

masterA设置

change master to master_host='192.168.188.3', master_user='repl', master_password='123456', master_log_file='test02.000001', master_log_pos=664343;     //这里log_file与pos值写的必须是B上show master status;的值
start slave;                    //开启同步
unlock tables;                //解锁写

测试主主

在A的test数据库下建立t1表,B上查询后有t1表,证明B能同步A修改的数据;
在B的test数据库下建立t2表,A上查询,有t2表,证明A能同步到B修改后的数据;

masterA设置

mysql -uroot -p123456                //登录mysql
mysql> use test;                //切换到数据库test
mysql> show tables;            //查看当前数据库的所有表,这里没有一个表
Empty set (0.00 sec)
mysql> create table t1(`id` int(4),`name` char(40));            //插入一个表t1
mysql> show tables;       //查看当前数据库的表
+----------------+
| Tables_in_test |
+----------------+
| t1             |
+----------------+
1 row in set (0.00 sec)

masterB

mysql -uroot -p123456                //登录mysql
use test;                //切换到数据库test
mysql> show tables;            //查询同步到数据库test下出现了t1表,证明B能同步A的数据;
+----------------+
| Tables_in_test |
+----------------+
| t1             |
+----------------+
1 row in set (0.00 sec)
create table t2(`id` int(4),`name` char(40));            //新建一个t2表,如果A能同步到,就证明A能同步到B

切换masterA(省略了登录与切换数据库的命令)

mysql> show tables;    //查询A的test数据库下所有的表
+----------------+
| Tables_in_test |
+----------------+
| t1             |
| t2             |
+----------------+
2 rows in set (0.00 sec)
您可能感兴趣的文档:

--结束END--

本文标题: MySQL主主(双主)数据同步

本文链接: https://www.lsjlt.com/news/36417.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL主主(双主)数据同步
    1. 两台mysql都可以读写,互为主备,默认只是用一台(masterA)负责数据的写入,另一台(masterB)备用;2. masterA是masterB的主库,masterB又是masterA的主库,...
    99+
    2022-10-18
  • mysql数据库主从同步之双主配置----互为主从
    Mysql数据库复制原理:整体上来说,复制有3个步骤:   (1)master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log even...
    99+
    2022-10-18
  • MySQL数据库实现主主同步
    前言 MySQL主主同步实际上是在主从同步的基础上将从数据库也提升成主数据库,让它们可以互相读写数据库,从数据库变成主数据库;主从相互授权连接,读取对方binlog日志并更新到本地数据库的过程,只要对...
    99+
    2023-09-08
    mysql 数据库 服务器
  • MySQL主主同步
    MySQL主主同步主主同步原理同主从,不过是双向而已1.修改1.4配置文件vim /etc/my.cnf #同时开始binlog和relay log log-bin=mysql-bin ...
    99+
    2022-10-18
  • MySQL数据库之主从同步
    一、概述:MYSQL主从同步架构是目前使用最多的数据库架构之一,主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(sl...
    99+
    2022-10-18
  • MariaDB、MySQL数据库主从同步
    1、Mysql主从同步异步概念    异步:主服务器写完日志后立即返回同步完成消息,不受从服务器的状态和影响,mysql默认为异步工作模式  &n...
    99+
    2022-10-18
  • mysql双主同步失败如何处理
    mysql中出现双主同步失败的解决方法首先,在命令行中打开my.cnf配置文件;sudo vim /etc/my.cnfmy.cnf配置文件文件打开后,在文件添加以下配置;[mysqld]binlog_format=mixedmy.cnf配...
    99+
    2022-10-12
  • mysql双主同步配置实现方案
    下文给大家带来关于mysql双主同步配置实现方案,感兴趣的话就一起来看看这篇文章吧,相信看完mysql双主同步配置实现方案对大家多少有点帮助吧。 一.双主复制实现方案1.让表的ID自增,然后主1写...
    99+
    2022-10-18
  • mysql主从同步
    #!/bin/bash . /etc/rc.d/init.d/functions if [ $# -ne 0 ];then    echo "Usage:sh `basename $0`"    exit 1 fi #MASTER V...
    99+
    2017-01-13
    mysql主从同步
  • MySQL 主从同步。
    Mysql 数据库安装: 服务器IP 地址规划:主服务器 IP 172.20.2.46 从服务器 IP 172.20.2.47 二、安装mysql服务器 1.将下载好的安装到解压到/usr/loca...
    99+
    2022-10-18
  • MySQL 主从同步
    一、概述     原理图如下:     功能: BinLog:二进制文件,存储MasterDB(主数据库)中修改数据的内容,存储内容的格式有Statement,Row,Mixed。 Relay Log:功能作用与Binl...
    99+
    2018-11-12
    MySQL 主从同步
  • Mysql——主从同步
    一、什么是Binlog Mysql的二进制日志可以是Mysql最重要的日志, 记录了所有的DDL和DML语句(除了数据查询语句之外的语句)语句,以事件形式记录,还包含语句所执行的消耗时间,Mysql的二进制日志是事务安全型的。 二进制日志包...
    99+
    2023-10-26
    mysql 数据库 sql
  • mysql双主
    master01 [client]port = 3306 socket = /home/mysql/socket/mysql.sock #default-character-set=utf8 [mysql...
    99+
    2022-10-18
  • mysql中怎么实现主主同步
    本篇文章为大家展示了mysql中怎么实现主主同步,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 A服务器: host 192.168.1.101 port 3...
    99+
    2022-10-18
  • 怎么实现mysql 5.7主主同步
    本篇内容主要讲解“怎么实现mysql 5.7主主同步”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么实现mysql 5.7主主同步”吧! ...
    99+
    2022-10-19
  • Mysql 数据库 主从数据库 (主从)(主主)
    一、什么是主从数据库 主从数据库就是把数据库架构分为主数据库和从数据库。从数据库是主数据库的备份,以提高数据的安全性,不至于一个数据库崩掉而导致整个项目也运行不起来。可以有效的防止财产的损失。一般从库只做查询操作,而主库则做更改操作,也就是...
    99+
    2023-09-28
    数据库 mysql 服务器
  • mysql数据备份-主从同步恢复
    【1】数据库备份和恢复 1、xtrabackup-物理备份 全量备份主库数据:xtrabackup --backup --user=root --password=xxx --port=3306 --...
    99+
    2023-09-14
    mysql 数据库 服务器
  • Mysql数据库的主从同步配置
    目录Mysql主从同步配置1、安装两个 mysql 2、编写mysql配置文件3、初始化数据4、其他mysql 相关命令Mysql主从同步配置 配置准备: 需要两个数据库...
    99+
    2022-11-12
  • MySQL双主(主主)架构配置方案
    在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主从方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动。因此,如果是双主或者多主,就会增加mysql入口,增加高可用。...
    99+
    2022-05-14
    MySQL 双主 mysql双主双从
  • mysql双主+keepalived
    环境 OS: centos7Mysql 版本: mysql 5.7Keepalived: keepalived-1.2.20Mysql-vip:192.168.41.100Mysql-master1:192...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作