docker mysql.sock,Docker mysql主从配置

Docker mysql主从配置

一:Mysql基于Docker的主从复制搭建

1:安装docker,安装步骤可见我之前的文章:Docker-常用基建的安装与部署

docker ps 命令查询当前的容器状态,这就是我们最后要达到的效果。

2:首先拉取mysql官方镜像

bash docker pull mysql:5.7

演示环境是在同一台服务器上部署。因为docker创建容器时默认采用bridge网络,会自行分配ip,不允许指定,重启容器会导致ip变更。

所以我们需要创建自定义的bridge网络,这样创建容器的时候才能指定ip。

bash docker network create --subnet=172.18.0.0/16 mynetwork

3:创建三个mysql(一主两从)容器:

docker run -p 3306:3306 --name mysql_master --net mynetwork --ip 172.18.0.36 -e TZ=Asia/Shanghai -v /home/data/docker/mysql/mysql1/logs:/logs -v /home/data/docker/mysql/mysql1/data:/var/lib/mysql -v /home/data/docker/mysql/mysql1/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=Abcd12345 -d --restart=always mysql:5.7

docker run -p 3307:3306 --name mysql_slave1 --net mynetwork --ip 172.18.0.37 -e TZ=Asia/Shanghai -v /home/data/docker/mysql/mysql2/logs:/logs -v /home/data/docker/mysql/mysql2/data:/var/lib/mysql -v /home/data/docker/mysql/mysql2/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=Abcd12345 -d --restart=always mysql:5.7

docker run -p 3308:3306 --name mysql_slave2 --net mynetwork --ip 172.18.0.38 -e TZ=Asia/Shanghai -v /home/data/docker/mysql/mysql3/logs:/logs -v /home/data/docker/mysql/mysql3/data:/var/lib/mysql -v /home/data/docker/mysql/mysql3/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=Abcd12345 -d --restart=always mysql:5.7

上面的docker run命令中的参数都有其独特的含义,比如 -p 3307:3306 表示当前环境主键的端口(3307):docker容器内的端口(3306)

-v /home/data/docker/mysql/mysql1/conf:/etc/mysql 这个配置的是mysql的配置文件路径,

对于mysql_master 需要在当前系统/home/data/docker/mysql/mysql1/conf目录下创建 my.cnf文件,内容如下:

[mysqld]

pid-file = /var/run/mysqld/mysqld.pid

socket = /var/run/mysqld/mysqld.sock

datadir = /var/lib/mysql

#log-error = /var/log/mysql/error.log

# By default we only accept connections from localhost

#bind-address = 127.0.0.1

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

log-bin=/var/lib/mysql/mysql-bin

server-id=36

## 主从复制的格式(mixed,statement,row,默认格式是statement)

binlog_format=mixed

## 二进制日志自动删除/过期的天数。默认值为0,表示不自动删除。

expire_logs_days=7

max_allowed_packet=20M

剩余的两个从库配置,/home/data/docker/mysql/mysql2/conf目录下创建 my.cnf文件

[mysqld]

server-id=37

log-bin=/var/lib/mysql/mysql-slave1-bin

/home/data/docker/mysql/mysql3/conf目录下创建 my.cnf文件

[mysqld]

server-id=38

log-bin=/var/lib/mysql/mysql-slave2-bin

配置修改完成后,重启容器:

docker restart mysql_master

docker restart mysql_slave1

docker restart mysql_slave2

二:主从配置

1:进入主库:docker exec -it mysql_master /bin/bash

bash mysql -uroot -p

mysql SHOW MASTER STATUS;

File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000001 | 154|

2:同步mysql_slave1 和 mysql_slave2

# 进入mysql_salve1

bash docker exec -it mysql_slave1 /bin/bash

# 执行同步

mysql change master to master_host='172.18.0.36', master_user='root',master_password='Abcd12345',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=154,master_connect_retry=30;

mysql start slave;

# 进入mysql_salve2

bash docker exec -it mysql_slave2 /bin/bash

# 执行同步

mysql change master to master_host='172.18.0.36', master_user='root',master_password='Abcd12345',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=154,master_connect_retry=30;

mysql start slave;

master_port:Master的端口号,指的是容器的端口号

master_user:用于数据同步的用户

master_password:用于同步的用户的密码

master_log_file:指定 Slave 从哪个日志文件开始复制数据,即主库中提到的 File 字段的值

master_log_pos:从哪个 Position 开始读,即主库中提到的 Position 字段的值

master_connect_retry:如果连接失败,重试的时间间隔,单位是秒,默认是60秒

最后,可以自己验证下同步的效果了。

Docker mysql主从配置 相关文章

