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主从复制的主要内容,如果未能解决你的问题,请参考以下文章