Docker 安装mysql主从

docker安装mysql并设置主从

1.centos7安装docker

查看CentOS版本

lsb_release -a

 

  • 1

Docker 安装mysql主从-资灵

确保yum为最新的版本,如果登录的账号不是root用户,那么可能需要输入密码

sudo yum update

 

  • 1

查看是否已经安装了docker

yum list installed | grep docker

 

  • 1

安装docker

yum -y install docker

 

  • 1

-y代表不询问进行安装

安装完毕后启动docker

systemctl start docker

 

  • 1

查看docker启动状态

systemctl status docker

 

  • 1

Docker 安装mysql主从-资灵

至此,docker安装结束

设置docker开机启动

systemctl enable docker.service

 

  • 1

2.使用docker安装mysql

使用阿里云镜像加速器下载镜像

登录阿里云-容器镜像服务-镜像中心-镜像加速器

Docker 安装mysql主从-资灵

此处阿里云提供了详细的操作方法,这样以后下载镜像的时候可以默认使用加速器,除此之外,还可以创建镜像仓库,拉取镜像的时候可以填写自己的镜像地址来进行拉取,也可以起到加速效果

创建mysql外部映射文件

在开始创建mysql容器之前,我们最好先把mysql的配置映射文件创建好,这样容器启动之后可以直接在宿主机中修改配置,而不需要进入到容器内部来修改配置了

# mysql主机data文件存放地址
mkdir -p /etc/docker/mysql/data/master
# mysql从机data文件存放地址
mkdir -p /etc/docker/mysql/data/master
# mysql主机配置文件存放地址
mkdir -p /etc/docker/mysql/master
# mysql从机配置文件存放地址
mkdir -p /etc/docker/mysql/master

 

Docker 安装mysql主从-资灵

创建完成之后,修改mysql配置,开启binlog并设置节点编号

# 进入到mysql主机配置文件存放地
cd /etc/docker/mysql/master
# 创建配置文件
vi my.cnf
# 进入编辑模式,修改配置
[mysqld]
log-bin = mysql-bin
server-id = 999

 

  • 以上:
log-bin = mysql-bin    开启binlog

server-id = 999            节点编号,主从节点的编号不允许重复,数字可以随意设置

 

同样的操作,修改mysql从机的配置

# 进入到mysql从机配置文件存放地
cd /etc/docker/mysql/slave
# 创建配置文件
vi my.cnf
# 进入编辑模式,修改配置
[mysqld]
log-bin = mysql-bin
server-id = 1

 

修改完成之后就可以准备创建mysql容器了

创建mysql主从容器

# 创建master容器
docker create --name master 
-v /etc/docker/mysql/data/master:/var/lib/mysql 
-v /etc/docker/mysql/master:/etc/mysql/conf.d 
-e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:5.7

# 启动master容器
docker start master

# 创建slave容器
docker create --name slave 
-v /etc/docker/mysql/data/slave:/var/lib/mysql 
-v /etc/docker/mysql/slave:/etc/mysql/conf.d 
-e MYSQL_ROOT_PASSWORD=root -p 3307:3306 mysql:5.7

# 启动slave容器
docker start slave

 

  • 启动完成后,可以使用docker ps查看容器的启动情况

Docker 安装mysql主从-资灵

说明容器启动完毕,进入容器查看master节点状态

# 进入容器
docker exec -it master /bin/bash

Docker 安装mysql主从-资灵

# 链接mysql
mysql -uroot -p
# 指定ip
mysql>GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.99.100' IDENTIFIED BY 'mysql';
# 所有ip
mysql>GRANT REPLICATION SLAVE ON *.* to 'root'@'%' identified by 'mysql';
  • 然后查看主容器数据库状态
mysql> show master status;

Docker 安装mysql主从-资灵
记录一下这里的File和Position,在后面配置从机的时候需要用到

接着退出容器,或者新开一个链接窗口使用docker ps查看运行容器,然后使用

# 查看容器ip地址
docker inspect 容器id | grep IPAddress

Docker 安装mysql主从-资灵

同样记录下主机的ip地址,在后面配置中需要用到

配置mysql从机

进入到从机容器中

docker exec -it slave /bin/bash

 

  • 1
# 配置链接的主机参数
mysql>change master to master_host='172.17.0.5',master_user='root',master_password='aabbccdd',master_port=3306,master_log_file='mysql-bin.000004',master_log_pos=52215703,master_connect_retry=30;
# master_host:主机的ip
# master_user:主机用户名
# master_log_file:记录的File地址
# master_log_pos:记录的postion地址
# master_port:主机的端口
# master_password:主机的登录密码

 

  • # 启动slave
mysql> start slave;

# 查看主从链接状态
mysql> show slave status;

 

Docker 安装mysql主从-资灵

此时看到两个YES,说明配置完成

温馨提示: 本文最后更新于2022-04-12 11:57:19,本站资源部分来自网络,由老师收集整理,如有侵犯你的权益请联系管理员E-mail:1679716715@qq.com 我们会第一时间进行审核删除。站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!,请在下方 留言或联系 资灵
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容

投稿


点击在线投稿
投稿邮箱:1679716715@qq.com
交流 QQ:1679716715