通过介绍docker,学习主从复制可以节省资源,了解其原理。。。
这在生产环境中是不可能发生的!!!
用docker拉MySQL图片Docker拉mysql:5.7
参见镜像docker图像
启动MySQL主从容器:
docker run -p 3302:3306 --name MYSQL -master -e MYSQL _ ROOT _ PASSWORD = 123456 -d MYSQL:5.7 slave:
docker run -p 3303:3306 --name MYSQL -slave -e MYSQL _ ROOT _ PASSWORD = 123456 -d MYSQL:5.7
主配置使用以下命令进入主容器,使用容器ID或名称:
docker exec -it MySQL -master/bin/bash//MySQL -master将以下内容添加到容器名称的配置文件中:
记住文件和位置,你以后会需要它们。此时不要操作主库,否则会引起主状态的改变,文件和位置字段也会改变。
进入从库myslq客户端,执行以下命令:
将master改为master_host='172.17.0.2 ',master_user='slave ',master_password='123456 ',master_port=3306,master _ log _ file = ' master -bin . 000001 ',master_log_pos=617,master _ connect _ retry = 30命令描述:
Master_host:主库的主地址是指容器的独立ip,可以通过
docker inspect --format = & # 39;{ { . network settings . IP address } } & # 39;容器名称|容器id查询要查询的容器的IP。
master _ port:master的端口号,指容器的端口号。
Master_user:用于数据同步的用户
Master_password:用于同步的用户的密码。
Master_log_File:指定Slave从中复制数据的日志文件,即上面提到的File字段的值。
Master_log_pos:从哪个位置开始读取,也就是前面提到的Position字段的值。
Master_connect_retry:如果连接失败,重试间隔(秒)默认为60秒。
在从站的mysql终端中执行show Slave status \ g;用于查看主从同步状态。
Slave_IO_Running和Slave_SQL_Running是检查主设备和从设备是否运行的关键字段。默认值为NO,表示不复制主服务器和从服务器。
使用启动从机;启动主-从复制过程,然后查询主-从同步状态再次显示从状态\ g
Slave_IO_Running和Slave_SQL_Running都是Yes,表示主从复制已经开启。此时,您可以测试数据同步是否成功。
成功同步主从副本成功!!!
关于Docker MySQ主从复制原理的这篇文章就到这里了。关于Docker MySQ主从复制的更多信息,请搜索主机频道zhujipindao之前的文章。或者继续浏览下面的相关文章。希望大家支持主机频道zhujipindao。以后多来com!
评论前必须登录!
注册