如何借力Docker搞定MySQL主从复制!

技术如何借力Docker搞定MySQL主从复制!如何借力Docker搞定MySQL主从复制!,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。不过很多小伙伴反映

如何用Docker做MySQL的主从复制!我相信很多没有经验的人对此无能为力。因此,本文总结了问题产生的原因及解决方法。希望你能通过这篇文章解决这个问题。

但是有很多朋友反映,在Linux中安装MySQL比较费力,出错的时候很难从头开始。因此,今天宋歌将与大家分享如何通过Docker快速构建MySQL主从复制。

00-1010宋师兄在这里就不多说Docker了。宋师兄之前给过Docker教程。在微信官方账号后台回复Docker即可获得教程的下载地址。

00-1010首先计划两个MySQL实例:

192 . 168 . 66 . 1:33061/Master 192 . 168 . 66/Slave当然可以准备多个从机,从机的配置步骤是一样的。

在Docker中创建两个MySQL实例的命令如下:

docker run-name MYSQL 1-p 3306133603306-e MYSQL _ ROOT _ PASSWORD=123-d MYSQL :5.7-字符集-服务器=utf8mb4 -排序规则-服务器=utf8mb4_unicode_ci

docker run-name MYSQL 2-p 33062:3306-e MYSQL _ ROOT _ PASSWORD=123-d MYSQL :5.7-字符集-服务器=utf8mb4 -排序规则-服务器=utf8mb4_unicode_ci

创建后,您可以通过docker ps命令检查MySQL实例的运行状态:

如何借力Docker搞定MySQL主从复制!

这样,MySQL实例已经在运行了。使用Docker配置MySQL主、从的最方便的方法是如果不匹配就从头开始。

接下来,我们开始主从配置。

关于 Docker

主机上的配置主要在两个地方:

第一种是配置一个从登录用户,第二种是打开binlog。默认情况下,Docker中创建的MySQL实例只有一个用户,即root用户。在这里,我们需要输入MySQL命令行,并为其分配一个用户。通过以下命令连接到主机中的主机:

MySQL-u root-h 192 . 168 . 66 . 131-P 33061-P

输入密码并输入主机的命令行。然后把用户分配给从机(因为我的主机也安装了mysql,我可以直接执行MySQL命令。如果主机没有安装MySQL,建议通过docker exec进入MySQL容器,然后执行以下命令):

授予复制从机开*。*转到由“123”标识的“rep1”@“% ”;

这意味着从机将使用rep1/123登录主机一段时间,%意味着该帐户可以从任何地址登录,或者可以给它一个固定的IP,这意味着该帐户只能从某个IP登录。

如何借力Docker搞定MySQL主从复制!

接下来,打开binlog。

要打开binlog,需要修改MySQL配置,所以需要进入容器执行。

首先进入容器:

docker exec -it mysql1 /bin/bash

然后找到MySQL配置文件的位置:

/etc/MySQL/MySQL . conf . d/mysqld . CNF

这是MySQL配置文件。我们需要在这里修改它。因为m。

ySQL 容器中,默认没有 VI 编辑器,安装费事,所以我们可以在宿主机中将配置文件写好,然后拷贝到 MySQL 容器中,覆盖原有配置。我们主要在该配置文件中添加如下内容:

log-bin=/var/lib/mysql/binlog
server-id=1
binlog-do-db = cmdb

 

  • 第一行表示配置 binlog 的位置,理论上 binlog 可以放在任意位置,但是该位置,MySQL 一定要有操作权限。
  • server-id 表示集群中,每个实例的唯一标识符。
  • bindlog-do-db 表示要同步的数据库有哪些。当从机连上主机后,并不是主机中的每一个库都要同步,这里表示配置哪些库需要同步。
如何借力Docker搞定MySQL主从复制!
 

配置完成后,保存退出。

接下来执行命令,将宿主机中的 mysqld.cnf 拷贝到容器中:

docker cp ./mysqld.cnf mysql1:/etc/mysql/mysql.conf.d/

 

拷贝完成后,重启容器。

docker restart mysql1

 

容器重启完成后,进入到主机的命令行中,查看配置是否成功:

