主从原理

laradock配置主从

  1. 在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
  1. 在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_RunningSlave_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;

如下所示成功。

使用laradock配置mysql主从同步的更多相关文章

  1. WinServer配置MySQL主从同步

    为什么要配置主从同步? 如果一台数据库服务器挂了,还有一个备用 为了方便配置,我采用两台WinServer2003虚拟机: 1.前期准备工作:安装好镜像文件,VMTOOLS,MySQL5.5 我这里以 ...

  2. CentOS6.5配置MySQL主从同步

    原文地址:http://www.cnblogs.com/zhongshengzhen/   修改主MySQL的配置 [root@localhost etc] vi /etc/my.cnf 添加以下配置 ...

  3. Window 10 单机配置MYSQL主从同步

    Master数据库:127.0.0.1:3306 Slave数据库:127.0.0.1:3307 Master操作 修改ini信息 Master MYSQL安装目录下,找到my.ini,在[mysql ...

  4. 部署mysql主从同步

                                                 mysql-day06        部署mysql主从同步 案例拓扑 • 一主.一从 – 单向复制时,建议将 ...

  5. Linux下MySQL主从同步配置

    Centos6.5 MySQL主从同步 MySQL版本5.6.25 主服务器:centos6.5 IP:192.168.1.101 从服务器:centos6.5 IP:192.168.1.102 一. ...

  6. mysql主从同步配置(windows环境)

    mysql主从同步配置(mysql5.5,windows环境)   A主机(作为主服务器)环境:windows8.mysql5.5 ip:192.168.1.100(自己填) B主机(作为从服务器,由 ...

  7. Docker Mysql主从同步配置搭建

    Docker Mysql主从同步配置搭建 建立目录 在虚拟机中建立目录,例如路径/home/mysql/master/data,目录结构如下: Linux中 新建文件夹命令:mkdir 文件夹名 返回 ...

  8. Mysql主从同步在线实施步骤【适合大数据库从库配置】

    Mysql主从同步在线实施步骤[适合大数据库从库配置] MySQL的主从搭建大家有很多种方式,传统的mysqldump方式是很多人的选择之一,但比较适合在新实例中实施,对于较大的数据库则存在停机等不可 ...

  9. mysql 主从 同步原理及配置

    一.在mssql 里头实现同步镜像,只能主库用而镜像库不能同时用,而mysql 主从同步可以实现 数据库的读写分离,主库负责 update insert delete ,从库负责select 这样一来 ...

  10. Mysql主从同步配置方案(Centos7)

    最近在做项目高可用时,需要使用数据同步.由于只有双节点,且采用主主同步可能存在循环同步的风险,故综合考虑采用Mysql主从同步(Master-Slave同步). 可能没有接触过Mysql数据同步时,可 ...

随机推荐

  1. 「硬核实战」回调函数到底是个啥?一文带你从原理到实战彻底掌握C/C++回调函数

    大家好,我是小康. 网上讲回调函数的文章不少,但大多浅尝辄止.缺少系统性,更别提实战场景和踩坑指南了.作为一个在生产环境中与回调函数打了多年交道的开发者,今天我想分享一些真正实用的经验,带你揭开回调函 ...

  2. Dubbo 中的集群容错

    前言 在微服务架构中,服务间的依赖关系复杂且动态,任何一个服务的故障都可能引发连锁反应,导致系统雪崩.一个好的容错设计可以避免这些问题发生: 服务雪崩效应:单个服务崩溃或响应延迟可能导致调用链上的所有 ...

  3. 多线程的waiting与notify

    一.waiting()与notify() /* 进入到TimeWaiting(计时等待)有两种方式 1.使用sleep(long m)方法,在毫秒值结束之后,线程睡醒进入到Runnable/Block ...

  4. Nim 语言新的性能测试

    今天将 性能测试网站: benchmarks game 上一个关于 n-body 的题目改成 nim 1.6.4 语言来编写. 注意,我是基于 java 的版本来写的,没有像  c++ 那样的版本使用 ...

  5. 【经验】WakeUp、Outlook、Google日历导入飞书日历

    以飞书团队账号登录时,设置的日历就能被团队其他成员看到(可选择私密.仅忙碌[默认].完全公开三种模式),以便相互查看空闲时间. Wakeup日历导出到Outlook日历 Wakeup支持从各大学校便利 ...

  6. Web前端入门第 47 问:CSS @media 媒体查询不要只会视口宽度适配

    @media 媒体查询的出现解决了什么问题? 曾经,一个网页要兼容移动端和 PC 端,前端的代码复杂度嗖嗖嗖的飙升,需要使用多套代码对各种屏幕尺寸做适配. @media 的出现解决了 CSS 中无法适 ...

  7. FastAPI-请求参数与验证

    最近想搞一下接口, 希望能简单上手, 前后端分离, 大致看了一遍 SpringBoot, Gin, NodeJs, Flask, Django, FastAPI 等, 感觉还是用 Python 语言来 ...

  8. pyspark - 逻辑回归

    是在整理文件时, 翻到的, 感觉是好久以前的代码了, 不过看了, 还是可以的. 起码注释还是蛮清晰的. 那时候我真的是妥妥的调包man.... # 逻辑回归-标准化套路 from pyspark.ml ...

  9. 如何医治一条慢SQL?

    前言 "苏工,订单列表又崩了!" 接到电话时,我对着监控大屏上999ms的SQL响应时间哭笑不得. 几年来,我发现一个定律:所有SQL问题都是在凌晨三点爆发! 今天抽丝剥茧,教你用 ...

  10. TVM:解析TVM算子

    在对TVM:编译流程一文中,从ONNX模型中读取模型并转换为relay IR,其中调用_convert_operator函数关于将onnx算子转换成Relay算子,其中如何实现当时直接跳过去了,本节将 ...