windows mysql主主配置_基于docker MySQL数据库主主同步配置(windows上)
安装docker部分
坑点
docker拉镜像速度过慢
点击docker图标,点击邮件看到setting,setting界面上点击docker engine,配置如图所示
还有两个备用的镜像地址
"mirror.c.163.com","https://registry.docker-cn.com"
docker exec -it 容器id /bin/bash失败
可以尝试用 docker exec -it 容器id sh (我这样是可以解决的)
mysql数据库主主同步配置
配置过程
首先拉去docker镜像
首先拉取docker镜像,我们这里使用5.7版本的mysql:
docker pull mysql:5.7
然后使用此镜像启动容器,这里需要分别启动主从两个容器
MasterOne(主一):
docker run -p 3339:3306 --name mysqlOne -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
MasterTwo(主二):
docker run -p 3340:3306 --name myTwo -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
配置MasterOne(主一)
通过
docker exec -it 627a2368c865 /bin/bash
或者
docker exec -it 627a2368c865 sh
命令进入到MasterOne容器内部。627a2368c865是容器的id.
cd /etc/mysql切换到/etc/mysql目录下,然后vi my.cnf对my.cnf进行编辑。此时会报出bash: vi: command not found,需要我们在docker容器内部自行安装vim。使用apt-get install vim命令安装vim
会出现如下问题:
执行apt-get update,然后再次执行apt-get install vim即可成功安装vim。然后我们就可以使用vim编辑my.cnf,在my.cnf中添加
[mysqld]
server_id = 1
log-bin= mysql-bin
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
复制代码
配置完成之后,需要重启mysql服务使配置生效。使用service mysql restart完成重启。重启mysql服务时会使得docker容器停止,我们还需要docker start mysql-master启动容器。
再次进入MasterOne容器,执行mysql -uroot -p123456进入mysql (前面创建容器时密码设置为123456,用户名默认为root)
//创建一个用户来同步数据
//这里表示创建一个slave同步账号slave,允许访问的IP地址为%,%表示通配符
GRANT REPLICATION SLAVE ON *.* to 'slave'@'%' identified by '123456';
//查看状态,记住File、Position的值,在masterTwo中将用到
show master status;
复制代码
小技巧:
查看容器IP:
docker inspect monemysql | grep IPA
配置MasterTwo
我们使用vim编辑my.cnf,在my.cnf中添加
[mysqld]
server_id = 2
log-bin= mysql-bin
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
复制代码
之后重启mysql服务
再次进入MasterTwo容器中的mysql
//设置主库链接,master_host即为容器IP,master_log_file和master_log_pos即为在mone容器中,通过show master status查出来的值;
change master to master_host='172.17.0.2',master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=154,master_port=3306;
//创建一个用户来同步数据
GRANT REPLICATION SLAVE ON *.* to 'slave'@'%' identified by '123456';
//启动同步
start slave ;
//查看状态
show master status;
复制代码
其中master_log_file 以及master_log_pos的值就是前面说的MasterOne数据库中file以及position对应的值,host则是MasterOne容器的ip
再次配置MasterOne
//设置mtwo主库链接,参数详细说明同上
change master to master_host='172.17.0.3',master_user='slave',master_password='123456',master_log_file='mysql-bin.000004',master_log_pos=443,master_port=3306;
//启动同步
start slave ;
复制代码
其中master_log_file 以及master_log_pos的值是MasterTwo的file以及position对应的值,host172.17.0.3则是MasterTwo容器的ip
配置完成之后,可以验证双主配置是否正确
在MasterOne 以及MasterTwo容器中,查看:
show slave status\G;
当红框两个Running状态都为Yes时,说明双主配置成功了~
验证
接下来请各位可以自行验证了。哈哈哈哈
参考文章
windows mysql主主配置_基于docker MySQL数据库主主同步配置(windows上)相关推荐
- docker redis 配置文件_基于Docker搭建Redis一主两从三哨兵
点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者:oscarwin juejin.im/post/5d26b03de51d454fa3 ...
- docker 镜像修改的配置文件自动还原_基于Docker搭建Redis一主两从三哨兵
作者丨oscarwin来源:https://juejin.im/post/5d26b03de51d454fa33b1960 这段时间正在学习Redis和容器相关的内容,因此想通过docker搭建一套r ...
- nginx nodejs环境配置_基于docker的nodejs、php开发环境,包含多种组合安装
dnnmmp 基于docker的nodejs.php开发环境 (docker,nodejs,php,nginx,mongo,mysql,redis) Dnnmmp包含以下组合 dnm(Docker + ...
- mysql主键标识_实体标识与数据库主键
今天,我们将讨论DDD意义上的标识与数据库主键之间的区别. 我们经常将两者混合在一起,但它们真的是一回事吗? 实体标识 在DDD的背景下,标识是实体固有的东西. 只有实体拥有它; 它是用于区别于所有其 ...
- mysql简易购物车系统_基于PHP+Mysql简单实现了图书购物车系统的实例详解
基于PHP+Mysql简单实现了图书购物车系统的实例详解,购物车,这是,页面,简单,图书 基于PHP+Mysql简单实现了图书购物车系统的实例详解 易采站长站,站长之家为您整理了基于PHP+Mysql ...
- keepalived mysql双主架构图_基于keepalived Mysql双主热备配置
基于keepalived双主热备: 一.环境: OS:CentOS 6.5 X64 DB Version:Percona Mysql 5.7.15-9-log 路径:/app/mysql57 数据文件 ...
- python虚拟环境的安装和配置_基于virtualenv的Python虚拟环境的安装配置(Mac环境)...
一.安装前提 明确自己的开发所需的python版本, Python 2.7.x 或者Python 3.6.x . 安装 Python 2.7.x 或Python 3.6.x 版的virtualenv. ...
- yolov3gpu配置_基于图灵架构GPU进行keras-yolov3的配置
如果你有幸能够看到这一篇专栏,我相信你有很大的可能就不会是一个纯小白.其他的配置选项在csdn上都有很多详细的说明,这里就不过多赘述. 本人之前使用的yolov3模型都是基于帕斯卡架构,用我笔记本的1 ...
- pi数据库同步解决方案_MySQL数据库主主同步配置实战
最近云服务器大减价,趁机买了几台,博客就放在其中一台上,为了不让剩下的两台服务器闲置,打算都利用起来,对博客网站进行负载均衡.使用两台数据库进行主主同步配置,扩展网站数据库架构,提高数据库的读写性能. ...
最新文章
- ORACLE 10g 数据库体系结构图
- intelliJ idea如何安装、配置
- qt 将不同的数据类型组成一个新类型_SQL 通用数据类型
- easyui datagrid 中怎么选中所有页面的数据_学会这5个Excel中常用技巧,可以准时下班去摆摊了...
- 实验8.1 链表类的定义与实现
- Cookie介绍与操作
- Oracle的SQL语法提示30例,INDEX_JOIN,ORDERED,USE_NL,LEADING
- 《机器学习实战》读书笔记——Logistic回归
- 二进制流 最后一段数据是最后一次读取的byte数组没填满造成的
- pythonfilelist_Python 列表list使用介绍
- 【MyEcplise】build workspace卡死
- c++builder读取系统时间Now函数
- MYSQL数据库高级SQL语句详解
- JVM年轻代和老年代垃圾回收
- Java8新特性:等同 final 效果(Effectively Final)
- 组合模式-Composite Pattern
- 12小时制(AM PM)字符串转换为24时制
- 南方电信电网接口API源码
- 【EVE-NG】模拟器打不开/分不到地址
- 优启通制作系统u盘_优启通u盘制作工具-easyu优启通2020官方下载-独木成林
热门文章
- B表中的pid对应A表中id,查询A表中数据,根据b表中对应a表中该id的数据数目排序...
- 年底怎样才能“被评优”
- ArcGIS.Server.9.3和ArcGIS API for JavaScript实现Identify功能(六)
- PMCAFF微课堂已结束 | 前YY产品总监深度揭秘P2P运营推广精髓
- 写一个实时监控IP连通性的小脚本
- linux下查看系统进程占用的句柄数
- Nginx uWsgi Django环境搭建
- MV* 框架 与 DOM操作为主 JS库 的案例对比
- C#中判断某软件是否已安装
- 暴雪帝国倾倒前的颓萎:积重难返辉煌渐淡