docker 部署mysql 5.6集群

docker搭建mysql的集群(一主双从)

1.拉取镜像

docker pull mysql:5.6

2.启动master容器

docker run -it -d --name mysql_master -p 3306:3306 --ip 192.168.162.100 \
-v /data/mysql_master/mysql:/var/lib/mysql  \
-v /data/mysql_master/conf.d:/etc/mysql/conf.d  \
-e MYSQL_ROOT_PASSWORD=root  -e TZ=Asia/Shanghai --privileged=true mysql:5.6 --lower_case_table_names=1

参数说明:
-p 3306:3306:将容器的3306端口映射到主机的3306端口
-v /data/mysql_master/mysql:/var/lib/mysql:将数据文件夹挂载到主机
-v /data/mysql_master/conf.d:/etc/mysql/conf.d:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码

3.配置master数据库

编辑mysql配置文件

[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
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_connections=1000
# 数据库字符集
character_set_server = utf8
# mysql编号(只可以是数字) 每个节点不一样
server_id = 1
# 开始binlog日志,规定日志文件名称
log_bin = mysql_bin
# 开启relaylog日志,规定日志文件名称
relay_log = relay_bin
 # 从库的写操作是否写入binlog日志
log-slave-updates = 1
 # 采用严格的SQL语句模式
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

4.重新启动master容器

docker restart 容器id

5.master数据库中新建同步数据用户

navcat 连接master数据库,新建用户

6.启动salve1容器

docker run -it -d --name mysql_salve1 -p 3307:3306 --ip 192.168.162.100 \
-v /data/mysql_salve1/mysql:/var/lib/mysql  \
-v /data/mysql_salve1/conf.d:/etc/mysql/conf.d  \
-e MYSQL_ROOT_PASSWORD=root  -e TZ=Asia/Shanghai --privileged=true mysql:5.6 --lower_case_table_names=1

7.配置salve1数据库

编辑数据库配置文件

编辑数据库配置文件:

[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
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_connections=1000
# 数据库字符集
character_set_server = utf8
# mysql编号(只可以是数字) 每个节点不一样
server_id = 3
# 开始binlog日志,规定日志文件名称
log_bin = mysql_bin
# 开启relaylog日志,规定日志文件名称
relay_log = relay_bin
# 限制普通账户无法insert、delete、update语句,但是该配置对于管理员账号无效
read-only = 1
# 采用严格的SQL语句模式
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

8.重新启动salve1数据库

docker restart 容器ID

9.配置salve1数据库

工具连接上salve1数据库,命令行中执行

mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)mysql> change master to master_host="172.17.0.2",master_port=3306,master_user='sync',master_password='sync';
Query OK, 0 rows affected (0.02 sec)
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)mysql> show slave status;

master_host :Master的地址,指的是容器的独立ip,可以通过以下命令查看

docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称|容器id

10.搭建salve2数据库

搭建方式同salve1

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

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

相关文章

【无标题】云原生在工业互联网的落地及好处!

什么是工业互联网? 工业互联网(Industrial Internet)是新一代信息通信技术与工业经济深度融合的新型基础设施、应用模式和工业生态,通过对人、机、物、系统等的全面连接,构建起覆盖全产业链、全价值链的全新制造和服务…

eclipse常用快捷键

Eclipse常用快捷键 补全代码的声明:alt /快速修复: ctrl 1批量导包:ctrl shift o使用单行注释:ctrl /使用多行注释: ctrl shift /取消多行注释:ctrl shift \复制指定行的代码:ctrl alt down 或…

Scrum是什么意思,Scrum敏捷项目管理工具有哪些?

一、什么是Scrum? Scrum是一种敏捷项目管理方法,旨在帮助团队高效地开展软件开发和项目管理工作。 Scrum强调迭代和增量开发,通过将项目分解为多个短期的开发周期(称为Sprint),团队可以更好地应对需求变…

微信小程序 width 100% 加 margin 或 padding 溢出屏幕

微信小程序 width 100% 加 margin 或 padding 溢出屏幕 方案1:fill-available margin方案2:box-sizing padding 方案1:fill-available margin width: 100%;width: -moz-available;width: -webkit-fill-available;width: fill-available;ma…

C#设计模式之---工厂方法模式

工厂方法模式(Factory Method) 工厂方法模式(Factory Method)的出现解决简单工厂中的难以拓展的问题,解决了其一旦添加新的产品,则需要修改简单工厂方法,进而造成简单工厂的实现逻辑过于复杂。…

聊聊混合动力汽车和纯电骑车的优势和劣势

