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)

原文地址:https://www.cnblogs.com/anlegou/p/10711489.html

时间: 2024-11-20 21:16:23

docker上配置mysql主从复制的相关文章

使用docker配置mysql主从复制

MySQL的主从复制之前也没做过,刚百度了下发现并不算难,但同时开两个虚机挺麻烦,于是我就想到了使用docker来配置MySQL主从复制. 环境:docker,centos,MySQL镜像,这里我直接pull了一个镜像 运行一个master容器 docker run -d --name master -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root mysql docker ps -a 这里将master容器的3306端口映射给主机的3307端口,-e代表设置环境

docker下配置mysql 主从

本机docker下配置mysql主从 首先安装docker mysql容器 $ docker pull mysql:5.6 拉取两个相同版本mysql 分别启动mysql 并设置root用户密码为admin: //主mysql docker run -d -e MYSQL_ROOT_PASSWORD=admin --name mysql-master -v /Volumes/docker/mysql/my-m.cnf:/etc/mysql/my.cnf -p 3307:3306 mysql:5.

配置MySQL主从复制报错Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work

配置MySQL主从复制报错 Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this do

Docker实战之MySQL主从复制

前言 曾几何时,看着高大上的架构和各位前辈高超的炫技,有没有怦然心动,也想一窥究竟?每当面试的时候,拿着单应用的架构,吹着分库分表的牛X,有没有心里慌的一批? 其实很多时候,我们所缺少的只是对高大上的技术的演练.没有相关的业务需求,没有集群环境,然后便只是Google几篇博文,看下原理,便算是了解了.然而真的明白了吗?众多的复制粘贴中,那篇文章才对我们有用,哪些又是以讹传讹? 所幸容器技术的快速发展,让各种技术的模拟成为现实.接下来Docker相关的一系列文章,将以实战为主,帮助大家快速搭建测试

配置MySQL主从复制

说明 MySQL版本为5.6.26 安装MySQL步骤就省略了. MySQL主从复制注意点 1.在master端要启用binlog日志.slave端不用启用binlog日志 2.master和slave的server-id要不一样 主从my.cnf配置的区别 不列出server-id了,设置不同即可.主要是[mysqld]区域的 不同 master log-bin                         =/data/mysql_log/mysql-bin expire-logs-day

在CentOS7上搭建MySQL主从复制与读写分离

MySQL主从复制原理 MySQL的主从复制和MySQL的读写分离两者有着紧密联系,首先要部署主从复制,只有主从复制完成了,才能在此基础上进行数据的读写分离. (1)MySQL支持复制的类型. 1)基于语句的复制.MySQL默认采用基于语句的复制,效率比较高. 2)基于行的复制.把改变的内容复制过去,而不是把命令在从服务器上执行一遍. 3)混合类型的复制.默认采用基于语句的复制,一旦发现基于语句无法精确复制时,就会采用基于行的复制. (2)MySQL复制的工作过程如图所示.1)在每个事务更新数据

利用docker镜像配置mysql集群+nextcloud集群+haproxy负载均衡

测试环境: docker xampp 9.1.1 ubuntu 16.0.4 hadoop 2.7 jdk 1.8 一.配置mysql集群 通过docker拉取mysql集群镜像创建容器,包括ndb_mgm(管理节点).ndb_mgmd01.ndbd01(数据节点1).ndbd02(数据节点2).mysqld01(sql节点1).mysqld02(sql节点2) docker run -itd --name ndb_mgmd01 --net=scg --ip 192.166.0.2 -v /ro

如何利用docker快速构建MySQL主从复制环境

在学习MySQL的过程中,常常会测试各种参数的作用.这时候,就需要快速构建出MySQL实例,甚至主从. 考虑如下场景: 譬如我想测试mysqldump在指定--single-transaction参数的情况下,对于myisam表的影响. 本来想在现成的测试环境中进行,但测试环境中,有大量的数据,执行mysqldump进行全备,产生的SQL文件,很难基于表进行搜索. 这个时候,就特别渴望能有一套干净的实例进行测试. 此刻,快速构建能力就显得尤为必要,很多童鞋可能会问,通过脚本不就能实现么?为什么要

codeblocks上配置mysql数据库

最近接触分词,用c语言更快,所以.... codeblocks下载:http://www.codeblocks.org/downloads/26 如果没有配置mingw可以下载以下两个: codeblocks-13.12mingw-setup.exe codeblocks-13.12mingw-setup-TDM-GCC-481.exe 我本地安装了所以下载了: codeblocks-13.12-setup.exe 上面都是windows配置,我用的是windows8 不想多说,直接配置上图片: