Docker 环境运行 Mysql 和开启 Binlog 配置主从同步

使用docker部署mysql,并开启binlog 本文介绍了如何用dokcer部署mysql,并开启binlog,使用flink cdc抽取binlog数据进行处理。 阅读详情

同一服务器模拟利用 Docker 模拟 Mysql 设置的主从同步设置。

1、运行起来两个 Mysql :masterMysql(主库)、slaveMysql(从库),数据库版本 5.7。

#拉取镜像
docker pull mysql:5.7
#y运行主、从容器
docker run -p 13306:3306 --name slavemysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker run -p 13307:3306 --name mastermysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

运行完成后可以尝试连接,注意此处的映射到主机的服务端口分别为 13306和13307,对外连接需要保证防火墙和网关设置都要放开。

2、查看容器的使用 IP(配置主从需要同一内网中的 IP 地址使用)

#查看主库的所在 IP
docker inspect --format='{{.NetworkSettings.IPAddress}}' masterMysql
#172.18.0.2

3、配置主从库。

(1)进入主库

docker exec -it masterMysql  bash #masterMysql 为运行容器的名称。

(2)进行配设置配置文件

cd /etc/mysql&&ls

可以看到,多份 *.cnf 文件,包括在 conf.d 和 mysql.conf.d 文件夹下都有。 这个是有加载顺序的,此处配置就统在 my.cnf 上操作。

(3)设置配置文件

方式一:

正常操作是进入文件夹内编辑,如以下方式:

vim ./my.cnf

不过这里遇到会报错:
bash: vi: command not found

先行安装 vi

apt-get update
#成功后运行
apt-get install vim

方式二(建议):

在容器外编辑后拷贝到容器内,这里是直接覆盖的方式。

复制主机到容器内。
语法:docker cp [主机地址] [容器 ID 或容器名称]:[容器文件地址]
docker cp /home/mysql/my.cnf mysql:/etc/mysql/my.cnf

(4)打开 Binlog 配置。

相同的配置:进入主、从库设置 my.cnf 配置文件。注意 server-id 需要不一致。

character_set_server=utf8
init_connect='SET NAMES utf8'
#这两条是设置utf-8字符格式,两个主机配置相同
## 同一局域网内注意要唯一(如果双向主备库,依赖这个去区分执行 Binlog 的 SQL 语句 )
#可以取 Ip 的最后一个。主库为 2,从库为 3。
server-id=2  
## 开启二进制日志功能,可以随便取(关键)
#演示设置主库设置为 master-bin,从库为 slave-bin
log-bin=master-bin
log_bin_index = master-bin.index

其中不同的配置: 主库:

#这里整理可以配置的内容,由于测试,先注释。
#要给从机同步的库(如果不写,默认全部同步)
#binlog-do-db=test

#不给从机同步的库(多个写多行)
#binlog-ignore-db=mysql #设置复制的数据库
#binlog-ignore-db=information_schema #设置忽略复制的数据库
#自动清理 15 天前的log文件
expire_logs_days=15
#binlog_format=row #设置 Binlog 记录的实际操作的 SQL。
#max_binlog_size=100m #设置文件大小
#replicate_do_table=test #进行复制的的数据表
#replicate_ignore_table=igoreTest #忽略进行复制的的数据表
#replicate_wild_ignore_db=test # 同 Replicate_Do_DB 可带通配符
#replicate_wild_ignore_db=igoreTest # 同 Replicate_Ignore_DB 可带通配符

从库:

#设置避免更新不及时或是重启后导致主从库复制出错。
read_only = 1
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay-log = slave-relay-bin

#主库的日志存放。
relay-log-index = slave-relay-bin.index

配置是需要重启容器后生效。

docker restart masterMysql
docker restart slaveMysql

查看容器的日志:

docker logs masterMysql 

如果要是重启失败,可以用此操作检查是否刚才的配置文件有出错,利用(3)方式二,修改配置文件,再去启动容器。

(5)查看容器是否设置 Binlog 配置成功。

#进入容器
docker exec -it masterMysql bash
#进入 Mysql
mysql -uroot -p123456 
#查看 Binlog 状态。
show variables like '%log_bin%';
#可以看到 log_bin 是打开的状态,bin_log 的位置在 /var/lib/mysql/master-bin

![file](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/61e52585e4aa4200a8c27204ef690234~tplv-k3u1fbpfcp-zoom-1.image)

