您当前的位置:首页 > 电脑百科 > 程序开发 > 容器

docker mysql主从,跨公网IP

时间:2019-12-03 11:20:54  来源:  作者:

业务背景

唉,最近和同事吃饭,大家都觉得每天吃饭路上都在讨论一些八卦,既没营养,又无聊!于是乎,有个开发大牛想了想提出了一个问题:最近服务器单机MySQL怕有问题,所以想搭建主从,但又不想再另外一台服务器上直接装mysql(装太多太乱)!樊*,你不是会Docker嘛!麻烦你用docker在我的两台服务器上搭建一个主从呗!

docker mysql主从,跨公网IP

 

难点分析

  1. MYSQL 容器里不能使用vim
  2. 两台服务器跨区,需要使用公网IP

安装步骤

一、主库安装

  1. 参照dockerhub描述创建一个mysql基础容器
    方法一:
    可以创建一个最简单myql容器,然后再修改配置
    docker run --name fanrui_mysql_master -e MYSQL_ROOT_PASSword=my-secret-pw -d mysql:tag 
    方法二:
    创建一个带映射配置文件的容器(请注意下面在一行执行)
    docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
    **注: 之所以介绍两种方式是因为第一种方法需要进入容器内编辑配置文件,从而导致not foud vim
    解决方法:1 apt-get update 2 apt-get install vim 这两个步骤都有可能会失败,而且特别慢,只能耐心等待,或者去喝杯咖啡了, 失败的话,重新执行一次或几次还是可以成功的(我暂时没有加速的办法)****注:第二种方法需要重点注意映射的的宿主机路径与容器路径的关系,可能导致映射失败
    解决方法:1 映射前宿主机chmod 777 宿主机目录       2 目录一定要映射到足够深的目录**注:下图1是我按照dockehub上的介绍,映射到1的位置,编辑mysql配置文件mysql.cnf不生效
    下图2是我按照dockehub上的介绍,映射到2的位置,编辑mysql配置文件mysqld.cnf可生效
  2. 编辑mysqld.cnf
    在[mysqld]下添加
    # 这里的 server-id 相对于从库唯一即可
    server-id = 1
    log-bin = mysql-bin
  3. 重启mysql服务,停止容器,再重启动容器即可
    docker stop mysql容器
    docker start mysql容器
  4. 进入主mysql,查看master信息

二、从库安装

1.从库容器创建:参照主库容器
2. 修改配置文件
路径:/etc/mysql/mysql.cnf.d/mysql.cnf
在[mysqld]下添加
# 这里的 server-id 相对于主库唯一即可
server-id = 13
log-bin = mysql-slave-bin
relay-log =edu-mysql-replay-bin

docker mysql主从,跨公网IP

 


3. 重启mysql服务,停止容器,再重启动容器即可
docker stop mysql容器
docker start mysql容器
4. 进入mysql从库,执行下面语句
该语句功能为给从库指定同步目标
change master to master_host='公网IP', master_user='root', master_password='123456', master_port=3306, master_log_file='mysql-bin.000003主库刚才查到的', master_log_pos= 2830同步位置, master_connect_retry=30;
注:正常情况不应该用root去同步,为了试验方便就暂时用root吧

5.检查配置状态
执行:show slave status G;
在没有执行start slave的时候,两个yes,应该是两个No,不过没有问题,不是错误
执行:start slave,再执行 show slave status G;
如果一个yes,一个一直是connectioning,那么恭喜你,只差最后一步了!

docker mysql主从,跨公网IP

 

三、公网配置

  1. 关闭主从库容器,并打包成新的镜像
    镜像打包请参照:镜像打包
  2. 创建新的主从容器,并分别将2375端口映射到3306
    docker run -d --name new_main -p 2375:3306 新主库镜像:tag
    docker run -d --name new_slave -p 2375:3306 新从库镜像:tag
  3. 重新进入从库容器,执行步骤二的第4,5操作
    执行:start slave,再执行 show slave status G;之后如果两项都是yes,则说明已经可正常同步!
  • 如果是云服务器,一定要在安全组打开2375端口
  • 如果是云服务器,一定要在安全组打开2375端口
  • 如果是云服务器,一定要在安全组打开2375端口四、测试
  1. 通过工具主库创建一个测试数据库,刷新从库 create database testDockerPublic;

总结:这种方式其实并不是可以上生产环境的,因为2375本身存在安全隐患,如果哪位博友对docker网络比较熟悉,也希望能再评论区留下您的地址,不剩感激!

相关参考

https://www.cnblogs.com/songwenjie/p/9371422.html
https://www.jianshu.com/p/3eb1e178f51b
https://blog.csdn.net/qq_38423105/article/details/88385673
https://www.cnblogs.com/xiohao/p/9059256.html



Tags:   点击:()  评论:()
声明:本站部分内容来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除,谢谢。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
一、HTTP Begin1、什么是 HTTPHTTP 是基于文本传输的协议,它位于 OSI 七层模型的应用层(Application) ,HTTP 是通过客户端向服务器发送请求,服务器响应请求来进行通讯,截止到目前...【详细内容】
2020-11-12   docker  点击:(2)  评论:(0)  加入收藏
平时大家在用PS的时候,速度一直提不上去了该怎么办?那么下面这120个由大神们总结的PS技巧,你务必要学会,能让你的设计更高效!(即使学不会也收藏起来,早晚会用到)这120款技巧覆盖了PS...【详细内容】
2020-11-12   docker  点击:(2)  评论:(0)  加入收藏
基金投资作为低风险偏好者的最爱一样面临投资大逻辑,否则基民也会在不断起起伏伏的行情中迷茫和困惑。虽然我写过很多关于投资理念的文章,不过在信息泛滥的时代,越宽泛和理念的...【详细内容】
2020-11-12   docker  点击:(1)  评论:(0)  加入收藏
概述Go语言作为一门开源的编程语言,以简洁、快速、安全著称。尤其在高性能的分布式服务器领域得到广泛应用。技多不压身,在学习过程中记录下来,以备后续参考,希望对有同样需求的...【详细内容】
2020-11-12   docker  点击:(1)  评论:(0)  加入收藏
我们都知道现在mysql开源数据库是我们现在小型网站使用较多的免费数据库,我们在创建数据表时容易出现表名出现有问题需要修改,今天在这里教大家利用Sql语句来修改表名的方法:本...【详细内容】
2020-11-12   docker  点击:(3)  评论:(0)  加入收藏
作为一个后端开发人员来说,微信开发已经是必备的技能之一了,今天小编就来分享一个相关的类库shenghui0779/gochat(以下简称wechat)。这个类库简单易用,看源码的时候目录结构一...【详细内容】
2020-11-12   docker  点击:(4)  评论:(0)  加入收藏
MGR简介MySQL Group Replication,简称MGR,它是MySQL官方推出的基于paxos分布式一致性协议的状态机复制,实现了分布式下数据的最终一致性。同时MGR提供了高可用、高扩展、高可靠...【详细内容】
2020-11-12   docker  点击:(4)  评论:(0)  加入收藏
服务器意外断电后,RAID控制器宕机如下图所示,使用BMC管理口进iKVM,在服务器启动的过程中可以看到如下提示 解决办法:1、开机过程中按提示按ctrl+R,进RAID管理界面 2、将Boot Mo...【详细内容】
2020-11-12   docker  点击:(3)  评论:(0)  加入收藏
小红书种草推广已经是重要的网络推广方式之一,做小红书推广有最重要的两点。...【详细内容】
2020-11-12   docker  点击:(5)  评论:(0)  加入收藏
IPSec VPN高可用性解决方案需要用到DPD、RRI、路由、SLA等技术组合使用才能做到简单的高可用性,缺点是使用场景单一且配置繁琐。由于IPSec VPN的局限性,思科基于IPSec VPN和动...【详细内容】
2020-11-12   docker  点击:(3)  评论:(0)  加入收藏
民间借贷作为民事案件中最为常见的纠纷之一,其出现的频率相当高、案件类型颇为繁多。为此,笔者特整理了以下最为常见的十种民间借贷案件类型,并分别收集了相关案例以供大家阅...【详细内容】
2020-11-12   docker  点击:(2)  评论:(0)  加入收藏
移动硬盘怎么选?防水、防震、抗冲击,高速读写最重要,这样才能保证数据的安全和快速读写。 闪迪至尊极速移动固态硬盘,1T版,目前价格1199,虽然价格要比普通移动硬盘贵一些,但是品质...【详细内容】
2020-11-12   docker  点击:(2)  评论:(0)  加入收藏
由iPhone带头,越来越多的手机把3.5mm耳机孔去掉了之后。用户们就被半逼迫着购买了无线耳机,或者typec/lighting借口耳机。但是对于用户已经拥有的那些3.5mm耳机怎么办呢?如果你...【详细内容】
2020-11-12   docker  点击:(2)  评论:(0)  加入收藏
近日,我在网上想要买一块硬盘,因为我的电脑硬盘内存太小了,当我打开某宝的时候,我搜索电脑硬盘的时候,我发现电脑硬盘有几种颜色,分别是:黑盘、蓝盘,绿盘、那不同颜色的硬盘要怎么选...【详细内容】
2020-11-12   docker  点击:(3)  评论:(0)  加入收藏
选固态硬盘核心看5点:接口、闪存颗粒(类型和大小)、主控、缓存、价格。 1.电脑接口决定支持的固态硬盘类型,接口不匹配性能再好也白搭; 2.闪存颗粒决定固态硬盘的容量、性能和质...【详细内容】
2020-11-12   docker  点击:(2)  评论:(0)  加入收藏
今天遇到一件奇怪的事情!因为单位升级到WIN10,所以最近一直在重装系统,工作量很大,先是备份资料,重装系统,还原资料,配置计算机名,配置IP,配置邮箱,安装打印机驱动,一大堆的事情,还好这W...【详细内容】
2020-11-12   docker  点击:(2)  评论:(0)  加入收藏
不管是固态硬盘还是机械硬盘,分区都是一样的操作。1、首先按照系统版本(32位或64位,可在此电脑,右键,属性中查看)下载一个分区助手diskgenius,下载完成安装上并打开diskgenius。 2...【详细内容】
2020-11-12   docker  点击:(1)  评论:(0)  加入收藏
随着电商平台的兴起,很多小伙伴在购买电脑时,都会选择网上选购配件,买好后开始自己组装,却发现开不了机、没声音、USB不能用等问题,其实这是因为你电脑跳线没接对或者没有接。跳...【详细内容】
2020-11-12   docker  点击:(1)  评论:(0)  加入收藏
今天给大家说说电脑文件夹的那些事。我们电脑一般需要根据硬盘的数量分成几个盘,点击这里可以了解硬盘分区,而系统一般是放在 C 盘的,所以今天也主要说说 C 盘的文件夹中哪些东...【详细内容】
2020-11-12   docker  点击:(1)  评论:(0)  加入收藏
智能手机系统,就存在着这样一个问题:随着使用越久,残存的垃圾就越多,磁盘的存储空间都会由于删除等操作出现一些碎片。还有一点是安卓手机是电子产品,使用得越久,器件会存在老化的...【详细内容】
2020-11-12   docker  点击:(1)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条