1. 在server1上操作

vi /etc/my.cnf
修改或添加下面这几行:
server-id=1

log-bin=mysql-bin # 启用二进制日志
auto-increment-increment = 2 #每次增长2
auto-increment-offset = 1 #设置自动增长的字段的偏移量
两个可选参数(2选1):
binlog-do-db=db1,db2 #需要同步的库
binlog-ignore-db=db1,db2 #忽略不同步的库

保存后重启

/etc/init.d/mysqld restart

运行mysql客户端
mysql -uroot -p

创建同步账号

grant replication slave on . to 'repl2'@'192.168.1.2' identified by '1234';
flush privileges;

锁表,不让数据写入

flush tables with read lock;
show master status;

mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 613 | | mysql | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

记录下二进制日志文件名和位置

备份数据库

在mysql1上执行
mysqldump -uroot -p db1 > back.sql;

把备份好的数据拷贝到从服务器

scp back.sql 192.168.1.2:~

  1. 在server2操作

vi /etc/my.cnf
修改或增加:
server-id=2 #这个数值不能和主一样
log-bin=mysql-bin # 启用二进制日志
auto-increment-increment = 2 #每次增长2
auto-increment-offset = 2 #设置自动增长的字段的偏移量

可选参数(2选1,这两个参数设置成和主一样):
replicate-do-db=db1,db2
replicate-ignore-db=db1,db2

保存后重启

/etc/init.d/mysqld restart

把在server1上备份的数据导入server2

在server2上执行
[root@server2 ~]# mysqldump -uroot -p db1 < back.sql

运行mysql客户端

mysql -uroot -p

创建同步账号

grant replication slave on . to 'repl1'@'192.168.1.1' identified by '1234';
flush privileges;

show master status;

mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 613 | | mysql | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

记录下二进制日志文件名和位置

执行以下命令
stop slave;
change master to master_host='192.168.1.1',master_user='repl2',master_password='1234',master_log_file='mysql-bin.000001',master_log_pos=613;
(master_log_file和master_log_pos填上刚才记录下的二进制日志文件名和位置)

start slave;

查看从服务器的状态:

show slave status\G

mysql> show slave status\G

    1. row *
      Slave_IO_State: Waiting for master to send event
      Master_Host: 192.168.1.1
      Master_User: repl2
      Master_Port: 3306
      Connect_Retry: 60
      Master_Log_File: mysql-bin.000001
      Read_Master_Log_Pos: 613
      Relay_Log_File: server2-relay-bin.000002
      Relay_Log_Pos: 320
      Relay_Master_Log_File: mysql-bin.000001
      Slave_IO_Running: Yes
      Slave_SQL_Running: Yes
  1. 回到server1上操作

运行mysql客户端
mysql -uroot -p

取消server1上数据库的锁定

mysql> unlock tables;

执行以下命令
stop slave;
change master to master_host='192.168.1.2',master_user='repl1',master_password='1234',master_log_file='mysql-bin.000001',master_log_pos=613;
(master_log_file和master_log_pos填上刚才记录下的二进制日志文件名和位置)

start slave;

查看从服务器的状态:

show slave status\G

mysql> show slave status\G

    1. row *
      Slave_IO_State: Waiting for master to send event
      Master_Host: 192.168.1.2
      Master_User: repl1
      Master_Port: 3306
      Connect_Retry: 60
      Master_Log_File: mysql-bin.000001
      Read_Master_Log_Pos: 613
      Relay_Log_File: server1-relay-bin.000002
      Relay_Log_Pos: 320
      Relay_Master_Log_File: mysql-bin.000001
      Slave_IO_Running: Yes
      Slave_SQL_Running: Yes
  1. 主主复制测试

经测试,主主复制配置成功。

