docker上配置mysql主从复制

Posted 栖梧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker上配置mysql主从复制相关的知识,希望对你有一定的参考价值。

1.在docker上启动2台mysql容器:(这里3306为主,3307为从)

docker run -d  -e MYSQL_ROOT_PASSWORD=123456  -p 3306:3306 --name 镜像id

 

2.配置主的mysql:

1)进入主容器:

docker exec -it 主容器ID  /bin/bash

cd etc/mysql/

2)安装vim命令

apt-get update

apt-get install vim

3)编辑my.cnf,在结尾添加:3行(vim my.cnf,按insert,添加完毕,shitf+:+wq保存)

[mysqld]

server-id=100
log-bin=mysql-bin

 4)重启容器:

service mysql restart

ctrl+d 退出

docker start 主容器id

5)进入容器,创建从用户,登录主mysql的账号:

docker exec -it 主容器ID  /bin/bash

mysql -u root -p

输入密码

然后填写下面两句:

CREATE USER \'slave\'@\'%\' IDENTIFIED BY \'123456\';

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO \'slave\'@\'%\';

3.配置从mysql

进入从mysql容器,同上修改从容器的my.cnf

 进入主mysql,输入show master status;

在docker中查看mysql的Master的地址:docker inspect --format=\'{{.NetworkSettings.IPAddress}}\' 容器id

 进入从mysql,配置主从的连接:

1.stop slave;

2.change master to master_host=\'172.17.0.3\', master_user=\'slave\', master_password=\'123456\', master_port=3306, master_log_file=\'mysql-bin.000001\', master_log_pos= 2519, master_connect_retry=30;

3.start slave;

在从mysql查看状态为下图,则配置成功:

4.测试:在主mysql建立数据库,修改字段等,从mysql会有相同反应则成功了。

总结:主从复制主要通过二进制文件来实现

主mysql配置:1.my.cnf 2.创建从用户登录的账号和密码

从mysql配置:1.my.cnf 2.建立主从之间的连接的slave

参考:(https://www.cnblogs.com/songwenjie/p/9371422.html,http://blog.chinaunix.net/uid-24426415-id-77316.html)

以上是关于docker上配置mysql主从复制的主要内容,如果未能解决你的问题,请参考以下文章

docker 配置mysql8主从复制出现的问题

使用docker配置mysql主从复制

基于Docker的Mysql主从复制搭建

基于Docker的Mysql主从复制搭建

《MySQL系列-主从相关》Docker安装MySQL,实现主从复制

Docker 从入门到进阶五:于 Docker 上部署 MySQL 主从