目录
3.1 主mysql容器查看二进制文件(主机ip 192.168.17.32 )
3.1.2 登录Mysql : mysql -uroot -p123456
3.2 从mysql 从角色配置(主机ip 192.168.17.32 )
3.2.2 登录Mysql : mysql -uroot -p123456
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 镜像
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;
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;
必须看到这两项全为yes才配置成功
4:验证
在主机中新建数据库,查看从机是否实时更新过来。