怎么搭建基于码头工人中MySQL主从复制环境

  介绍

这篇文章将为大家详细讲解有关怎么搭建基于码头工人中MySQL主从复制环境,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

<强> 1。前言

之前的程序架构可能是这样的一种形式:

怎么搭建基于码头工人中MySQL主从复制环境

当程序体量扩大后,我们进行扩展,可能会扩展多个后台服务实例,但数据库还是只有一个,所以系统的瓶颈还是在数据库上面,所以这次的主要任务就是对数据库进行扩展,主要形式为:扩展多台数据库实例,实现读写分离,对于一些写的任务分配到主数据库,对于读的任务使用子数据库进行读取。从而提高系统性能。

修改后的架构如下所示:

怎么搭建基于码头工人中MySQL主从复制环境

<强> 2。环境预搭建

这次使用码头工人来进行这个环境的搭建,使用MySQL版本为5.7.13。

docker  pull  MySQL: 5.7.13

整体结构为:

<李>

1个主主节点,作为写的节点。

<李>

2个奴隶从节点,作为读的节点。

先分别将这几个节点启动,映射到不同的端口。在本机使用数据库连接工具连接,测试是否正常启动且正常连接。

docker  run  -p  3307:3306 ——name  mysql-master  -e  MYSQL_ROOT_PASSWORD=123456, -d  MySQL: 5.7.13   docker  run  -p  3308:3306 ——name  mysql-slave1  -e  MYSQL_ROOT_PASSWORD=123456, -d  mysql: 5.7.13   docker  run  -p  3309:3306 ——name  mysql-slave2  -e  MYSQL_ROOT_PASSWORD=123456, -d  mysql: 5.7.13

我这里分别将主节点(mysql-master)映射为<代码> 3307 端口,两个从节点(mysql-slave1, 2)分别为<代码> 3308 和<代码> 3309 端口,然后设置mysql的根密码为<代码> 123456

然后可以使用<代码> navicat>

怎么搭建基于码头工人中mysql主从复制环境

分别进入这几个节点,编辑配置文件。

docker  exec  -it  mysql-master /bin/bash

我使用的是名字来进入容器,也可以根据id来选择,即<代码>码头工人exec -对应容器的id/bin/bash>

由于没有预先安装第六<代码> 和<代码> vim 程序,然后要下载时需要执行<代码> apt更新命令,这时会从国外源进行下载。由于众所周知的原因,速度很慢。我就将下载源更改为国内源。

进入到<代码>/etc/apt 文件夹中,首先将原有的文件进行备份:

mv  sources.list  sources.list。贝克

然后使用如下命令新建文件并输入内容:

echo  deb  http://mirrors.aliyun.com/ubuntu/  xenial  main  restricted  universe  multiverse 祝辞,sources.list

然后我们再执行<代码> apt> vim>

<强> 3。进行主从配置

主节点(主)配置

进入主节点容器后,进入<代码>/etc/mysql> <代码> my . cnf中所做文件,主要对它进行修改。

编辑这个文件,找到<代码> (mysqld)> (mysqld)   …   …   # #,唯一的编了号   服务器id=101   # #,这个是关键配置项   log-bin=mysql-bin

配置完成后,需要重启MySQL服务使配置生效。使用<代码>服务重新启动MySQL> 码头工人重启mysql-master>

<强>从节点(奴隶)配置

同主节点一样,编辑<代码> /etc/MySQL/my . cnf中所做文件

(mysqld)   …   …   # #,唯一的编了号   服务器id=103   # #,选,如果需要将该节点作为其他节点的主节点则需要添加   #,log-bin=mysql-bin

<>强链接主节点和从节点

<强> 主节点

在主节点容器中进入MySQL <代码> MySQL - u root - p> 怎么搭建基于码头工人中MySQL主从复制环境