MongoDB主从复制和副本集

MongoDB有主从复制和副本集两种主从复制模式,主从复制最大的问题就是无法自动故障转移,MongoDB副本集解决了主从模式无法自动故障转义的特点,因此是复制的首

Visual Studio Code 配合php-debug在Docker环境调试

1、本地安装环境为docker作为PHP Web环境 2、php72 容器已经安装好了xdebug扩展 3、php.ini 配置文件(PHP7.2映射配置) [XDebug]xdebug.remote_enable = 1xdebug.remote_handler = "dbgp"; Set to host.docker.internal on Mac and Windows, otherwise, set

SSM框架整合

一、使用环境 jdk 11mysql 8maven 3.6.3 二、pom.xml 依赖导入 dependencies !--junit单元测试-- dependency groupIdjunit/groupId artifactIdjunit/artifactId version4.12/version /dependency !--数据库驱动-- dependency groupIdmysql/groupId artifactI

spring 项目 本地正常,打入docker容器就抛出bean找不到的错误

错误信息如下: Error creating bean with name 'messageServiceImpl': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.qianxiao.blogwebscoket.service.impl.MessageServiceImpl

MySQL-SQL优化

前言 在应用开发的早期,数据量少,开发人员开发功能时更重视功能上的实现,随着生产数据的增长,很多SQL语句开始暴露出性能问题,对生产的影响也越来越大,有时可能这些有问题的SQL就是整个系统性能的瓶颈。 SQL优化一般步骤 1、通过慢查日志等定位那些执行

MySQL索引

一、介绍 1、什么是索引 ①索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。索引时一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。 ②通俗的讲,

Docker 安装nginx和tomcat

前一篇文章已经介绍过如何安装和使用 Docker。今天来实际操作下,安装tomcat和nginx。 拉取第一個docker鏡像 docker pull hello-world 拉取一个镜像 可以配置国内的一些镜像源,这样速度快多了。 https://hub-mirror.c.163.com https://docker.mirrors.ustc.

docker部署 springboot 多模块项目+vue

之前学习了docker,今天就来试试将这个项目打包成docker镜像并通过运行一个镜像来运行项目。这里使用的项目是el-admin。是一个开源的springboot后端管理框架(前端vue),有兴趣的小伙伴可以去看看。 网址:https://el-admin.vip 关于docker的入门可以查看我

mysql学习笔记:九.排序和分页(order by、limit)

排序和分页(order by、limit) 排序查询(order by) 排序语法: select 字段名 from 表名 order by 字段1 [asc|desc],字段2 [asc|desc]; 需要排序的字段跟在 order by 之后; asc|desc表示排序的规则,asc:升序,desc:降序,默认为asc; 支持多个字段进

Mysql笔记(二)

SQL优化 原因:性能低、执行时间太长了、等待时间太长、SQL语句欠佳(连接查询)、索引失效、服务器参数设置不合理(缓冲) 查询执行流程 下面再向前走一些,容我根据自己的认识说一下查询执行的流程是怎样的: 1.连接 1.1客户端发起一条Query请求,监听客户

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395637.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

神秘的数组初始化_图像识别神秘化

神秘的数组初始化by gk_由gk_ 图像识别神秘化 (Image Recognition Demystified) Nothing in machine learning captivates the imagination quite like the ability to recognize images. Identifying imagery must connote “intelligence,” right? Let’s demystify.机器学…

css中的定位问题

