使用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数据同步时,可 ...
随机推荐
- Redis 应用场景之短信验证码
应用场景 以 OSChina 账号注册 为例...讲错了请留言批评指正... 逻辑场景 用户操作: 用户输入手机号, 然后点击获取验证码. 前端逻辑: ajax 发起请求, 参数带上手机号. 后端逻辑 ...
- exim4
exim4 一台 debian 机器日常执行 apt update 后发现需要更新如下软件包, 之前没见过, 特此记录下. root@idebian:~# apt list --upgradable ...
- study Rust-4【所有权】这个太重要了!
由于Rust内存垃圾自动回收,那就得搞清楚这个所有权玩意.这个太重要了.因为关系到贯穿于你以后的程序编写. 几个概念: 一.移动 1.咱们一般语言,自己申请内存,自己管理和释放.就是new和free. ...
- 解决Linux中网络重启后ip变化的问题
一.在Linux中输入命令, 编辑 ens33 网卡的网络配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33 二.在配置中作如下修改 将 BOOTP ...
- H5 ios端微信浏览器下-底部工具固定方法
在外层配置css position: fixed; width: 100%; top: 0px; bottom: 0px; overflow: auto; 结束
- 线上救急-AWS限频
线上救急-AWS限频 问题 在一个天气炎热的下午,我正喝着可口可乐,悠闲地看着Cursor生成代码,忽然各大群聊中出现了加急@全体的消息,当时就心里一咯噔,点开一看,果然,线上服务出问题,多个能源统计 ...
- 最强AI数字人,口型、表情、动作全同步!Kairos下载介绍
在数字化浪潮汹涌澎湃的今天,视频合成技术如同一颗璀璨的明星,照亮了内容创作的广阔天地 Kairos是一款顶级数字人制作工具,它基于先进的 AI 算法,能够快速克隆出用户的数字分身,并且精准匹配外貌.声 ...
- 【MOOC】华中科技大学计算机组成原理慕课答案-第四章-存储系统(二)
待整理. 单选 1 32位处理器的最大虚拟地址空间为 A. 2G B. 8G C. 16G √D. 4G 2 在虚存.内存之间进行地址变换时,功能部件 ( )将地址从虚拟(逻辑)地址空间映射到物理地址 ...
- MySQL之"数据库中没有就创建,有就修改"ON DUPLICATE KEY UPDATE
一.场景 当你想存入一条数据到扩展表中(主表下附表),但这个扩展表并非一定会创建,就会让其工程逻辑复杂化 (也就是说:有可能创建主表数据的同时不会创建扩展表数据,这样就会照成你想修改的时候,扩展表本身 ...
- k8s之ingress反向代理pod
Ingress controller Nginx -->后来改造 Traefik -->也是用于微服务 Envoy -->微服务 Ingress资源 目前使用0.17.1版本ing ...