(6)查看主库的 Matser 节点的 Binlog 状态,拿到此处的配置的 position 值。

show master status;

若是之前开启的 Binlog 没有使用,需要新生成或是重置清空。

#生成新的 Binlog 日志文件
flush logs; 
#重置清空 Binlog 日志文件
reset master;

可以查看到此处的 日志配置文件是:master-bin.000001,Position 为 334。

4、主库设置一个账号提供从库同步数据使用。此处账号为 slaveMysql。

CREATE USER 'slaveMysql'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slaveMysql'@'%';

5、登录从库的 Mysql 执行,建议还是连接到 Navicat 上运行和查看,服务器上查看格式很乱。

(1)执行同步的主库配置。注意这里的是结尾符号。

change master to master_host='172.18.0.2',
 master_user='slaveMysql',
 master_password='123456',
 master_port=3306, 
 master_log_file='mysql-bin.000001',
 master_log_pos= 334,
 master_connect_retry=30;

参数详解:

change master to master_host=${容器所用IP} 这里需要是同一局域网内,第 2 所得。
master_port Master 的端口号,指的是容器的运行数据库的端口号,不是映射到主机的端口号,第 1 所得。
master_user 设置同步使用的账号, 第 4 所得
master_password 设置同步使用的账密码,第 4 所得
master_log_file 指定了从主库哪个配置文件读取 Binlog 日志,第 3(6) 所得
master_log_pos 从哪个 Position 开始读,即上文中提到的 Position 字段的值,第 3(6) 所得
master_connect_retry 如果连接失败,重试的时间间隔,单位是秒,默认是60秒

(2)打开从库的配置。

start slave;
#停止 slave。
#stop slave;

(3)查看主从同步的状态。 检查主从同步的状态。

show slave status ;

(4)检查错误。

可以通过查看 Last_Io_Error 查看到连接的错误。 排查以下出错的可能。 1>网络不通,端口和局域网 IP 2>用于同步的账户密码正常 3> Master 的 Binlog 文件名称和 Pos 位置错误。

6、测试主从是否正常。

Master 库创建数据库,查看 从库是否也有同步创建成功即可,到此就结束啦。

docker安装mysql并配置主从同步 MASTER_LOG_FILE = 'binlog.000005',#主库binlog文件,第1步执行结果中获取。-v /usr/local/mysql/data:/var/lib/mysql:映射数据目录,宿主机:容器。-v /usr/local/mysql/log:/var/log/mysql:映射日志目录,宿主机:容器。-v /usr/local/mysql/conf:/etc/mysql:映射配置目录,宿主机:容器。MASTER_USER = 'master',#主库用于binlog同步的账户。 阅读详情

相关推荐

docker 安装mysql 开启binlog 每天备份数据

1、安装docker wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo yum install -y docker-ce-19.03.4 给docker 配置 `usermod -G docker root` systemctl ena...

qq_34897849的博客 722

docker 安装mysql 开启binlog

docker 安装mysql 开启binlog

weixin_44314242的博客 1846

docker配置MySQL主从模式

change master to master_host='主机ip', master_user='slave', master_password='123456', master_port=3307, master_log_file='主机信息获取', master_log_pos= 820, master_connect_retry=30;master_log_file,为master主服务器容器状态的值,图中标志①。master_log_pos,为master主服务器容器状态的值,图中标志②。

2301_78723091的博客 1168

docker上开启mysql服务的binlog日志

7.保存完 输入exit命令退出docker的mysql服务,然后通过刚才进入mysql服务的那个id,重启mysql服务,即可成功开启docker上的mysql的binlog日志了。(注意 : 我发现 csdn复制的文本带格式了,直接复制命令到服务器上执行有问题,先复制到文本在复制到服务器即可,咦,不想再回头消格式了)进入到mysql的服务容器后,输入mysql -u*** -p***登陆 mysql 客户端查看是否开启binlog。8.按照上面的进入到mysql的方法,输入命令显示。

joker_dala的博客 2619

如何评价智能座舱的好坏之指标拆分?

智慧服务实际上是有一些比较实用的功能的,常用的有后视镜自动伸展、离车自动落锁、座椅记忆等,但这部分前装率较高,各家的区分度不高,所以一级指标中占比最低(10%)。不过呢,规则里的权重仅有5%,或许是考虑到比较成熟,没有区分度。全景环视明显拔得头筹,占比85%,这对于我这种没有倒车影像不敢倒车的人,举双手赞成,但还是要看其效果,比如,现在,测评规则的颁布实际上也让我们看到,智能座舱的技术方案正走向成熟,并将走进规范化运作。,占比 60%,这与我们对座舱最直接的认知符合,

