1 安装docker
执行命令
yum install docker
此处按y即可
输入该命令查看是否下载成功
docker version
显示版本号及说明docker下载成功
1.2 启动Docker
systemctl start docker.service #启动服务
1.3 安装MySQL
docker search mysql:从远程仓库搜索mysql软件
使用Docker拉取MySQL镜像
docker pull mysql:5.7.13
1.4 设置mysql主容器master
docker run --name master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.13
1.6 检验是否启动成功
docker ps -a 查看已经创建的容器
如图上容器名为master
docker start 容器名字 启动mysql主容器
开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
去软件中连接主机mysql
输入sql语句复制用户
这个为sql语句
GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by 'backup';
show grants for 'backup'@'%';
当显示如下图时则表示授权成功!
1.7 创建主容器的复制账号
创建一主两从的文件夹便于修改文件
/usr/local/mysql/master
/usr/local/mysql/slave1
/usr/local/mysql/slave2
结构如上
使用touch命令创建文件夹
拷贝文件到新创的文件之中
docker cp master:/etc/mysql/my.cnf /usr/mysql/master/my.cnf
进到master目录下,修改my.cnf
修改my.cnf,在 [mysqld] 节点最后加上后保存
log-bin=mysql-bin
server-id=1
再覆盖之前的my.cnf文件
docker cp /usr/mysql/master/my.cnf master:/etc/mysql/my.cnf
重启 mysql 的docker , 让配置生效
docker restart master
1.8 运行MySQL从容器slave1
首先运行从容器slave1
docker run --name slave1 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.13
开放3307端口
firewall-cmd --zone=public --add-port=3307/tcp --permanent
firewall-cmd --reload
拷贝文件到新创的文件之中
docker cp slave1:/etc/mysql/my.cnf /usr/mysql/slave1/my.cnf
进到master目录下,修改my.cnf
修改my.cnf,在 [mysqld] 节点最后加上后保存
log-bin=mysql-bin
server-id=2
再覆盖之前的my.cnf文件
docker cp /usr/mysql/slave1/my.cnf slave1:/etc/mysql/my.cnf
重启 mysql 的docker , 让配置生效
docker restart slave1
1.9 运行MySQL从容器slave2
首先运行从容器slave1
docker run --name slave2 -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.13
开放3307端口
firewall-cmd --zone=public --add-port=3308/tcp --permanent
firewall-cmd --reload
拷贝文件到新创的文件之中
docker cp slave2:/etc/mysql/my.cnf /usr/mysql/slave2/my.cnf
进到master目录下,修改my.cnf
修改my.cnf,在 [mysqld] 节点最后加上后保存
log-bin=mysql-bin
server-id=3
再覆盖之前的my.cnf文件
docker cp /usr/mysql/slave2/my.cnf slave2:/etc/mysql/my.cnf
重启 mysql 的docker , 让配置生效
docker restart slave2
1.10 配置主从复制
连接三个数据库
在两个从服务器中输入
CHANGE MASTER TO
MASTER_HOST='192.168.200.130',
MASTER_PORT=3306,
MASTER_USER='backup',
MASTER_PASSWORD='backup';
测试是否配置成功
show slave status;
成功后显示如图
如果失败则输入该命令
stop slave ;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave ;
再次输入show slave status查看数据是否正确,如果正确则可以开始测试mysql一主多重是否搭建成功
1.11 测试主从复制
首先在主mysql数据库中建立一个新的数据库
刷新后看数据是否同步
最后在数据库中添加表和数据刷新后看数据是否同步如果 同步则表示搭建成功