linux系统mysql主主复制(双主复制)
一、简介
在上一篇的主从复制中:http://www.cnblogs.com/lay2017/p/9043985.html
我们了解到,mysql通过master写日志,slave读取并执行日志内容从而达到slave数据与master的一致。那么基于这个原理,我们可以实现两台master的复制功能。
大体如下:
1、两台master都开启log-bin写入日志
2、ID去重复
3、配置要复制的表
4、两台master分别向赋予replication slave从机复制权限;
5、分别开启复制
二、两台master分别开启主机日志
分别进入两台master机器,修复my.cnf文件(vim /etc/my.cnf),添加如下内容
# 双主配置
# 日志文件名称
log-bin=master-bin
# 唯一标识符一般为机器的IP尾号
server-id=144
# ID去重复配置
auto_increment_increment=几台机器就配几
auto_increment_offset=按顺序即可,例如(第一台:1;第二台:2)
# 设置双主复制的数据库
replicate-do-db=数据库名称
三、分别向对方赋予复制权限
在两台机器上分别执行
mysql>grant replication slave on *.* to '给对方登录的用户名'@'对方的IP地址' identified by '给对方登录的密码';
注意:这里是*.*,只能配置所有数据库因为replication slave权限只能作用于全局数据库,也就是为什么我们第二步要在配置文件里面配置允许复制的数据库名称
四、分别将主机指向对方
1)通过:mysql>show master status; 查看对方的日志文件名称和地址
+-------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master-bin.000003 | 407 | | | |
+-------------------+----------+--------------+------------------+-------------------+
2)通过以下命令配置主机指向:
CHANGE MASTER TO MASTER_HOST='对方的IP', MASTER_USER='用户名', MASTER_PASSWORD='密码', MASTER_LOG_FILE='日志文件名', MASTER_LOG_POS=日志地址;
五、开启复制
start slave;
注意:在做测试的时候最好先清空数据库,如果有配置过主从复制的情况,也最好先重置以下master和slave,重置命令如下:
mysql>reset master;
mysql>reset slave;
五、查看状态
分别在两台机器上执行
mysql>show slave status\G;
如果没有问题的话,你会看到类似如下的内容:
......
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
......
注意:两个线程都需要是Yes的状态,才表示复制开启成功
以上双主复制配置
参考文章:
https://www.cnblogs.com/phpstudy2015-6/p/6485819.html
https://www.cnblogs.com/tianshupei88/p/5075367.html
linux系统mysql主主复制(双主复制)的更多相关文章
- MySQL Replication, 主从和双主配置
MySQL Replication, 主从和双主配置 MySQL的Replication是一种多个MySQL的数据库做主从同步的方案,特点是异步,广泛用在各种对MySQL有更高性能,更高可靠性要求的场 ...
- nginx+keepalived 简单实现主备和双主模式
准备nginx和keepalived 安装nginx(自行安装) yum install nginx 安装keepalived(安装包安装总报错,yum安装能好一点) yum install keep ...
- [分享]运维分享一一阿里云linux系统mysql密码修改脚本
[分享]运维分享一一阿里云linux系统mysql密码修改脚本 大象吃豆子 级别: 小白 发帖 12 云币 27 加关注 写私信 只看楼主 更多操作楼主 发表于: 2014-09-3 ...
- linux系统mysql密码修改脚本
编写了一个适用于阿里云linux系统 mysql密码修改脚本,使用阿里云提供的一键安装包配置后,如果account.log文件删除,并且忘记mysql密码时,可以通过脚本来重置mysql密码. 附:一 ...
- mysql传统主从、双主复制+keepalived配置步骤
mysql主从.主主复制(双主复制)配置步骤 一:MySQL复制: MySQL复制简介: 将master服务器中主数据库的ddl和dml操作通过二进制日志传到slaves服务器上,然后在master服 ...
- mysql数据库之主从复制+双主--MMM
mysql复制:在主数据库中,前端用户每执行一个写操作/语句,都会在二进制日志中保存一个事件,把这个事件从mysql的服务器中3306端口发送给从服务器,从服务器把这个事件接受下来,接受下来先保存在本 ...
- MySQL自动化安装(双主多从读写分离)
shell #!/bin/bash # Create by # version 1.0 # // # # check out lockfile whether or not exist IsInput ...
- haproxy+keepalived主备与双主模式配置
Haproxy+Keepalived主备模式 主备节点设置 主备节点上各安装配置haproxy,配置内容且要相同 global log 127.0.0.1 local2 chroot /var/lib ...
- Linux系统——MySQL基础(三)
### MySQL主从复制实践#### 主从复制实践准备(1)主从复制数据库实战环境准备MySQL主从复制实践对环境的要求比较简单,可以是单机单数据库多实例的环境,也可以是两台服务器,每个机器一个独立 ...
随机推荐
- “全栈2019”Java第四十三章:封装
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 【转】WinForm多线程学习文档
源地址:https://www.cnblogs.com/jianglai11/articles/1708330.html 想学习更多,看<Windows 核心编程>
- 一个标准的AJAX请求
这是一个标准的ajax请求: $.ajax({ type:"post", url:basePath+"/resourcePush/operationLog", ...
- Windows 下目录切换以及挂载小技巧
Windows 下目录切换以及挂载小技巧 一.前言: 作为几年的 Linux 老用户,再购买了一款新的本本只支持 Windows(主要是Linux下的驱动)操作系统后,加之发现 Windows 提供 ...
- h5 fieldset
http://www.w3school.com.cn/tiy/t.asp?f=html_fieldset 这个标签可以让border里面写入文字
- 斐讯K2P通过配置文件开启telnet的原理分析
看过几篇教程之后我已经知道怎么备份固件了.但是现在有一个问题,我的本意是把K2P原机带的固件备份出来,用教程上的方法进行开启telnet.备份固件等操作是否会改变固件呢?下面我们来验证这个问题. Op ...
- POJ2299 Ultra-QuickSort (JAVA)
思路是分治,和归并排序一模一样,只是在归并的过程中,顺便统计后半部分序列比前半部分序列小的有多少个 但一直WA,最后是结果数量比较大,会超过int,用long就ac了..做题真坎坷 贴AC代码 imp ...
- centos7 systemd 必知必会
systemd 简介: systemd 是一个 Linux 系统基础组件的集合, 提供了一个系统和服务管理器, 运行为 PID 1 并负责启动其它程序 功能包括: 1.支持并行化任务 2.同时采用 s ...
- linux源码中的核心数据结构
寄存器 pt_regs 进程线程 struct task_struct: 进程,或者是线程数据结构,在include/linux/sched.h里面定义的,与硬件体系结构无关 struct threa ...
- C: City----逆向并查集
C: City 时间限制: 1 s 内存限制: 128 MB 题目描述 如果城市A和城市B互通,城市B和城市C互通,那么城市A和城市C也互通,A.B.C三个城市算一个聚集点.先 ...