使用Docker搭建MySQL服务(一主一从)

1 安装docker
yum -y install docker*
2 拉去mysql镜像
docker pull mysql:5.7 (5.7版本是我常用的,可以选择其他版本)
docker images 查看安装好的镜像
3 创建docker网络组为
docker network create -d bridge mysql-net
docker network ls 查看
4 创建并启动容器
docker run --name mysql-slave -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root --network mysql-net -d mysql:5.7
docker run --name mysql-master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --network mysql-net -d mysql:5.7
–name 指定容器名称
-e 执行mysql默认root密码
–network 指定第三步创建的网络组
-p 3307:3306 本地3307映射到docker容器3306端口
5 修改mysql数据库开启binlog
主从都要修改
docker exec -it mysql-master /bin/bash
docker exec -it mysql-slave /bin/bash
#vim /etc/mysql/my.cnf (先备份)
加入,server-id=1 这个主从要写成不一致 主1从2等
[mysqld]
log-bin=mysql-bin
server-id=1
ps:vim 命令没有使用apt-get update && apt-get install vim
想安装其他名先百度下命令对应包名。如ping 对应为iputils-ping
所以安装命令为apt-get install iputils-ping
如果懒得不想安装那请使用
docker cp my.cnf mysql-master:/etc/mysql/my.cnf
6 修改主从库
主库
docker exec -it mysql-master /bin/bash
mysql -uroot -p root
grant replication slave on . to ‘bankup’@’%’ identified by ‘bankup’;
show grants for ‘bankup’@’%’;
从库
docker exec -it mysql-slave /bin/bash
mysql -uroot -p root
change master to master_host=‘mysql-master’,master_port=3306,master_user=‘bankup’,master_password=‘bankup’;
执行完看下状态
show slave status;使用Docker搭建MySQL服务(一主一从)
到这据说没没问题了
7 验证
使用Docker搭建MySQL服务(一主一从)