混合动力汽车和纯电动骑车是两种不同的交通工具,它们都有各自的优势和劣势。本文将分别探讨混合动力汽车和纯电动骑车的优势和劣势,并为文章提供三个备选的好听的标题。 混合动力汽车是一种结合了内燃机和电动机的汽车,它可以同时利用燃油和电…

使用PHP和Redis实现简单秒杀功能

安装Redis 首先,需要在服务器上安装Redis。如果使用Linux系统,可以使用命令行安装。如果使用Windows系统,可以下载并安装Redis二进制文件。 创建Redis连接 在PHP中,可以使用Redis扩展来连接Redis服务器。需要在PHP文件中包含Re…

大数据课程G1——Hbase的概述

文章作者邮箱:yugongshiyesina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解HIve的概念; ⚪ 了解HIve与数据库的区别; ⚪ 了解HIve的特点; 一、简介 1. 概述 1. HBase原本是由Yahoo!公司开发后来贡献给了…

自己实现 OpenAI 的 /v1/embeddings 接口

自己实现 OpenAI 的 /v1/embeddings 接口 0. 背景1. 修改 .env 文件2. 修改 get_embedding 方法 0. 背景 使用 OpenAI 的 API Key 是需要付费的,为了节省成本,自己尝试实现 OpenAI 的各种接口。 本文章主要是实现 /v1/embeddings 和 /v1/engines/{mode…

SQL注入 ❤ ~~~ 网络空间安全及计算机领域常见英语单词及短语——网络安全(二)

SQL注入 ❤ 学网安英语 大白话讲SQL注入SQL注入原理1. 用恶意拼接查询进行SQL注入攻击2. 利用注释执行非法命令进行SQL注入攻击3. 利用传入非法参数进行SQL注入攻击4. 添加额外条件进行SQL注入攻击 时间和布尔盲注时间盲注(Time-Based Blind SQL Injection&#xf…

使用隧道HTTP时如何解决网站验证码的问题?

使用代理时,有时候会遇到网站验证码的问题。验证码是为了防止机器人访问或恶意行为而设置的一种验证机制。当使用代理时,由于请求的源IP地址被更改,可能会触发网站的验证码机制。以下是解决网站验证码问题的几种方法: 1. 使用高匿…

树和二叉树 --- 数据结构

目录 1.树的概念及结构 1.1树的概念 1.2树的表示 1.3树在实际生活中的运用 2.二叉树的概念及结构 2.1概念 2.2特殊的二叉树 2.3二叉树的性质 2.4二叉树的存储结构 1.树的概念及结构 1.1树的概念 树是一种非线性的数据结构,它是由n (n>0)个有限结点组成…

No primary or single unique constructor found for interface java.util.List

报错截图: 报错内容: 2023-08-04 15:46:32.884 ERROR 14260 --- [io-8080-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing fa…

Android 版本 对应的 API版本

Android 14(开发者预览版) 如需详细了解平台变更,请参阅 Android 14 文档。 Android 13(API 级别 33) 如需详细了解平台变更,请参阅 Android 13 文档。 Android 12(API 级别 31、32&#xf…

模拟宕机后kafka的重新分区

直接停掉192.168.233.133:9092 (broker.id 5) 查看topic 分区 $ /data/kafka_2.13-3.0.0/bin/kafka-topics.sh --bootstrap-server 192.168.233.132:9092 --topic quickstart77-events --describe Topic: quickstart77-events TopicId: A7bNWYseSNqlGfs1XPhN9g PartitionCou…

2023年电赛---运动目标控制与自动追踪系统(E题)OpenART mini的代码移植到OpenMV

前言 (1)已经有不少同学根据我上一篇博客完成了前三问,恭喜恭喜。有很多同学卡在了第四问。 (2)我说了OpenART mini的代码是可行的。但是他们不会移植到OpenMV上,再次我讲移植之后的代码贴出来。 &#xff…

接口自动化测试-Postman+Newman+Git+Jenkins实战集成(详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、Postman 创建…

Linux之 centos、Ubuntu 安装常见程序 (-) Mysql 5.7 版本和8.0版本

CentOS 安装 MySql 注意 需要有root权限 安装5.7版本 – 由于MySql并不在CentOS的官方仓库中,所以需要通过rmp命令: 导入MySQL仓库密钥 1、配置MySQL的yum仓库 配置yum仓库 更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 安装…

c++函数模板

c函数模板 一.函数模板 1.关于模板的使用 template:定义模板的关键字 typename:定义模板类型的关键字 T 通用的类型标识符 使用如下 template<typename T> //这样就写了一个模板2.模板函数的作用 普通函数 int fun(int a, int b) {return a b; }这个函数只能进…

452. 用最少数量的箭引爆气球

452. 用最少数量的箭引爆气球452. 用最少数量的箭引爆气球 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points &#xff0c;其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。 一支弓箭可…