基于Docker 实现Mysql主从搭建

目录

1.检查系统的内核版本:

2 搭建步骤:

2.1 从官网下载mysql 镜像

2.5 在宿主机挂载目录中编写配置文件

2.5.2 从Mysql需要的配置文件

3 Mysql主从配置

3.1 主mysql容器查看二进制文件(主机ip 192.168.17.32 )

3.1.1 进到主mysql容器

3.1.2 登录Mysql : mysql -uroot -p123456

3.1.3 主mysql容器查看二进制文件

3.2 从mysql 从角色配置(主机ip 192.168.17.32 )

3.2.1 进到主mysql容器

3.2.2 登录Mysql : mysql -uroot -p123456

3.2.3 从机连接到主机

 3.2.4 关闭从机服务

3.2.5 开启从机服务

3.2.6 展示从机服务状态

4:验证


1.检查系统的内核版本:

docker 要求Linux内核3.10.以上

[root@kcx-yk-k8s-slave02-32 ~]#uname -a
Linux kcx-yk-k8s-slave02-32 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

2 搭建步骤:

2.1 从官网下载mysql 镜像

Docker Hub

基于Docker 实现Mysql主从搭建_第1张图片基于Docker 实现Mysql主从搭建_第2张图片

  2.2 查看 [root@kcx-yk-k8s-slave02-32 ~]#docker images

 2.3 启动主mysql镜像(主机ip 192.168.17.32 )

docker run --name mysql_master3306 -p 3306:3306  -e MYSQL_ROOT_PASSWORD=123456  -v /home/mysql/docker-data/3306/conf:/etc/mysql -v /home/mysql/docker-data/3306/data/:/var/lib/mysql -v /home/mysql/docker-data/3306/logs/:/var/log/mysql -d mysql:5.7.22

2.4 启动从mysql镜像(主机ip 192.168.17.33 )

docker run --name mysql_slave3306 --network=host  -e MYSQL_ROOT_PASSWORD=123456  -v /home/mysql/docker-data/3306/conf:/etc/mysql -v /home/mysql/docker-data/3306/data/:/var/lib/mysql -v /home/mysql/docker-data/3306/logs/:/var/log/mysql -d mysql:5.7.22

2.5 在宿主机挂载目录中编写配置文件

2.5.1 主Mysql需要的配置文件

进到目录:(主机ip 192.168.17.32 )/home/mysql/docker-data/3306/conf

文件名:my.cnf

内容:

[mysqld]

lower_case_table_names=1

server_id=100

log-bin=master-bin

binlog-format=ROW

2.5.2 从Mysql需要的配置文件

进到目录:(主机ip 192.168.17.33 )/home/mysql/docker-data/3306/conf

文件名:my.cnf

内容:

[mysqld]

lower_case_table_names=1 

server_id=101

log-bin=mysql-slave-bin

relay_log=mysql-relay-bin

read_only=1

3 Mysql主从配置

3.1 主mysql容器查看二进制文件(主机ip 192.168.17.32 )

3.1.1 进到主mysql容器

docker exec -it mysql_master3306 bash

3.1.2 登录Mysql : mysql -uroot -p123456

3.1.3 主mysql容器查看二进制文件

mysql>  show master status;

基于Docker 实现Mysql主从搭建_第3张图片

3.2 从mysql 从角色配置(主机ip 192.168.17.32 )

3.2.1 进到主mysql容器

docker exec -it mysql_slave3306 bash

3.2.2 登录Mysql : mysql -uroot -p123456

3.2.3 从机连接到主机

change master to master_host='192.168.17.32',master_user='root',master_password='123456',master_port=3306,master_log_file='master-bin.000001',master_log_pos=154;

 3.2.4 关闭从机服务

mysql> stop slave;

3.2.5 开启从机服务

mysql> start slave;

3.2.6 展示从机服务状态

mysql> show slave status \G;

基于Docker 实现Mysql主从搭建_第4张图片

必须看到这两项全为yes才配置成功

4:验证

在主机中新建数据库,查看从机是否实时更新过来。

基于Docker 实现Mysql主从搭建_第5张图片

你可能感兴趣的:(安全监测系统,docker,mysql,linux)