mysql5.7主主(双主)复制的更多相关文章

  1. CENTOS6.5 安装 mysql5.6 以及搭建双主

    一.Mysql5.6.10安装 1.1.必要软件 yum -y install gcc gcc-c++ autoconf automake bison ncurses-devel libtool-lt ...

  2. 编译安装keepalived,实现双主mysql高可用

    安装keepalived 1.官网下载源码包,解压 # wget http://www.keepalived.org/software/keepalived-1.1.20.tar.gz # tar x ...

  3. nginx+keepalived高可用 (主从+双主)

    1.Nginx+keepalived 主从配置这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候,永远处于浪费状态,对于 ...

  4. Docker 部署 RocketMQ 双主双从模式( 版本v4.7.0)

    文章转载自:http://www.mydlq.club/article/96/ 系统环境: 系统版本:CentOS 7.8 RocketMQ 版本:4.7.0 Docker 版本:19.03.13 一 ...

  5. 一个月后,我们又从 MySQL 双主切换成了主 - 从!

    这是悟空的第 157 篇原创文章 官网:www.passjava.cn 你好,我是悟空. 一.遇到的坑 一个月前,我们在测试环境部署了一套 MySQL 高可用架构,也就是 MySQL 双主 + Kee ...

  6. mysql传统主从、双主复制+keepalived配置步骤

    mysql主从.主主复制(双主复制)配置步骤 一:MySQL复制: MySQL复制简介: 将master服务器中主数据库的ddl和dml操作通过二进制日志传到slaves服务器上,然后在master服 ...

  7. keepalived+mysql双主复制高可用方案

    MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换.而Keepalived通过虚拟IP,实现了 ...

  8. mycat结合双主复制实现读写分离模式

    简介:应用程序仅需要连接mycat,后端服务器的读写分离由mycat进行控制,后端服务器数据的同步由MySQL主从同步进行控制. 本次实验环境架构图 服务器主机规划 主机名 IP  功能 备注 lin ...

  9. MySQL双主复制

    原文发表于cu:2017-06-12 本文简单介绍MySQL双主复制原理及1个简单是双主复制验证. 一.MySQL双主复制原理 1. 双主复制原理 master-master复制的两台服务器,既是ma ...

  10. MySQL 5.7 双主复制+keepalived,常规业务一般够用了

    业务需求: 为Zabbix搭建2个数据库,一个库给服务器监控用,一个库给网络监控用. 硬件: 两台服务器,硬盘是1.2 T SSD卡,内存128G 架构: 希望做双主复制+keepalived,架构大 ...

随机推荐

  1. kafka 讲讲acks参数对消息持久化的影响

    目录 (0)写在前面 (1)如何保证宕机时数据不丢失? (2)多副本冗余的高可用机制 (3)多副本之间数据如何同步? (4)ISR到底指的什么东西? (5)acks参数的含义? (6)最后的思考   ...

  2. CentOS 6.5系统中mysql数据库还原后出现无法读表

    图形化工具还原提示如下: 命令行输入 mysql> use netmanage;  Database changed  mysql> show tables;  ERROR 1018 (H ...

  3. 20165223《网络对抗技术》Exp7 网络欺诈防范

    目录 -- 网络欺诈防范 实践说明 实践目标 基础知识问答 实验工具学习 实践内容 简单应用SET工具建立冒名网站 ettercap DNS spoof 结合应用两种技术,用DNS spoof引导特定 ...

  4. centos7.2下查看的java版本号

    1,centos7.2下查看的java版本号 java -version

  5. IDEA在线和离线安装lombok

    1. IDEA在线安装: 点击安装,电子reset 如果以上方式安装失败,  去以下任意网站下载对应版本插件安装: http://plugins.jetbrains.com/plugin/6317-l ...

  6. Qtcreator远程调试出现“The selected build of GDB does not support Python scripting.It cannot be used .."

      版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/aristolto/article/details/77370853 之前使用的是Qt4.7后来换 ...

  7. linux tcp 高并发最大连接数

    Linux下高并发socket最大连接数所受的限制问题 1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统 ...

  8. ubuntu server 18.04 有线网卡默认关闭,需要手工配置才能使用的方法

    1.安装完ubuntu server 18.04 后,笔记本电脑的有线网卡已经识别了,但是没有ip, 并且插上网线后端口灯不亮. 解决方法: 第一步.配置端口链路状态为 up # ip link se ...

  9. 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_04-Eureka注册中心-将服务注册到Eureka Server

    cms相当于客户端 配置客户端的信息 后面加逗号分隔开 50102表示向两台eureka服务上报服务,如果有一台死掉了 那么还可以上另外的一台去注册服务 直接把ip注册到eureka 启动类加注解 重 ...

  10. 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_11-SpringSecurityOauth2研究-JWT研究-JWT介绍

    3.6 JWT研究 3.6.1 JWT介绍 在介绍JWT之前先看一下传统校验令牌的方法,如下图: 问题: 传统授权方法的问题是用户每次请求资源服务,资源服务都需要携带令牌访问认证服务去校验令牌的合法性 ...