Docker高级篇

1.Mysql主从复制Docker版本

mysql主从复制原理 binlog

1.新建主服务器容器实例 

docker run -d -p 3307:3306 --privileged=true \
-v /opt/mysql8.4.3/log:/var/log/mysql \
-v /opt/mysql8.4.3/conf:/etc/mysql/conf.d \
-v /opt/mysql8.4.3/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
--name mysql-master \
mysql:8.4.3

8.0启动加一行 -v /home/mysql/mysql-files:/var/lib/mysql-files \ 

2.进入 /opt/mysql8.4.3/conf目录下创建my.cnf

vim my.cnf
[mysqld]
## 设置server_id,同一局域网中需要唯一
server_id=101
## 指定不需要同步的数据库名称
binlog-ignore-db=mysql
## 开启二进制日志功能
log-bin=mall-mysql-bin
## 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
## 设置使用的二进制日志格式 (mixed,statement,row)
binlog_format=mixed
## 二进制日志过期清理时间。 默认值为0 ;表示不自动清理
## expire_logs_days=7
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
## 如: 1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062

3.重启mysql

docker restart mysql-master

4.进入mysql-master容器

docker exec -it mysql-master /bin/bash
mysql -uroot -p

输入密码

root

5.master 容器实例内创建数据同步用户

-

创建一个用户 slave 密码是 123456 

CREATE USER 'slave'@'%' IDENTIFIED BY '123456'; 

  给用户slave 分配权限来拿到对应的数据

GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'slave'@'%';

6.新建从服务器容器实例 3308

docker run -p 3308:3306 --privileged=true  --name mysql-slave \
-v /opt/mysql-slave/log:/var/log/mysql \
-v /opt/mysql-slave/data:/var/lib/mysql \
-v /opt/mysql-slave/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.4.3

7.进入 /mydata/mysql-slave/conf 目录下新建my.cnf

[mysqld]
## 设置server_id,同一局域网中需要唯一
server_id=102
## 指定不需要同步的数据库名称
binlog-ignore-db=mysql
## 开启二进制日志功能 以备Slave作为其他数据库实例的Master时使用
log-bin=mall-mysql-slave1-bin
## 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
## 设置使用的二进制日志格式 (mixed,statement,row)
binlog_format=mixed
## 二进制日志过期清理时间。 默认值为0 ;表示不自动清理
## expire_logs_days=7
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
## 如: 1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062
##relay_log 配置中继日志
relay_log=mall-mysql-relay-bin
##log_slave_updates表示 slave将复制事件写进自己的二进制日志
log_slave_updates=1
##slave设置为只读 (具有super权限的用户除外)
read_only=1

8.修改完配置后重启slave实例

docker  restart mysql-slave

9.在主数据库中查看主从同步的状态

mysql5.7

show master status

mysql 8以上用这个 

SHOW BINARY LOG STATUS;

10. 进入mysql-slave 容器

docker exec -it mysql-slave /bin/bash
mysql -uroot -proot

11.在从数据库中配置主从复制

 

 ​

 

mysql 5.7 

change master to master_host='192.168.181.132',master_user='slave',master_password='123456',master_port=3307,master_log_file='mall-mysql-bin.000004',master_log_pos=158,master_connect_retry=30;

mysql 8以上

CHANGE REPLICATION SOURCE TO
SOURCE_HOST = '192.168.181.132',
SOURCE_USER = 'slave',
SOURCE_PASSWORD = '123456',
SOURCE_PORT = 3307,
SOURCE_LOG_FILE = 'mall-mysql-bin.000004',
SOURCE_LOG_POS = 158,
SOURCE_SSL = 1,
SOURCE_SSL_CA = '/etc/mysql/conf.d/cert/jmjca.cer',
SOURCE_CONNECT_RETRY = 30;

 12.在从数据库中查看主从同步的状态

mysql5.7

show slave status;

 键值对显示

show slave status \G;

mysql 8以上

SHOW REPLICA STATUS \G;

