docker下MySQL的主从复制
MySql的主从复制
sudo docker pull MySQL:5.7 拉取MySQL的镜像文件(版本号为 5.7)
sudo docker run -p 3339:3306 --name master -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 主数据库
sudo docker run -p 3340:3306 --name slave -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 从数据库
执行完 俩个命令 创建的容器默认启动
docker ps 查看当前正在运行的 容器
docker exec -it master bash 进入master容器
cd etc/mysql 切换到 MySQL所在的路径
vi my.cnf 对my.cnf 进行编辑 可能会报错 原因是 没有 容器本身没有安装 vim
安装 vim
apt-get update
apt-get install vim
安装成功后 vim my.cnf
对文件进行编辑
[mysqld]
## 同一局域网内注意要唯一
server-id=100
## 开启二进制日志功能
log-bin=mysql-bin
配置完成后需要重新启动容器 service mysql restart
重启mysql服务时会使得docker容器停止,我们还需要docker start master启动容器。
重启之后 再次进入容器
mysql -uroot -p123456
进入数据库服务
mysql> CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
创建用来同步的用户,并且给用户添加俩个权限 用来主从库之间的同步
mysql> show master status; 查看 master的状态
记住 file 下的文件名字 Position 位置
退出 master 容器
docker exec -it slave bash 进入slave所组织容器
cd etc/mysql 切换到 MySQL所在的路径
vi my.cnf 对my.cnf 进行编辑 可能会报错 原因是 没有 容器本身没有安装 vim
安装 vim
apt-get update
apt-get install vim
安装成功后 vim my.cnf
对文件进行编辑
[mysqld]
## 设置server_id,注意要唯一
server-id=101
## 开启二进制日志功能,以备Slave作为其它Slave的Master时使用
log-bin=mysql-slave-bin
## relay_log配置中继日志
relay_log=edu-mysql-relay-bin
配置完成后需要重新启动容器 service mysql restart
重启mysql服务时会使得docker容器停止,我们还需要docker start master启动容器。
重启之后 再次进入容器
mysql -uroot -p123456
mysql> change master to master_host='master容器的ip', master_user='master容器中创建的用于主从同步的用户', master_password='账户的密码', master_port=3306, master_log_file='master下查看的file', master_log_pos= Position文件位置, master_connect_retry=30;
执行完之后
mysql>show slave status \G; 查看主从同步状态
Slave_IO_Running:NO
Slave_SQL_Running:NO
还未开启主从复制状态
mysql> start slave;
再次查看状态
mysql>show slave status \G;
Slave_IO_Running:YES
Slave_SQL_Running:YES
即为开启主从复制 成功
若依然为NO 可尝试 先exit 退出MySQL服务 然后 mysql -uslave -p123456 -h127.17.0.2
先使用master中设置的,用于主从同步的用户
启动mysql服务后 exit
再次 使用默认用户 mysql -uroot -p123456 启动mysql服务
mysql>stop slave;
mysql>start slave;
mysql>show slave status \G; 再次查看状态
俩个全为YES 主从复制即为成功
docker下MySQL的主从复制的更多相关文章
- Docker 下 mysql 简单的 主从复制实现
1. 拉取镜像 docker pull mysql: 2. 运行这个镜像 docker run -d --name maser mysql: 3. 安装一些必要的软件 docker exec -it ...
- docker 下mysql 和postgresql 数据库的搭建以及数据文件的迁移和备份
service docker start - docker 启动 service docker stop - docker 关闭 1.docker 镜像创建—使用的默认镜像有数据卷 docker pu ...
- Docker下mysql容器开启binlog日志(保留7天)
现有需求开启用Docker容器启动的mysql数据库的binlog,以作为 日志记录 和 数据恢复,我们了解了MySQL的binlog日志的开启方式以及binlog日志的一些原理和常用操作,我们知道, ...
- 修改docker下mysql配置
1.在/home/smile/docker/mysql/config/目录下增加一个文件 my.cnf # Copyright (c) , Oracle and/or its affiliates. ...
- Docker下MySQL的安装
1 概述 本文讲述了如何利用Docker去安装MySQL,以及MySQL自定义配置文件的相关设置. 2 安装Docker 首先安装Docker并开启服务: systemctl start docker ...
- docker下MySQL镜像的使用方法
预习: 使用到的docker命令: docker images 显示本地有的镜像 docker pull +镜像名称 从docker hub上面拉取镜像 docker run --nam ...
- centos6下mysql的主从复制的配置
2015年9月17日 23:00:36 update 想要好好了解mysql复制,还是去看看<高性能MySQL>(第三版)好了,上面说的比较详细. =========== 在本地用virt ...
- Linux下mysql的主从复制配置
1.准备两台数据库环境,或者单台多实例环境,能正常启动和登录. 数据库的安装和多实例配置请参考https://www.cnblogs.com/qiuhom-1874/p/9757061.html. 2 ...
- docker 下 mysql 集群的搭建
下载程序&&创建docker容器 从mysql官网https://dev.mysql.com/downloads/cluster/上下载mysql集群库mysql-cluster-gp ...
随机推荐
- Redis 命令执行过程(下)
在上一篇文章中<Redis 命令执行过程(上)>中,我们首先了解 Redis 命令执行的整体流程,然后细致分析了从 Redis 启动到建立 socket 连接,再到读取 socket 数据 ...
- Open-Pit Mining
Description Open-pit mining is a surface mining technique of extracting rock or minerals from the ea ...
- Python文件头注释的含义,你肯定不懂
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:冰火梦幻 本文档描述了Python语言文件头里典型注释的含义. 1. ...
- 如何在Ubuntu上给软件创建快捷方式
特殊方法:在搜索栏搜索程序 然后在快捷栏 反键 锁定在启动器 默认情况下,Ubuntu会将自动安装的软件快捷方式保存在/usr/share/applications目录下,如果我们要创建桌面 ...
- Vue中使用iconfont
学习博客:https://www.imooc.com/article/33597?block_id=tuijian_wz
- 《Java基础知识》Java正则表达式
正则表达式定义了字符串的模式. 正则表达式可以用来搜索.编辑或处理文本. 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别. 正则表达式实例 一个字符串其实就是一个简单的正则表达式,例如 ...
- GTC 2019参会整理
NVIDIA GTC 2019在苏州金湖国际会议中心举行,由于同事有其他会议冲突,所以我代替他来参加了此次会议.作为刚接触GPU和机器学习不久的新人来说,感觉进入了一个新世界,深刻体验到技术的革新迭代 ...
- Docker 以及 docker-compose 的部署
Docker部署 方式一 #下载软件源 wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.ustc.edu.cn/docker-ce/li ...
- Spring与Shiro整合 静态注解授权
Spring与Shiro整合 静态注解授权 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 使用Shiro的种类 首先,Shiro的授权方式共有三种: 1.编程式授权(不推荐) 2. ...
- supervisor 相关命令
今天重新使用 supervisor 相关命令的时候,发现已经忘了,下面重新进行记录一下,进行备忘: supervisorctl restart <application name> ; 重 ...