新闻资讯  快讯  焦点  财经  政策  社会
互 联 网   电商  金融  数据  计算  技巧
生活百科  科技  职场  健康  法律  汽车
手机百科  知识  软件  修理  测评  微信
软件技术  应用  系统  图像  视频  经验
硬件技术  知识  技术  测评  选购  维修
网络技术  硬件  软件  设置  安全  技术
程序开发  语言  移动  数据  开源  百科
安全防护  资讯  黑客  木马  病毒  移动
站长技术  搜索  SEO  推广  媒体  移动
财经百科  股票  知识  理财  财务  金融
教育考试  育儿  小学  高考  考研  留学
您当前的位置:首页 > IT百科 > 程序开发 > 容器

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:   点击:()  评论:()
声明:本站部分内容来自互联网,内容观点仅代表作者本人,如有任何版权侵犯请与我们联系,我们将立即删除。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
题:广州“出入大门”的白衣守护者  作者 蔡敏婕 陈淑华  在广州白云国际机场,有13个医疗急救点。...【详细内容】
2020-03-23   docker  点击:(0)  评论:(0)  加入收藏
新冠肺炎疫情对全世界经济的冲击正逐步浮现,香港的“超级联系人”角色也因此受到挑战。笔者在大湾区多个城市游走多年,最终在深圳成功开创自己的事业,深深感觉到香港年轻一代仍有其不可替代的优势。...【详细内容】
2020-03-23   docker  点击:(1)  评论:(0)  加入收藏
(杨佩佩)记者21日从山西联运集团股份有限公司获悉,自19日起,山西支援湖北医护人员及配偶、子女乘坐山西省太原市建南汽车站46条线路的客运班车终身免...【详细内容】
2020-03-23   docker  点击:(2)  评论:(0)  加入收藏
3月17日自美国洛杉矶乘坐中国南方航空CZ610次航班(座位号R52H),于18日5时25分抵达沈阳桃仙机场,在机场边检站采样做新冠病毒核酸检测。...【详细内容】
2020-03-23   docker  点击:(5)  评论:(0)  加入收藏
缅甸外交官、联合国驻缅甸机构人员在到达缅甸后需进行14天的居家隔离。...【详细内容】
2020-03-23   docker  点击:(4)  评论:(0)  加入收藏
(记者 王国安)泰国卫生部21日公布,新增新冠肺炎确诊病例89例,再创单日确诊病例新高。...【详细内容】
2020-03-23   docker  点击:(6)  评论:(0)  加入收藏
根据西班牙当地媒体当地时间20日下午的消息,目前效力于西甲西班牙人的中国球员武磊确诊感染新冠病毒。西媒确认武磊是4位感染病毒的球员之一。...【详细内容】
2020-03-23   docker  点击:(4)  评论:(0)  加入收藏
安徽省建设合肥综合性国家科学中心人工智能研究院,开展基础研究、应用基础研究、技术创新和应用示范,为人工智能产业创新发展提供强大知识储备和技术...【详细内容】
2020-03-23   docker  点击:(5)  评论:(0)  加入收藏
据湖北十堰市人民政府网站消息,为确保全市人民群众出行安全,十堰市新型肺炎疫情防控指挥部21日就规范人车安全有序流动有关事项发布通告。...【详细内容】
2020-03-23   docker  点击:(3)  评论:(0)  加入收藏
据陕西省卫健委网站消息,2020年3月20日8时至21日8时,陕西新增1例境外(英国)输入新冠肺炎确诊病例;陕西本地无新增确诊病例,本地新增疑似病例0例,...【详细内容】
2020-03-23   docker  点击:(4)  评论:(0)  加入收藏
根据大陆最新诊疗方案,病例确诊需结合核酸检测、血清特异性抗体检测、胸部影像学检查等多个标准。...【详细内容】
2020-03-23   docker  点击:(6)  评论:(0)  加入收藏
我和表妹的对话虽是半开玩笑,但已然成为半个假洋鬼子的我,笃定“法国人要么美、要么死”的说法话糙理不糙,因为每天我都和一个非常有代表性的“法国人”样本一起工作、生活——我的爱人法兰克。...【详细内容】
2020-03-23   docker  点击:(4)  评论:(0)  加入收藏
中国驻菲律宾大使黄溪连在机场会见洛钦,并向菲方移交了中国援助的抗疫物资。...【详细内容】
2020-03-23   docker  点击:(5)  评论:(0)  加入收藏
当日21时10分,内蒙古森林消防总队参与跨区域协防的400余名指战员从河北石家庄临时驻地出发,前往五台山火场实施增援。...【详细内容】
2020-03-23   docker  点击:(4)  评论:(0)  加入收藏
(袁超)贵州茅台酒股份有限公司2020年第一次临时股东大会20日选举高卫东为公司第二届董事会董事,在随后召开的董事会会议上,选举高卫东为公司第二届董...【详细内容】
2020-03-23   docker  点击:(4)  评论:(0)  加入收藏
据路透社报道,21日,伊朗总统鲁哈尼表示,伊朗为抗击新冠肺炎疫情,采取了包括旅行限制等在内的社会疏离措施,这些措施将持续两到三周的时间,因为他...【详细内容】
2020-03-23   docker  点击:(5)  评论:(0)  加入收藏
3月19日,武汉协和医院超声影像科门前,贴满了提示候诊患者保持距离的告示。中青报·中青网记者 李峥苨/摄  3月19日下午,武汉华中科技大学同济医学院附属同济医院门前,久违地出现了车辆川流不息的景象。...【详细内容】
2020-03-23   docker  点击:(6)  评论:(0)  加入收藏
智利卫生部长马纳利奇20日说,从21日零时起,智利全国无限期关闭电影院、剧院、酒吧、舞厅等场所,餐厅将取消堂食,但保留外卖。...【详细内容】
2020-03-23   docker  点击:(5)  评论:(0)  加入收藏
报到时要采取有效措施避免大量人员长时间聚集,家长一律不得进入校园,对学生携带的行李要做好入校前消毒工作。...【详细内容】
2020-03-23   docker  点击:(6)  评论:(0)  加入收藏
(记者 陈冠言) 3月21日,广西对口支援湖北省十堰市抗疫医疗队乘坐北部湾航空包机返回南宁。...【详细内容】
2020-03-22   docker  点击:(4)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条