docker安装:(转载)centos7安装Docker详细步骤(无坑版教程)-CSDN博客
主数据库服务器:192.168.1.10
从数据库服务器:192.168.1.11
docker pull mysql:8.0.23
2.1在主数据库上创建docker容器
docker run -d --name mainer -p 8008:3306 -e MYSQL_ROOT_PASSWORD=root
--net=host mysql:8.0.23
参数说明
--name 容器名称
-p 8008:3306 端口映射
-e MYSQL_ROOT_PASSWORD=root 指定root账户密码
--net=host 设置与宿主机公用一个网络
2.2在从数据库上创建docker容器
docker run -d --name follower -p 8008:3306 -e MYSQL_ROOT_PASSWORD=root
--net=host mysql:8.0.23
将容器中的mysql配置文件my.cnf复制到宿主机
docker cp 容器id:/etc/mysql/my.cnf ./
===========================================
vim my.cnf
在[mysqld]加上下面两行
log-bin=mysql-bin
server-id=1
===========================================
将编辑好的my.cnf配置文件放回容器中
docker cp ./my.cnf 容器id:/etc/mysql
重启mysql主容器
docker restart 容器id
除了server-id=2为之外,其他的步骤跟主数据库一样。
docker exec -it mainer /bin/bash
mysql -u root -p
进入mysql,执行以下命令:
CREATE USER 'ganing'@'%' IDENTIFIED WITH mysql_native_password BY 'ganing';
GRANT REPLICATION SLAVE ON *.* TO 'ganing'@'%';
# 刷新
flush privileges;
# 查看主节点同步状态:
show master status;
docker exec -it 容器id /bin/bash
mysql -u root -p
关联主数据库 192.168.1.10 主数据库地址
CHANGE REPLICATION SOURCE TO
SOURCE_HOST='192.168.1.10',
SOURCE_PORT=3306,
SOURCE_USER='ganjing',
SOURCE_PASSWORD='ganjing';
mysql> START REPLICA;
mysql> SHOW REPLICA STATUS\G //查看主从状态
SHOW REPLICA STATUS\G //查看主从状态?
当出现红框中都为YES时,则表示搭建成功。
create database test default charset utf8mb4;
show databases;