CentOS7.x 环境基于docker搭建mysql主从同步实验

一、什么是 MySQL 双机热备?

双机热备的工作原理是设置一个数据库为主库,另一个数据库为从库。当主库出现故障时,从库能自动接管主库的功能,向外提供服务。两台数据库互相同步,协同工作。

另外 MySQL 主从同步还有一主一从、一主多从、主从从、双主、双主多从等模式。我们今天讲的就是双主结构。另外几种原理都是大同小异。

二、如何搭建 MySQL 的双机热备模式?

1、环境准备:CentOS7.x 

2、安装docker :

yum update --确保yum是最新的   

yum -y install docker-io  -- 安装docker

       systemctl start docker  ##启动

systemctl enable docker ##设置docker开机启动

3、安装 MySQL8镜像

下载镜像 docker pull mysql

查看镜像 docker images

分别创建master 和 slave目录用来挂载配置文件

mkdir -p /home/mysql-master/conf

添加配置文件my.cnf 添加以下内容

[mysqld]
lower_case_table_names=1
##[必须]启用二进制日志
log-bin=mysql-bin
## [必须]服务器唯一ID,默认是1
server-id=1 
replicate-ignore-db=mysql
default_authentication_plugin=mysql_native_password

mdir -p /home/mysql-slave/conf

添加配置文件my.cnf并添加以下内容

[mysqld]
lower_case_table_names=1
log-bin = mysql-bin
## id 一定要与 master 不一样
server-id = 2
replicate-ignore-db = mysql

创建并启动master 容器:

docker run --name mysql-master -e MYSQL_ROOT_PASSWORD=root -v /home/mysql-master/:/etc/mysql/conf.d -p 13306:3306 -d mysql

创建并启动slave容器

docker run --name mysql-slave -e MYSQL_ROOT_PASSWORD=root -v /home/mysql-slave/:/etc/mysql/conf.d -p 13307:3306 -d mysql

4、MySQL 主从配置(双主)

使用navicate 连接 mysql-master

# 查看 master 状态,File 和 Position 需要填写到从服务中

连接mysql-slave,设置主从连接关系,执行同步 SQL 语句(需要主服务器主机名,二进制文件的名称和位置)实现同步。

CHANGE MASTER to MASTER_HOST="192.168.146.128",
MASTER_PORT=13307,MASTER_user="root",
MASTER_PASSWORD="root",
##执行show master status查询出来的File  和Position
MASTER_LOG_FILE="mysql-bin.000001",
MASTER_LOG_POS=273826;

开启 (从库模式):start SLAVE;
查看查看线程是否开启:当 Slave_IO_Running 和 Slave_SQL_Running 都为 YES 的时候就表示主从同步设置成功了。都可进行写入、读取,实现了数据库的互相同步。

å¨è¿éæå¥å¾çæè¿°

对mysql-master 同样操作设置主从连接关系。

OK,至此 MySQL 主从也配置完成。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值