使用docket搭建本地mysql主从

使用docket搭建本地mysql主从
基于docker实现mysql主从
mysql主从搭建步骤
基于docker实现mysql主从
docker现在越来越火,在项目开发中使用docker布置环境的也越来越多,相比传统的环境搭建也更方便快捷,容易实现。
这里就简单粗暴的开始搭建mysql主从了(了解docker基本命令)

mysql主从搭建步骤
使用docker实现mysql主从主要分为以下几步,轻轻松松实现mysql主从。

通过官网dockerhub官网拉取指定版本的mysql镜像,这里我使用mysql5.7的版本
docker pull mysql:5.7

运行mysql容器,要实现mysql主从,这里我们执行俩次运行容器命令,在这里我们分别用本地3306和3307端口映射主、从容器内的端口3306
docker run --name master-mysql -p 3306:3306 -d cd3ed0dfff7e

docker run --name slave-mysql -p 3307:3306 -d cd3ed0dfff7e

进入mysql容器内,在mysqld.cnf中追加如下配置。
配置server-id、开启binlog、配置不需要同步的数据库、设置bin-log过期时间
master-mysql:
server-id=1
log-bin=mysql-bin
binlog-ignore-db=mysql
expire-logs-days=2

slave-mysql:

server-id=2
log-bin=mysql-bin
log-slave-updates=1
binlog-ignore-db=mysql
expire-logs-days=2

为从容器配置可复制权限的账号
首先通过以下命令获取slave-mysql的ip地址,“IPAddress”:“IP”
docker inspect slave-mysql

在master-mysql容器内为从库配置账号(标黄分别是配置的账号、IP、密码)
黄1:账号
黄2:slave-mysqlIP地址
黄3:密码

GRANT REPLICATION SLAVE ON . to ‘slave’@‘172.17.0.4’ identified by ‘123456’;

通过以下命令获取master容器的bin-log日志

show master status

在slave-mysql容器中通过如下命令连接master-mysql容器
首先通过以下命令获取master-mysql的ip地址,“IPAddress”:“IP”
docker inspect master-mysql

通过如下命令连接master-mysql
黄1:master-mysqlIP地址
黄2:第4步配置的账号
黄3:第4步配置的密码
黄4:第4步通过show master status获取的“File”值
黄5:第4步通过show master status获取的“Position”值

change master to master_host='172.17.0.3’,master_user=‘slave’,master_password=‘123456’,master_log_file=‘mysql-bin.000001’,master_log_pos=600;

开启从库IO、SQL线程

start slave;

查看slave-mysql容器内IO、SQL线程是否开启;
show slave status

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

至此,docker mysql主从搭建完成。

原文地址:https://www.cnblogs.com/hzcya1995/p/13300677.html