shuiqingyan的博客 1085

APK静态分析(取证角度)——理论部分

APP是指应用程序(Application),是指能够在手机、平板电脑、电脑等移动设备上运行的软件。APP可以帮助用户进行各种功能操作,如社交媒体、游戏、购物、学习、工作等。用户可以通过应用商店或者在线下载安装APP,然后在设备上使用它们。APP的种类非常丰富,能够满足用户不同的需求和兴趣。

currify的博客 3211

docker 的mysql容器中没有mysqlbinlog

关于docker的mysql容器没有mysqlbinlog,在不更换原有容器的情况下的解决方案

成长中的白嫖党 4056

别再被网站风控了!手把手教你修改Chromium源码,实现TLS指纹随机化

本文详细介绍了如何通过修改Chromium源码实现TLS指纹随机化,有效规避网站风控。文章深入解析了TLS指纹(如JA3指纹)的工作原理,并提供了具体的源码修改步骤和编译方法,帮助开发者突破高级反爬技术。通过动态打乱加密套件顺序,实现每次请求生成不同的指纹,显著提升自动化工具的隐蔽性。

weixin_28712661的博客 427

docker mysql开启 log_bin日志

docker mysql开启 log_bin日志

HSJ0170的博客 1283

SAP WM模块配置详解

1.给工厂/存储地点分配仓库编码 功能说明 配置路径 IMG>企业结构>分配>分配后勤执行>给工厂/存储地点分配仓库编码 业务示例 配置步骤 2.定义仓库号码控制参数 功能说明 配置路径 IMG>后勤执行>仓库管理>主数据>主数据>定义仓库号码控制参数 业务示例 配置步骤 3.定义编码范围 功能说明 配置路径 IMG>后勤执行>仓库...

weixin_40672823的博客 2万+

QTableView实现表格加载百万条数据

本文介绍用QTableView实现加载100万条数据显示到表格。 1.创建工程 用Qt Creator创建Qt Widgets Application项目,基类选择QWidget,创建好了,如图: 2.添加QTableView控件 在widget.ui中添加QTableView控件,和QPushButton,采用栅格布局,如图: 3.添加函数 头文件 QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACE class Wid

丁爸的博客 8272

docker实战之搭建MYSQL8.0主从同步

关于MYSQL主从同步的原理以及八股文这篇文章中就暂时不讲述啦,直接上干货,面对许多同学没有大量服务器,又想参与MYSQL集群实战过程中,提升技能,这篇实操技能你值得拥有~

增量星球 1915

永磁同步电机控制笔记:foc控制原理通俗讲义

引言 到此为止,永磁同步电机控制相关文章已经写了7篇,其中simulink仿真系列文章5篇,控制笔记系列文章2篇,恍惚间感觉少了一篇概论,在此插入一篇,也算是对入坑电机控制一年半来的知识梳理。 文章目录引言一、同步电机是怎么转起来的二、什么样的旋转磁场效率最高三、怎么精准控制旋转磁场的方向四、怎样调节dq轴电流 一、同步电机是怎么转起来的 永磁同步电机结构如下: 外围是定子绕组,中间为永磁体,设...

搞电机的博客 2万+

Docker环境下Mysql:5.7镜像开启binlog

文章目录登录mysql,查看是否开启修改mysql配置文件重启Mysql检查是否开启 登录mysql,查看是否开启 登录Mysql: mysql -uroot -p; 查看binlog状态:show variables like 'log_bin';,我这里是已经开启了,如果没有开启,Value为OFF 修改mysql配置文件 复制容器的配置文件到宿主机:docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf ~/ 修改配置文件:vim ~/mysqld

爱折腾的Albert 1541

解决fetch_california_housing数据集403错误的3种实用方法(附手动下载地址)

本文针对机器学习中常见的fetch_california_housing数据集403 Forbidden错误,提供了三种实用的解决方案。从理解HTTP 403错误的根源出发,详细介绍了修改源码路径、使用国内镜像源以及手动下载并配置数据文件这三种方法,并附带了可靠的手动下载地址,帮助开发者彻底解决数据加载障碍,确保机器学习项目顺利进行。

