mysql主主复制配置

server1 ip:192.168.0.231
server2 ip:192.168.0.234

更改两台主机的mysql配置文件
vim /etc/my.cnf
server1添加
server-id=1
log-bin=mysqlmaster-bin.log
auto-increment-increment=2
auto-increment-offset=1

server2添加
server-id=2
log-bin=mysqlmaster-bin.log
auto-increment-increment=2
auto-increment-offset=2

说明:auto-increment-increment的值设为整个结构中服务器的总数,此实验为两台服务器,所以值为2
auto-increment-offset是用来设定数据库中自动增长的起点的,因为服务器都设定了一次自动增长的值为2,所以他们的起点必须得不同,这样才能避免两台服务器数据同步时出现主键冲突

另可以设置replicate-do-db=database-name指定需要同步的数据库

重启mysql服务使配置生效

登陆mysql

添加同步数据所需要的用户

server1上

mysql>GRANT REPLICATION SLAVE ON *.* TO 'systop1'@'192.168.0.%' IDENTIFIED BY 'systop';

server2上

GRANT REPLICATION SLAVE ON *.* TO 'systop2'@'192.168.0.%' IDENTIFIED BY 'systop';

查看两台服务器的master状态

server1

SHOW MASTER STATUS;
+------------------------+----------+--------------+------------------+-------------------+
| File                   | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------------+----------+--------------+------------------+-------------------+
| mysqlmaster-bin.000002 |      120 |              |                  |                   |

server2

show master status;
+------------------------+----------+--------------+------------------+-------------------+
| File                   | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------------+----------+--------------+------------------+-------------------+
| mysqlmaster-bin.000001 |      336 |              |                  |                   |

说明二进制日志路径

server2上执行

CHANGE MASTER TO MASTER_HOST='192.168.0.231',MASTER_USER='systop1',MASTER_PASSWORD='systop',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=120;

server1上执行

CHANGE MASTER TO MASTER_HOST='192.168.0.234',MASTER_USER='systop2',MASTER_PASSWORD='systop',MASTER_LOG_FILE='mysqlmaster-bin.000001',MASTER_LOG_POS=336;

开启复制功能

两台机器都执行
start slave;

查看复制连接状态
执行
show slave status \G;
查看Slave_IO_Running: Yes
   Slave_SQL_Running: Yes
都显示yes表示启动正常

测试:两台服务器都做数据更新操作,查看数据是否更新

 

mysql的双主模式的更多相关文章

  1. 生产环境中mysql+keepalive双主模式,keepalive守护进程实现双主切换提供数据库服务

    mysql+keepalive实现浮动地址自动切换,由于keepalive无自带健康检查功能,所以必须自动编写健康检查守护进程(监控DB1和DB2数据库的监控状态,来保证浮动地址双机自动切换.) 一, ...

  2. 高可用-mysql安装,双主模式+keepalived

    mysql安装 1.添加用户 groupadd mysql useradd -r -g mysql mysql

  3. mysql的双主模式配置

    第一台:192.168.0.160 第二台:192.168.0.170 主从配置,第一步:192.168.0.160 作为主数据库,192.168.0.170作为从数据库,配置如下: ======== ...

  4. 通过keepalived搭建MySQL双主模式的高可用集群系统

    1. 配置MySQL双主模式 1.修改my.cnf配置文件 默认情况下,MySQL的配置文件是/etc/my.cnf,在配置文件的[mysqld]段添加如下内容: server-id=1 log-bi ...

  5. MySQL的主从复制+双主模式

    MySQL的主从复制 部署环境: MySQL master 192.168.40.21 MySQL slave  192.168.40.22 思路: 当主MySQL上进行数据上的操作或者变化时,主My ...

  6. MYSQL双主模式,触发器(trigger)不可见问题

    MYSQL版本信息: Your MySQL connection id is 71851 Server version: 5.7.24-log MySQL Community Server (GPL) ...

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

    我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.MySQL双主复制,即互为Mast ...

  8. MySQL keepalived 双主.md

    MySQL keepalived 双主搭建 环境说明 系统 IP 主机名 mysql keepalived VIP CentOS 6.8 192.168.197.61 C6-node1 5.6.36 ...

  9. nginx+keepalived高可用及双主模式

    高可用有2中方式. 1.Nginx+keepalived 主从配置 这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候, ...

随机推荐

  1. C# Winform Dev控件之TileControl

    tileControl 包含TileGroup TileGroup 包含 Tile Tile拖拽时代码 TilteControl的itemPress事件执行 或Tile的itemPress执行 Til ...

  2. Storm框架设计

  3. true - (成功的)什么都不做

    总览 (SYNOPSIS) true [忽略命令行参数] true OPTION 描述 (DESCRIPTION) 程序 结束 时, 产生 表示 成功 的 状态码. 下列的 选项 没有 简写 形式. ...

  4. 笔记44 Hibernate快速入门(一)

    一.Hibernate简介 Hibernate 是传统 Java 对象和数据库服务器之间的桥梁,用来处理基于 O/R 映射机制和模式的那些对象. Hibernate 架构是分层的,作为数据访问层,你不 ...

  5. js求三个数的最大值运算

    js代码: <script> // var num1 = 32, // num2 = 43, // num3 = 98; // if (num1 > num2) { // if (n ...

  6. Echart中X轴为时间坐标刻度时,后台返回时间List被强制转化为时间戳问题

    if(recordlist!=null&&recordlist.size()>0) { for (Record record : recordlist) { //根据频次决定使用 ...

  7. vue v-for 组件传值 enter传值

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. 过滤掉map集合中key或value为空的值

    package cn.com.utils; import org.apache.commons.lang3.StringUtils; import java.util.Collection; impo ...

  9. leetcood学习笔记-39-组合总和

    题目描述: 方法一: class Solution: def combinationSum(self, candidates, target): """ :type ca ...

  10. Unity 中调用Android的JAVA代码

    首先我们要创建一个android项目 因为项目需要使用Unity提供的接口,所以需要将接口classes.jar引入至当前工程但中.接口包的所在地,打开Finder->应用程序->Unit ...