如何借力Docker搞定MySQL主从复制!
 

File 和 Position 需要记着,这两个标记了二进制日志的起点位置,在从机的配置中将使用到这两个参数。

至此,主机的配置就算完成了。

 

配置从机

从机的配置比较简单,不用开启 binlog,也不用配置要同步的库,只需要在配置文件中,添加一个 server-id 即可。

这是从机的 mysqld.cnf 配置:

如何借力Docker搞定MySQL主从复制!
 

配置完成后,一样拷贝到容器中。拷贝方式和主机一样:

docker cp ./mysqld.cnf mysql2:/etc/mysql/mysql.conf.d/

 

配置完成后,重启从机容器:

docker restart mysql2

 

重启完成后,进入到 mysql2 的命令行,执行如下命令,开启数据同步:

change master to master_host='192.168.66.131',master_port=33061,master_user='rep1',master_password='123',master_log_file='binlog.000001',master_log_pos=154;

 

如何借力Docker搞定MySQL主从复制!
 

配置完成后,开启从机进程。在从机命令行执行如下命令:

start slave;

 

如何借力Docker搞定MySQL主从复制!
 

接下来,执行 show slave status\G;查看从机状态:

如何借力Docker搞定MySQL主从复制!
 

这里重点查看 Slave_IO_Running 和 Slave_SQL_Running ,这两个的值必须为 Yes。如果有一个的值不为 Yes,表示配置失败,一般情况下,配置失败,下面会有失败提示。

至此,我们的 MySQL 主从就算是配置成功了。

检验

配置成功之后,我们可以通过 Navicat 或者 SQLyog 等工具连接上我们的两个 MySQL 实例,然后在主机中创建一个名为 db1 的库,你会发现从机中也会自动同步这个库。

看完上述内容,你们掌握如何借力Docker搞定MySQL主从复制!的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/46787.html

(0)

相关推荐

  • 两个虫子,词中那个两个字都是虫子旁

    技术两个虫子,词中那个两个字都是虫子旁螳螂两个虫子、蚱蜢、蚯蚓、蛐蛐、蜘蛛、蜻蜓、蜥蜴、蝈蝈、蟑螂、蝴蝶、蝌蚪、蝙蝠、蚂蝗、蚂蚁、蜂蛹、蝼蛄、蚍蜉、蚊蚋、蜈蚣、蜿蜒、螟蛉、蛤蟆、螃蟹、蜜蜂、蚰蜒、蚕蛹、蝽蛳、螺蛳、蟪蛄、

    生活 2021年10月20日
  • 什么的升旗仪式填词语,写学校里的升旗仪式,要点面结合

    技术什么的升旗仪式填词语,写学校里的升旗仪式,要点面结合星期一的早上,阳光灿烂,蓝蓝的天空飘着几朵白云什么的升旗仪式填词语。全校同学在学校的操场上排着整齐的队列,准备举行庄严的升国旗仪式。” 升旗手捧着五星红旗,昂首挺胸

    生活 2021年10月23日
  • netty组件化设计(net有类似netty的框架吗)

    技术基于NIO的网络编程框架Netty有哪些组件本篇内容介绍了“基于NIO的网络编程框架Netty有哪些组件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧

    攻略 2021年12月21日
  • Tungsten Fabric安装的示例分析

    技术Tungsten Fabric安装的示例分析这篇文章主要介绍Tungsten Fabric安装的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Tungsten Fabric 组件的HA

    攻略 2021年12月4日
  • 刷抖音播放量,抖音在线刷播放量网址?

    技术刷抖音播放量,抖音在线刷播放量网址?抖音快车这个引流渠道目前是见效快的办法,目前抖音HOT热门位子很火,流量相比位的三分之一获取得到,所以各大商家纷纷竞争目前HOT位子是根据点击率+ROI进行评估的。做引流先做快车,

    测评 2021年10月26日
  • 分享CSS3边框

    技术分享CSS3边框本篇内容主要讲解“分享CSS3边框”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“分享CSS3边框”吧!浏览器支持实例使用图片创建围绕 div 元素的边框:

    攻略 2021年11月6日