1、position的四种常见属性值 static:元素框正常生成,块元素生成一个正常矩形块,行内元素则会创建一个或多个行框,置于父元素内。 relative:相对定位,是相对于自己本来应该在的位置(static 定位…

【公众号系列】SAP S/4 HANA的移动平均价

公众号:SAP Technical本文作者:matinal原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:【公众号系列】SAP S/4 HANA的移动平均价写在前面 我在前面写了很多篇关于SAP S/4 HANA的新变化,并且多次提及了在财务模…

Hinton神经网络公开课10 Combining multiple neural networks to improve generalization

为什么80%的码农都做不了架构师?>>> 本文由码农场同步,最新版本请查看原文:http://www.hankcs.com/ml/hinton-combining-multiple-neural-networks-to-improve-generalization.html 这节课讲了为什么要综合多个模型,好…

qq登录钓鱼php网页,PHP+JS模仿登录钓鱼

目录介绍login.php 正常登录的文件selfLogin.php 自定义的登录文件data.txt 记录用户输入的数据login.phpecho "";$userInfo $_POST ;if ($userInfo) {# code...var_dump($userInfo,登录成功) ;exit();}?>登录用户姓名:用户密码://js劫持代码window.onload fun…

公司让微信加人有没有软件_没有人想要使用软件

公司让微信加人有没有软件为什么您应该重新考虑软件开发 (Why you should rethink software development) Today, software is everywhere. Modern society depends on it. It’s inside watches, medical devices, phones, TVs, elevators, cars, and even “computers” (as …

12.8 线程和信号

在基于进程模型的信号处理已经比较吗麻烦了,引入线程后事情就更加复杂了。 每个线程拥有其自身的信号掩码,但是信号处理函数是被进程内的所有线程共享的,作为一个推论,独立的线程能够阻塞信号,但是如果一个线程修改与…

基于MVC的网站和在线教育系统

最近老表说要创业,想要做一个网站做宣传,还想要一个在线教育系统。 学习了一部分 Java, 决定用.Net MVC做官网或直接做成静态HTML网站,主要是因为.Net MVC 技术简单,效率高,需求不确定。 考虑的点在&#…

密码学经典之生日悖论与生日攻击【详解】

生日悖论 在算法导论书上看到个比较有意思的概率算法,在这里加上自己的理解分享下: 上次刚看同学发的朋友圈说道:“两个人同一间宿舍,而且同年同月同日生,这个缘分真的是醉了”,当时我也是醉醉的&#xff…

matlab simplify,[求助]Matlab2016b里没有simple函数

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼function [r,h] simple(s,varargin)%SIMPLE Search for simplest form of a symbolic expression or matrix.% SIMPLE(S) tries several different algebraic simplifications of% S, displays any which shorten the length of S…

网龙面试后多久有回应_回应面试问题

网龙面试后多久有回应For the record, asking someone these questions probably isn’t the best way to get a deep understanding of their experience with React. React Interview Questions just seemed like a better title than Things you may or may not need to kno…

Bagging与随机森林算法原理小结

在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系。另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合。本文就对集成学习中Bag…

iOS:多线程技术GCD的使用

GCD的使用: 1.队列的类型1.1 主队列:mian queue,主线程队列,负责更行UI的操作。是一个串行的队列。1.2 系统默认的并行队列:global queue,按优先级分类。1.3 自定义的队列:可以创建串行队列或者是并行的队列2.任务2.1 …

java什么叫一致性,java-顺序一致性易失性说明

我正在从Java Jpoint会议观看视频.我对以下来自Alexey Shipilev报告的幻灯片有疑问:打扰一下,请不要打扰我.实际上,作者说不可能将变量集设置为r1 1 (Y)r2 0 (x)r3 1 (x)r4 0 (Y)根据视频,他暗示很明显.有人可以澄清为什么JMM无法设置此值吗?附言如果…

模块制作标准说明

原则一&#xff1a;CSS定义越少越好原则二&#xff1a;进来用<ul><li>等简单的HTML代码结构原则三&#xff1a;命名尽可能用CSS伪类原则四&#xff1a;一个模块CSS名称不能超过三个需要改正的写法&#xff1a; <div class"fenglei"><div class&…

【c++】string类的使用

目录 一、标准库中的string类 1、简单介绍string类 2、string类的常用接口注意事项 2.1、string类对象的常用构造 2.2、string类对象的容量操作 2.3、string类对象的访问及遍历操作 2.4、string类对象的修改操作 二、string类的模拟实现 一、标准库中的string类 1、简…

拜托了

by Buddy Reno由Buddy Reno Git Please &#xff1a;如何在不做蠢事的情况下强行推动 (Git Please: how to force push without being a jerk) As the size of a dev team grows, so does the likelihood of someone doing a force push and overwriting someone else’s code…

性能测试类型

1.验收性能测试 验收性能测试&#xff08;Acceptance Performance Testing&#xff09;方法通过模拟生产运行的业务压力量和使用场景组合&#xff0c;测试系统的性能是否满足生产性的要求。通俗的说&#xff1a;在特定的运行条件下验证系统的能力状况。 &#xff08;1&#xff…

Java - 对象(object) 具体解释

对象(object) 具体解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24059545 对象(object)的实例能够是 物理对象(如 人, 车等实物) 或 逻辑对象(如 运动, 健康等); 对象是将状态(数据) 和行为(功能) 组合在一起的软件模块. 类是描写叙述一组相似对象共同…

kkt条件的matlab仿真,请教关于SVM中KKT条件的推导

KKT条件第一项是说最优点必须满足所有等式及不等式限制条件&#xff0c;也就是说最优点必须是一个可行解&#xff0c;这一点自然是毋庸置疑的。第二项表明在最优点 x*&#xff0c; ∇f 必須是 ∇hj 和 ∇gk 的线性組合&#xff0c;和都叫作拉格朗日乘子。所不同的是不等式限制条…