使用laradock配置mysql主从同步

主从原理

laradock配置主从
- 在laradock 目录下创建
mysql2作为slave库
├── mysql //laradock 自带的目录 我们用它作为master
│ ├── Dockerfile
│ ├── docker-entrypoint-initdb.d
│ │ └── createdb.sql.example
│ └── my.cnf
├── mysql2 //新建的slave库配置
│ ├── Dockerfile
│ ├── docker-entrypoint-initdb.d
│ │ └── createdb.sql.example
│ └── my.cnf
- 在mysql和mysql2目录中的my.cnf分别添加
- mysql的my.cnf文件
log-bin=mysql-bin //启用二进制日志
server-id=1 //服务器标识
mysql2的my.cnf文件
log-bin=mysql-bin
server-id=2
调整 docker-compose.yml文件搜索mysql 我们可以看到一下这段配置
新增slavedockerfile配置
### MySQL ################################################
mysql2:
build: context: ./mysql2 //调整应用主目录
args:
- MYSQL_VERSION=${MYSQL_VERSION}
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- TZ=${WORKSPACE_TIMEZONE}
volumes:
- ${DATA_PATH_HOST}/mysql:/var/lib/mysql2 //调整映射目录
- ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
ports:
- "3307:3306" //我们只调整这一步 映射宿主机端口3307
networks:
- backend
调整好后,我们启动(mysql2)slave数据库,并启动(mysql)master数据库
$ docker-compose build mysql2
$ docker-compose up -d mysql mysql2
分别进入master、salve库
$ docker-compose exec mysql bash
$ docker-compose exec mysql2 bash
进入mysql 使用show master status;查看mysql状态。
mysql -uroot -proot
show master status;
主库的配置,从库连接时需要使用。
进入从库配置
192.168.135.211 为宿主机ip。mac下使用
ifconfig | grep "inet"。windows 使用ipconfig查看。
mysql> change master to
-> master_host='192.168.135.211',
-> master_user='root',
-> master_log_file='mysql-bin.000005',
-> master_log_pos=154,
-> master_password='root';
Query OK, 0 rows affected, 2 warnings (0.01 sec)
mysql> start slave;
Query OK, 0 rows affected (0.01 sec)
show slave status\G; //查看连接状态
Slave_IO_Running和Slave_SQL_Running参数 为YES 说明配置成功。重置配置使用stop slave命令

开始测试(测试前记得重启容器)。

随便插个表。
CREATE TABLE `users` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`email_verified_at` timestamp NULL DEFAULT NULL,
`password` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `users_email_unique` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=66 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
如下所示成功。

- 参考文章MYSQL主从配置详细
使用laradock配置mysql主从同步的更多相关文章
- WinServer配置MySQL主从同步
为什么要配置主从同步? 如果一台数据库服务器挂了,还有一个备用 为了方便配置,我采用两台WinServer2003虚拟机: 1.前期准备工作:安装好镜像文件,VMTOOLS,MySQL5.5 我这里以 ...
- CentOS6.5配置MySQL主从同步
原文地址:http://www.cnblogs.com/zhongshengzhen/ 修改主MySQL的配置 [root@localhost etc] vi /etc/my.cnf 添加以下配置 ...
- Window 10 单机配置MYSQL主从同步
Master数据库:127.0.0.1:3306 Slave数据库:127.0.0.1:3307 Master操作 修改ini信息 Master MYSQL安装目录下,找到my.ini,在[mysql ...
- 部署mysql主从同步
mysql-day06 部署mysql主从同步 案例拓扑 • 一主.一从 – 单向复制时,建议将 ...
- Linux下MySQL主从同步配置
Centos6.5 MySQL主从同步 MySQL版本5.6.25 主服务器:centos6.5 IP:192.168.1.101 从服务器:centos6.5 IP:192.168.1.102 一. ...
- mysql主从同步配置(windows环境)
mysql主从同步配置(mysql5.5,windows环境) A主机(作为主服务器)环境:windows8.mysql5.5 ip:192.168.1.100(自己填) B主机(作为从服务器,由 ...
- Docker Mysql主从同步配置搭建
Docker Mysql主从同步配置搭建 建立目录 在虚拟机中建立目录,例如路径/home/mysql/master/data,目录结构如下: Linux中 新建文件夹命令:mkdir 文件夹名 返回 ...
- Mysql主从同步在线实施步骤【适合大数据库从库配置】
Mysql主从同步在线实施步骤[适合大数据库从库配置] MySQL的主从搭建大家有很多种方式,传统的mysqldump方式是很多人的选择之一,但比较适合在新实例中实施,对于较大的数据库则存在停机等不可 ...
- mysql 主从 同步原理及配置
一.在mssql 里头实现同步镜像,只能主库用而镜像库不能同时用,而mysql 主从同步可以实现 数据库的读写分离,主库负责 update insert delete ,从库负责select 这样一来 ...
- Mysql主从同步配置方案(Centos7)
最近在做项目高可用时,需要使用数据同步.由于只有双节点,且采用主主同步可能存在循环同步的风险,故综合考虑采用Mysql主从同步(Master-Slave同步). 可能没有接触过Mysql数据同步时,可 ...
随机推荐
- 【Ubuntu】在Ubuntu上安装IDEA
[Ubuntu]在Ubuntu上安装IDEA 零.前言 最近换了Ubuntu系统,但是还得是要写代码,这样就不可避免地用到IDEA,接下来介绍一下如何在Ubuntu上安装IDEA. 壹.下载 这一步应 ...
- 垂直模型和AI Workflow是开AGI的历史倒车
提供AI咨询+AI项目陪跑服务,有需要回复1 RL 之父 Rich Sutton在 2019 年的文章<苦涩的教训>中指出: 70 年的 AI 研究历史告诉我们一个最重要的道理:依靠纯粹算 ...
- Python 潮流周刊#98:t-string 语法被正式接纳了(摘要)
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...
- Flex布局教程:语法篇--css中的display:Flex
先用一句话秒懂display:Flex;这句css代码,如图: 放个目录先: 目录 一.Flex布局是什么? 二.基本概念 三.容器的属性 3.1 flex-direction属性(主轴的方向) 3. ...
- WebSocket连接
启动类增加注解并进行Bean注入 @EnableWebSocket @Bean public ServerEndpointExporter serverEndpointExporter() { ret ...
- CentOS安装msf
cd /opt curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/met ...
- Sentinel——系统规则(系统自适应保护)
目录 系统自适应保护 系统规则 系统自适应保护 Sentinel 系统自适应保护从整体维度对应用入口流量进行控制,结合应用的 Load.总体平均 RT.入口 QPS 和线程数等几个维度的监控指标,让系 ...
- 雷总小米十周年演讲---国外友人评价第一次看到MIUI系统
雷总在小米十周年演讲时提到的当时讨论MIUI系统的帖子 xdadevelopers论坛 https://forum.xda-developers.com/showthread.php?t=787877 ...
- 如何用IDEA 生成JavaDoc新版
用IDEA生成JavaDoc 左上角四横杠点击,唤出工具栏(快捷键 alt+\) 左键单击工具选项 下拉框选 生成Javadoc 在弹出框选好参数立刻导出啦 1.JavaDoc 作用域: 选要导出的文 ...
- Pycomcad快速绘制参数化多段线的一种方法
任务: 绘制出不同长度的相同型式的多段线,如上图所示,仅仅是300mm和500mm的区别,3个弯折处都一样,都是圆弧段,对于常规二次开发思路,是通过数学计算,计算出圆弧的圆心的位置,用固定的半径,绘制 ...