Docker Mysql主主同步配置搭建Demo
主主同步配置和主从配置很相似,仅需稍做修改就可以了,对主从配置有疑问可以查看 上一篇文章。
进行Docker操作前,先建立目录,我的路径是d:/docker/mysql,目录结构如下:
--mysql
--mone
--data
--conf
--my.cnf
--mtwo
--data
--conf
--my.cnf
1、主主配置文件
Mone: my.cnf
[mysqld]
server_id = 1
log-bin= mysql-bin binlog-do-db=blogging
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema read-only=0
relay_log=mysql-relay-bin
log-slave-updates=on
auto-increment-offset=1
auto-increment-increment=2 !includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
Mtwo: my.cnf
[mysqld]
server_id = 2
log-bin= mysql-bin binlog-do-db=blogging
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema read-only=0
relay_log=mysql-relay-bin
log-slave-updates=on
auto-increment-offset=2
auto-increment-increment=2 !includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
说明:
log-bin :需要启用二进制日志
server_id : 用于标识不同的数据库服务器,而且唯一
binlog-do-db : 需要记录到二进制日志的数据库
binlog-ignore-db : 忽略记录二进制日志的数据库
auto-increment-offset :该服务器自增列的初始值
auto-increment-increment :该服务器自增列增量
replicate-do-db :指定复制的数据库
replicate-ignore-db :不复制的数据库
relay_log :从库的中继日志,主库日志写到中继日志,中继日志再重做到从库
log-slave-updates :该从库是否写入二进制日志,如果需要成为多主则可启用。只读可以不需要
如果为多主的话注意设置 auto-increment-offset 和 auto-increment-increment
如上面为双主的设置:
服务器 152 自增列显示为:1,3,5,7,……(offset=1,increment=2)
服务器 153 自增列显示为:2,4,6,8,……(offset=2,increment=2)
2、启动创建主从容器
//获取基础镜像
docker pull mysql
//创建并启动主从容器;
//mone
docker run --name monemysql -d -p 3317:3306 -e MYSQL_ROOT_PASSWORD=anech -v d:/docker/mysql/mone/data:/var/lib/mysql -v d:/docker/mysql/mone/conf/my.cnf:/etc/mysql/my.cnf mysql
//mtwo
docker run --name mtwomysql -d -p 3318:3306 -e MYSQL_ROOT_PASSWORD=anech -v d:/docker/mysql/mtwo/data:/var/lib/mysql -v d:/docker/mysql/mtwo/conf/my.cnf:/etc/mysql/my.cnf mysql
这里为了方便查看数据效果,我对外暴露了两个主主的端口。
3、Mone和Mtwo设置
//进入mone容器
docker exec -it monemysql bash
//启动mysql命令,刚在创建窗口时我们把密码设置为:anech
mysql -u root -p
//创建一个用户来同步数据
GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by '123456';
//这里表示创建一个slaver同步账号backup,允许访问的IP地址为%,%表示通配符
//例如:192.168.0.%表示192.168.0.0-192.168.0.255的mtwo都可以用backup用户登陆到mone上
//查看状态,记住File、Position的值,在mtwo中将用到
show master status;
//进入mtwo容器
docker exec -it mtwomysql bash
//启动mysql命令,刚在创建窗口时我们把密码设置为:anech
mysql -u root -p
//设置主库链接
change master to master_host='172.17.0.2',master_user='backup',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=0,master_port=3306;
//创建一个用户来同步数据
GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by '123456';
//这里表示创建一个slaver同步账号backup,允许访问的IP地址为%,%表示通配符
//例如:192.168.0.%表示192.168.0.0-192.168.0.255的mone都可以用backup用户登陆到mtwo上
//启动同步
start master ;
//查看状态
show master status;
设置完后,再次进入Mone容器
//进入mone容器
docker exec -it monemysql bash
//启动mysql命令,刚在创建窗口时我们把密码设置为:anech
mysql -u root -p
//设置主库链接
change master to master_host='172.17.0.3',master_user='backup',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=0,master_port=3306;
说明:
master_host:主库地址
master_user:主库创建的同步账号
master_password:主库创建的同步密码
master_log_file:主库产生的日志
master_log_pos:主库日志记录偏移量
master_port:主库使用的端口,默认为3306
设置完后重启Mone容器的mysql服务,然后测试查看效果吧!
文章出处:http://www.cnblogs.com/anech/p/6780949.html
Docker Mysql主主同步配置搭建Demo的更多相关文章
- Docker Mysql主从同步配置搭建Demo
进行Docker操作前,先建立目录,我的路径是d:/docker/mysql,目录结构如下: --mysql --master --data --conf --my.cnf --slaver --da ...
- Docker Mysql数据库主从同步配置方法
一.背景 最近在做内部平台架构上的部署调整,顺便玩了一下数据库的主从同步,特此记录一下操作- 二.具体操作 1.先建立数据存放目录(-/test/mysql_test/) --mysql --mast ...
- Docker Mysql主从同步配置搭建
Docker Mysql主从同步配置搭建 建立目录 在虚拟机中建立目录,例如路径/home/mysql/master/data,目录结构如下: Linux中 新建文件夹命令:mkdir 文件夹名 返回 ...
- Linux下MySQL数据库主从同步配置
说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备 ...
- MySql数据主从同步配置
由于需要配置MySQL的主从同步配置,现将配置过程记录下,已被以后不时之需 MySql数据主从同步 1.1. 同步介绍 Mysql的 主从同步 是一个异步的复制过程,从一个 Master复制到另一 ...
- MYSQL主从库同步配置过程
MYSQL主从库同步配置过程 为了实现网站数据库的异地备份,采用了MySQL数据库主从同步配置,需要两台服务器分别作为主从库,当主库发生增删改等操作,会实时反映到从库,我的个人服务器配置如下: 主库为 ...
- MySQL数据库的同步配置+MySql读写分离
使用mysql主从复制的好处有: 1.采用主从服务器这种架构,稳定性得以提升.如果主服务器发生故障,我们可以使用从服务器来提供服务. 2.在主从服务器上分开处理用户的请求,可以提升数据处理效率. 3. ...
- Linux Centos下MySQL主从Replication同步配置(一主一从)
MySQL 主从复制概念MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点.MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据 ...
- windows下 MySQL数据库双向同步 配置步骤
最近在项目中遇到了要实现服务器上MySql数据双向同步,在网上找了很多资料,但是大部分都是在liux系统下配置的, 而且都是互相转载,没有一个详细的步骤,于是决定写一个windows系统下 ...
随机推荐
- 如何将计算机加入域 分类: AD域 Windows服务 2015-06-10 11:04 63人阅读 评论(0) 收藏
在上一篇博客中我已经实现了windows server 2008 R2域中的DC部署,那么如何将计算机加入到我们部署的域环境中呢? (初级教程,step by step,不足之处欢迎批评指正!) 将计 ...
- bash characters
linux shell通配符(wildcard) 通配符是由shell处理的(不是由所涉及到命令语句处理的,其实我们在shell各个命令中也没有发现有这些通配符介绍), 它只会出现在 命令的“参数”里 ...
- java中日期常用
Java中日期的几种常见操作 —— 取值.转换.加减.比较 Java 的开发过程中免不了与 Date 类型纠缠,准备总结一下项目经常使用的日期相关操作,JDK 版本 1.7,如果能够帮助大家节约那么几 ...
- LeetCode_Search Insert Position
Given a sorted array and a target value, return the index if the target is found. If not, return the ...
- 【opencv】ubuntu opencv imshow()报错
错误提示: ubuntu opencv imshow() 报错 windows.cpp报错 the function is not implemented If you are on Ubuntu o ...
- 配置MDM的描述文件
配置描述文件 首先需要一个 MDM 配置描述文件,此文件用于安装到设备上,使其向 MDM 服务器注册为受管理的设备. 1.凭证 用iphone配置使用工具,新建一个配置描述文件,在“凭证”栏,创建新凭 ...
- wordpress 自己制作子主题 child theme
使用 WordPress 的子主题(Child Themes)功能快速制作自己的主题 在了解子主题功能之前,先来看一下你在使用 WordPress 的时候是否是这样:不会自己制作主题,只好从网上下载一 ...
- LDPC知识点
LDPC:low Density Parity Check BCH:以前NAND的纠错 80s TLC以镁光都是以LDPC纠错. 对比: BCH:超过阈值就绝对纠正不回来了. LDPC:纠正的结果是一 ...
- MySQL高可用架构之MHA(转)
简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是 ...
- 等待事件对应的p1,p2,p3含义
Oracle 10g v$session视图中不同等待事件对应的p1,p2,p3的含义也不同,我们不可能记住所有等待事件对应的p1,p2,p3的含义. 可以通过查询V$EVENT_NAME知道每个等待 ...