no 代表未开始同步

13. 在从数据库中开启主从同步状态

mysql 5.7

start slave;

##IO:no解决方法: 在备库执行 stop slave; reset slave; start slave;

mysql 8.0 以上

START REPLICA;

14.查看从数据库状态发现已经同步

SHOW REPLICA STATUS \G;

mysql 8.0 以上

但是第一个为 connecting 状态 

需要在主机中执行如下命令 

 执行1:

ALTER USER 'slave'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

执行2:

flush privileges;

再重新启动slave即可为 YES

15.主从复制测试

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

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

相关文章

Java中对象序列化机制的优化研究

Java中对象序列化机制的优化研究 对象序列化(Serialization)是Java编程中一种非常重要的机制,它允许将对象的状态转换为字节流,从而方便存储或网络传输。然而,Java的默认序列化机制虽然功能强大,但在性能、…

wordpress资讯类网站整站打包

wordpress程序,内置了价值499元的模板.但是有了模板没有全自动采集相信大多数人都搞不懂,目录那么多,全靠原创几乎是不可能的事情,除非你是大公司,每人控制一个板块, 这套源码里面最有价值的应该是这个采集…

【深度解析】图解Deepseek-V3模型架构-混合专家模型(MoE)

一、引言 最近非常火爆的DeepSeek-V3模型,是一个包含6710亿总参数的强大混合专家模型(MoE),其中每个token激活370亿参数。该模型在DeepSeek-V2验证有效的核心架构基础上,采用多头潜在注意力(MLA&#xff0…

hive:分区>>静态分区,动态分区,混合分区

分区表 使用场景:数据量庞大且经常用来做查询的表 特点:将数据分别存储到不同的目录里 优点:避免全盘扫描,提高查询效率 分区的类型 它们的默认值分别是: false, strict, 要求至少有一个静态分区列,而 nonstr…

React进阶之React核心源码解析(一)

React核心源码解析 react 特点CPU卡顿IO 卡顿 新老 react 架构对比v15v16.8Scheduler 调度器Reconciler 协调器 React fiber原理更新dommount 构建过程 render阶段 — scheduler reconcilerreact源码解析react-domreact-dom/src/client/ReactDOMRoot.js react-reconcilerreact-…

ubuntu20.04连接airpods pro2

youtub视频解决方法:Setup your AirPods Pro with Linux (Ubuntu w/Mic fix) 重要步骤1, sudo apt-get update sudo apt-get install pulseaudio sudo apt-get upgrade pluseaudio重要步骤2, sudo vim /etc/bluetooth/main.confsudo /ect/…

sqli_labs_master Less-8 时间盲注,boolen盲注 获取数据库中的表、列

获取当前数据库名 import requestsdef inject_database(url):namemax_length20 # 假设数据库名称最大长度为20# ASCII范围:数字、字母、下划线(_)low{a: 97, z: 122, A: 65, Z: 90, 0: 48, 9: 57, _: 95}high{97: a, 122: z, 65: A, 90: Z,…

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_ssl_init 函数

#if (NGX_OPENSSL)ngx_ssl_init(log); #endif objs/ngx_auto_config.h 中 #ifndef NGX_OPENSSL #define NGX_OPENSSL 1 #endif 所以这个条件编译成立 NGX_OPENSSL 是一个宏定义,用于控制与 OpenSSL 相关的功能是否被启用 若用户通过./configure参数(如-…

常用架构图:业务架构、产品架构、系统架构、数据架构、技术架构、应用架构、功能架构及信息架构

文章目录 引言常见的架构图I 业务架构图-案例模块功能说明1. 用户界面层 (UI)2. 应用服务层3. 数据管理层4. 基础设施层业务流程图示例技术实现II 功能架构图 -案例功能模块说明1. 船舶监控模块2. 报警管理模块3. 应急响应模块4. 通信管理模块5. 数据分析模块数据管理层基础设施…

Redis 09章——哨兵(sentinel)

一、是什么 吹哨人巡查监控后台master主机是否故障,如果故障了根据$\textcolor{red}{投票数}$自动将某一个从库转换为新主库,继续对外服务作用:俗称无人值守运维官网理论:High availability with Redis Sentinel | Docs 二、能干…

WEB入门

1.了解什么是WEB 2.了解什么是WEB前端 3.学习和掌握开发环境的搭建 4.网页开发基础 1.什么是WEB 1946年,有一个发明了人类史上第一台完整体系的计算机 时间进展到1989年,实验室有一个研发人员 TimBernersLee(提姆博纳斯李)开…

【若依免登录】登录状态已过期,您可以继续留在该页面,或者重新登录

【问题】 【问题背景】 在实现若依的免登录出现的问题。前面已经做的操作 前端 第一步:views目录下面存在需要免登录的页面 第二步:在ruoyi-ui\src\router 的 index.js 的 constantRoutes (公共路由方)中 配置需要免登录的页面位…

JUC并发-4.wait和notify以及Atomic原理

大纲 1.wait()与notify()实现一个简易的内存队列 2.wait()与notify()的底层原理 3.分布式存储系统NameNode机制介绍 4.分布式存储系统的edits log机制介绍 5.分布式存储系统的NameNode实现 6.分布式存储系统的创建目录功能的实现 7.edits log的全局txid机制和双缓冲机制…

Jasper AI技术浅析(二):语言模型

Jasper AI 的核心语言模型是基于 OpenAI 的 GPT-4(Generative Pre-trained Transformer 4)构建的。GPT-4 是一种生成式预训练语言模型,利用深度学习技术,特别是 Transformer 架构,来理解和生成自然语言。 1. GPT-4 的基本原理 1.1 Transformer 架构 GPT-4 基于 Transfo…

(arxiv2411) CARE Transformer

作者提出了两个问题,问题 1:堆叠是充分利用局部归纳偏差和长距离信息优势的最佳方法吗? 问题 2:是否有可能同时提高线性视觉 Transformer 的效率和准确性? 为了解决这两个问题,作者提出了一种 deCoupled du…

RISC-V平台编译 state-thread x264 ffmpeg zlog

1.state-threads 源码下来之后 直接 make linux-debug 目录下生成了对应的.a 和 .h文件 gcc test.c -o test -l st -L . #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <sys/socket.h&g…

DeepSeek笔记(二):DeepSeek局域网访问

如果有多台电脑&#xff0c;可以通过远程访问&#xff0c;实现在局域网环境下多台电脑共享使用DeepSeek模型。在本笔记中&#xff0c;首先介绍设置局域网多台电脑访问DeepSeek-R1模型。 一、启动Ollama局域网访问 1.配置环境变量 此处本人的操作系统是Windows11&#xff0c;…

2025年二级建造师报名流程图解

2025年二级建造师报名时间&#xff01;附报名流程&#xff01; ⏰️已公布25年二建考试时间的省份如下&#xff1a; ️4月19日、20日考试的城市有&#xff1a;贵州 ️5月10日、11日考试的城市有&#xff1a;湖北、陕西、宁夏、甘肃、福建、浙江、江西、黑龙江、河南、湖南、…

Android的Activity生命周期知识点总结,详情

一. Activity生命周期 1.1 返回栈知识点 二. Activity状态 2.1 启动状态 2.2 运行状态 2.3 暂停状态 2.4 停止状态 2.5 销毁状态 三. Activity生存期 3.1 回调方法 3.2 生存期 四. 体验Activity的生命周期 五. Activity被回收办法 引言&#xff1a; 掌握Acti…

frp-tool,客户端frp命令行工具

在日常开发和运维过程中&#xff0c;端口转发和配置管理是常见的需求。 如果有自己一台服务器&#xff0c;并且已经开放好端口&#xff0c;配置好token后&#xff0c;这个工具一定能帮到你。 今天给大家推荐一款非常好用的frpc命令行工具&#xff0c;它是一个用Python编写的命令…