weixin_29062963的博客 561

mongodb在游戏开发领域的优势

目前游戏服务器使用mysql作为数据库的较多,然而,使用mongodb来作为存储层,在某些方面比mysql更为方便和适合。

littleschemer的博客 1701

Docker搭建基于binlog的Mysql主从同步

MySQL binlog主从同步简介 传统的MySQL提供了一种简单的主从同步方法,主机数据库执行并提交事务,然后将事务异步发送到从数据库,使从机数据库执行相同的语句(如DDL、DML),默认情况下所有服务器均具有数据的完整副本。主要流程图如下: 主机Mysql通过Binlog Dump线程将日志发送到从机Mysql的IO线程,I/O线程获取到事件数据后更新到从库的中继日志(relay log)...

z28126308的专栏 535

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

docker安装Canal,开启MySQL binlog ,连接Java,监控MySQL变化

Canal是阿里开源的一款基于Mysql数据库binlog的增量订阅和消费组件,通过它可以订阅数据库的binlog日志,然后进行一些数据消费,如数据镜像、数据异构、数据索引、缓存更新等。相对于消息队列,通过这种机制可以实现数据的有序化和一致性。

m0_64427756的博客 2389

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Docker内部MySQL开启binlog日志

查看 binlog状态 在MySQL终端执行一下, Navicat都行 show variables like '%log_bin%' 发现是没有开启binlog 修改Docker的MySQL的my.cnf配置文件 添加下面内容,注意: log-bin = /logs/mysql-bin.log 是Docker内部的路径,不是Linux宿主机的路径 #设置日志格式 binlog_format = mixed #设置日志路径,注意路经需要mysql用户有权限写 log-bin = /logs/mysql

张俊杰 的博客 2009

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

mysql主从同步配置详解

mysql主从同步详解

Climber 1160

MySQL主从同步集群(Docker搭建)

主从同步(Master-Slave Replication)是数据库集群中常用的解决方案,通过将主数据库(Master)的数据变更同步到从数据库(Slave),实现数据的多副本存储和读写分离。MySQL主从复制的核心就是二进制日志。二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但不包括数据查询(SELECT、SHOW)语句。

m0_74808313的博客 978

docker部署mysql并开启binlog日志

1.拉取docker镜像images docker pull mysql:5.7 2.建立镜像容器container docker run --name mysql5.7 -p 3309:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 说明: -name: container名称 ...

u013754950的专栏 4539

Canal 和 MySQL 配置指南

用于运行 MySQL 和 Canal 的容器化服务。:确保安装的是支持 binlog 的版本。:阿里巴巴开源的数据库增量订阅和消费组件。

weixin_53860667的博客 2121

Docker快速入门系列教程02——在Docker下开启mysql5.6 binlog日志

第二个参数 ,用的如果是5.7及以上版本的话,重启mysql服务会报错,这个时候我们必须还要指定这样一个参数,随机指定一个不能和其他集群中机器重名的字符串,如果只有一台机器,那就可以随便指定了。L4阶段:大模型的微调和私有化部署,我们会更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调。基于此,我用做产品的心态来打磨这份大模型教程,深挖痛点并持续修改了近100余次后,终于把整个AI大模型的学习门槛,降到了最低!

Y525698136的博客 794

查看并修改MySQL是否开启binlog日志

演示环境:MySQL 5.7,docker环境部署,参数只设置了编码。 1、查看是否开启binlog日志 运行show variables like 'log_bin';(如果显示OFF则代表未开启。在MySQL8以前,这个功能是默认关闭的,需要手动开启。) ...

苏暮沉觞的博客 7958

Cannal实现MySQL主从同步环境搭建

大家好,我是袁庭新。在多数情况下,客户端往往会优先获取缓存中的数据。然而,当缓存数据与数据库中的实际数据存在显著不一致时,可能会导致严重的后果。因此,确保数据库与缓存数据之间的一致性变得至关重要,这一过程被称为缓存与数据库的同步。canal [kə’næl],译意为水道/管道/沟渠,主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费。canal是阿里巴巴旗下的一款开源项目,基于Java开发。

2301_82300081的博客 1510
上一篇: 凡人修仙传!大专毕业3年,我从月薪3k的码农变成大厂的Java架构师!
下一篇: 面试又被问懵了吗?不如把ThreadLocal拆开了揉碎看看
JavaCaiy
博客等级 码龄6年 1万+粉丝 95原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值