国产化技术探究达梦8数据库搭建一主一从双机热备守护Data Watch集群搭建实战windows版本

本文主要是介绍国产化技术探究达梦8数据库搭建一主一从双机热备守护Data Watch集群搭建实战windows版本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

国产化技术探究达梦8数据库搭建一主一从双机热备守护Data Watch集群搭建实战windows版本

如果是Linux版本达梦8部署则参考笔者另一篇博文

https://blog.csdn.net/nasen512/article/details/133737692

此文章针对是windows版本的达梦部署

1、测试环境介绍

服务器类型IP地址操作系统数据库实例名称
主机172.18.21.139win10DMSERVER
备机172.18.21.140win10DMSERVER2
参数主库备库
实例名称DMSERVERDMSERVER 2
IP172.18.21.139172.18.21.140
OGUID4533145331
守护组GRP1GRP1
归档上限5120051200
安装目录C:\dmdbms\binC:\dmdbms\bin
实例目录D:\dmdbmsD:\dmdbms

(1)操作系统

在这里插入图片描述

(2)达梦数据库版本

在这里插入图片描述

(3)达梦的日志目录

C:\dmdbms\log

在这里插入图片描述

2、准备工作

提前把2个测试服务器的防火墙关闭
在这里插入图片描述
2个服务器互相验证是否ping通
如果是生产环境,则需要梳理一下需要开通的端口
2个服务器提前安装好windows版本的达梦8,并且保证硬盘、内存剩余!

3、集群部署(必须按照详细的步骤顺序操作)

3.1主库139服务器操作

(1)步骤1初始化实例

进到CMD控制台,尽量用Administrator最高权限用户执行!
在这里插入图片描述

cd C:\dmdbms\bin
dminit PATH=d:\dmdata UNICODE_FLAG=1 LENGTH_IN_CHAR=1 CASE_SENSITIVE=0  EXTENT_SIZE=64 PAGE_SIZE=32 INSTANCE_NAME=DMSERVER

在这里插入图片描述
启动一下,SYSTEM IS READY.之后,按ctl+c键盘exit退出

dmserver D:\dmdata\DAMENG\dm.ini

在这里插入图片描述
在这里插入图片描述

(3)注册数据库服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
正常启动服务

(4)开启归档配置
 打开cmd
cd C:\dmdbms\bin
disql  #输入SYSDBA SYSDBA

在这里插入图片描述
执行下列的SQL语句

ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=D:\dmdata\DAMENG\arch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
ALTER DATABASE OPEN;

执行一些系统的配置

SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60);
SP_SET_PARA_VALUE (2,'ALTER_MODE_STATUS',0);
SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2);
SP_SET_PARA_VALUE (2,'MAL_INI',1);
SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);

此时用windows的服务管理先把实例关掉,因为下面要脱机备份!
在这里插入图片描述

(4)主库脱机备份导出备份文件

进入CMD

cd C:\dmdbms\bindmrman use_ap=2 CTLSTMT="BACKUP DATABASE 'D:\dmdata\DAMENG\dm.ini' FULL TO BACKUP_FILE1 BACKUPSET 'D:\dmdata\DAMENG\bak\BACKUP_FILE_01'"

在这里插入图片描述
执行主机备份成功
主库的备份文件在下面路径

D:\dmdata\DAMENG\bak\BACKUP_FILE_01
(5)编辑4个配置文件放到实例路径
D:\dmdata\DAMENG    #实例路径

在这里插入图片描述
将4个文件创建复制到D:\dmdata\DAMENG

(1)dmarch.ini

ARCH_WAIT_APPLY      = 0[ARCHIVE_LOCAL1]
ARCH_TYPE            = LOCAL
ARCH_DEST            = D:\dmdata\DAMENG\arch
ARCH_FILE_SIZE       = 1024
ARCH_SPACE_LIMIT     = 51200
ARCH_FLUSH_BUF_SIZE  = 0
ARCH_HANG_FLAG       = 1[ARCHIVE_REALTIME1]
ARCH_TYPE                = REALTIME  #实时归档类型
ARCH_DEST                = DMSERVER2  #实时归档目标

(2)dmmal.ini

MAL_CHECK_INTERVAL      = 5
MAL_CONN_FAIL_INTERVAL  = 5[MAL_INST1]MAL_INST_NAME         = DMSERVERMAL_HOST              = 172.18.21.139MAL_PORT              = 5238MAL_INST_HOST         = 172.18.21.139MAL_INST_PORT         = 5236MAL_DW_PORT           = 5239MAL_INST_DW_PORT      = 5237[MAL_INST2]MAL_INST_NAME         = DMSERVER2MAL_HOST              = 172.18.21.140MAL_PORT              = 5238MAL_INST_HOST         = 172.18.21.140MAL_INST_PORT         = 5236MAL_DW_PORT           = 5239MAL_INST_DW_PORT      = 5237

(3)dmmonitor.ini

MON_DW_CONFIRM             = 0  #0:非确认(故障手切) 1:确认(故障自切)
MON_LOG_PATH               = C:\dmdbms\log  #监视器日志文件存放路径
MON_LOG_INTERVAL           = 60  #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE          = 512  #单个日志大小,单位 MB
MON_LOG_SPACE_LIMIT        = 2048  #日志上限,单位 MB[GRP1]
MON_INST_OGUID           = 45331  #组 GRP1 的唯一 OGUID 值
MON_DW_IP                = 172.18.21.139:5239  #IP 对应 MAL_HOST,PORT 对应 MAL_DW_PORT
MON_DW_IP                = 172.18.21.140:5239

(4)dmwatcher.ini

[GRP1]
DW_TYPE                  = GLOBAL  #全局守护类型
DW_MODE                  = MANUAL  #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME            = 20  #远程守护进程故障认定时间
INST_ERROR_TIME          = 20  #本地实例故障认定时间
INST_RECOVER_TIME        = 60  #主库守护进程启动恢复的间隔时间
INST_OGUID               = 45331  #守护系统唯一 OGUID 值
INST_INI                 = d:\dmdata\DAMENG\dm.ini  #dm.ini 文件路径
INST_AUTO_RESTART        = 1  #打开实例的自动启动功能
INST_STARTUP_CMD         = C:\dmdbms\bin\dmserver  #命令行方式启动
RLOG_SEND_THRESHOLD      = 0  #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD     = 0  #指定备库重演日志的时间阈值,默认关闭

在这里插入图片描述

(6)注册守护服务

在这里插入图片描述
在这里插入图片描述

右键注册服务
在这里插入图片描述
在这里插入图片描述
笔者发现用达梦这个自动注册守护服务有的时候会失败,重复注册又好了,注意!
如果发现通过起不来守护的服务,则重新换个名字注册,再试!!
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2主库140备机器服务器操作

(1)步骤1初始化实例

进到CMD控制台,尽量用Administrator最高权限用户执行!
在这里插入图片描述

cd C:\dmdbms\bin
dminit PATH=d:\dmdata UNICODE_FLAG=1 LENGTH_IN_CHAR=1 CASE_SENSITIVE=0  EXTENT_SIZE=64 PAGE_SIZE=32 INSTANCE_NAME=DMSERVER2

注意:实例名称要跟主库区分开!140实例是DMSERVER2注意!
在这里插入图片描述
启动一下,SYSTEM IS READY.之后,按ctl+c键盘exit退出

dmserver D:\dmdata\DAMENG\dm.ini

在这里插入图片描述
在这里插入图片描述

(2)注册实例服务

在这里插入图片描述

在这里插入图片描述

(3)开启归档配置
 打开cmd
cd C:\dmdbms\bin
disql  #输入SYSDBA SYSDBA

在这里插入图片描述
执行下列的SQL语句

ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=D:\dmdata\DAMENG\arch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
ALTER DATABASE OPEN;

执行一些系统的配置

SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60);
SP_SET_PARA_VALUE (2,'ALTER_MODE_STATUS',0);
SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2);
SP_SET_PARA_VALUE (2,'MAL_INI',1);
SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);

此时用windows的服务管理先把实例关掉,因为下面要脱机备份!
在这里插入图片描述

(5)将139之前备份的文件复制过来复制到140一样的目录
D:\dmdata\DAMENG\bak\BACKUP_FILE_01 #复制到140一样的目录

在这里插入图片描述
也把D:\dmdata\DAMENG\arch的路径文件从139复制到140

D:\dmdata\DAMENG\arch

执行还原

cd C:\dmdbms\bin
dmrman CTLSTMT="RESTORE DATABASE 'd:\dmdata\DAMENG\dm.ini' FROM BACKUPSET 'd:\dmdata\DAMENG\bak\BACKUP_FILE_01'"

在这里插入图片描述

dmrman

在这里插入图片描述

recover database 'd:\dmdata\DAMENG\dm.ini' with archivedir 'd:\dmdata\DAMENG\arch'; 

在这里插入图片描述

RECOVER DATABASE 'd:\dmdata\DAMENG\dm.ini' UPDATE DB_MAGIC;

在这里插入图片描述
备数据库数据恢复成功

(6)配置4个配置文件

在这里插入图片描述
(1)dmarch.ini

#DaMeng Database Archive Configuration file
#this is commentsARCH_WAIT_APPLY      = 0        [ARCHIVE_LOCAL1]ARCH_TYPE            = LOCAL        ARCH_DEST            = D:\dmdata\DAMENG\arch        ARCH_FILE_SIZE       = 1024        ARCH_SPACE_LIMIT     = 51200        ARCH_FLUSH_BUF_SIZE  = 0        ARCH_HANG_FLAG       = 1        
[ARCHIVE_REALTIME1]
ARCH_TYPE                = REALTIME  #实时归档类型
ARCH_DEST                = DMSERVER  #实时归档目标

(2)dmmal.ini

MAL_CHECK_INTERVAL      = 5
MAL_CONN_FAIL_INTERVAL  = 5[MAL_INST1]MAL_INST_NAME         = DMSERVERMAL_HOST              = 172.18.21.139MAL_PORT              = 5238MAL_INST_HOST         = 172.18.21.139MAL_INST_PORT         = 5236MAL_DW_PORT           = 5239MAL_INST_DW_PORT      = 5237[MAL_INST2]MAL_INST_NAME         = DMSERVER2MAL_HOST              = 172.18.21.140MAL_PORT              = 5238MAL_INST_HOST         = 172.18.21.140MAL_INST_PORT         = 5236MAL_DW_PORT           = 5239MAL_INST_DW_PORT      = 5237

(3)dmmonitor.ini

MON_DW_CONFIRM             = 0  #0:非确认(故障手切) 1:确认(故障自切)
MON_LOG_PATH               = C:\dmdbms\log  #监视器日志文件存放路径
MON_LOG_INTERVAL           = 60  #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE          = 512  #单个日志大小,单位 MB
MON_LOG_SPACE_LIMIT        = 2048  #日志上限,单位 MB[GRP1]
MON_INST_OGUID           = 45331  #组 GRP1 的唯一 OGUID 值
MON_DW_IP                = 172.18.21.139:5239  #IP 对应 MAL_HOST,PORT 对应 MAL_DW_PORT
MON_DW_IP                = 172.18.21.140:5239

(4)dmwatcher.ini

[GRP1]
DW_TYPE                  = GLOBAL  #全局守护类型
DW_MODE                  = MANUAL  #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME            = 20  #远程守护进程故障认定时间
INST_ERROR_TIME          = 20  #本地实例故障认定时间
INST_RECOVER_TIME        = 60  #主库守护进程启动恢复的间隔时间
INST_OGUID               = 45331  #守护系统唯一 OGUID 值
INST_INI                 = D:\dmdata\DAMENG\dm.ini  #dm.ini 文件路径
INST_AUTO_RESTART        = 1  #打开实例的自动启动功能
INST_STARTUP_CMD         = C:\dmdbms\bin\dmserver  #命令行方式启动
RLOG_SEND_THRESHOLD      = 0  #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD     = 0  #指定备库重演日志的时间阈值,默认关闭

在这里插入图片描述

(7)注册守护服务

在这里插入图片描述

右键注册服务
在这里插入图片描述
在这里插入图片描述
笔者发现用达梦这个自动注册守护服务有的时候会失败,重复注册又好了,注意!
如果发现通过起不来守护的服务,则重新换个名字注册,再试!!
方法就是用达梦服务器查看器删除旧服务然后重新创建守护服务解决!
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.3配置主从信息

(1)139服务器上操作

启动数据库实例服务
在这里插入图片描述

 打开cmd
cd C:\dmdbms\bin
disql  #输入SYSDBA SYSDBA
ALTER DATABASE MOUNT;
SP_SET_OGUID(45331);ALTER DATABASE PRIMARY;SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);ALTER DATABASE OPEN FORCE;

执行完然后马上关闭实例服务
在这里插入图片描述

(2)140服务器上操作

启动数据库实例服务

 打开cmd
cd C:\dmdbms\bin
disql  #输入SYSDBA SYSDBA
ALTER DATABASE MOUNT;
SP_SET_OGUID(45331);
ALTER DATABASE STANDBY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);ALTER DATABASE OPEN FORCE;

执行完然后马上关闭实例服务

3.4启动主从集群

在这里插入图片描述

(1)139服务器上操作

1、启动实例服务
2、启动守护服务

(2)140服务器上操作

1、启动实例服务
2、启动守护服务
在这里插入图片描述

3.5查看监控

 打开cmd
cd C:\dmdbms\bin
dmmonitor d://dmdata//DAMENG//dmmonitor.ini

show
在这里插入图片描述
2个服务器关闭守护服务关闭实例服务,再把主库的数据备份再恢复到从库,再试!

在这里插入图片描述

这次部署失败了,看CLSN2个服务器的值,如果差的很大,就代表部署失败了!

最终问题解决

笔者试过很多次按照文章上述主库备份导出到从库,反复实验,还是失败。笔者预估操作主库离线备份的时候,主库会自动变成mount状态,然后这种离线备份的方式似乎有影响。
后来笔者参考之前操作成功的案例,笔者决定换一种备份的方式(以open状态备份)尝试解决。

(1)139主库服务器open方式备份(弃用离线备份)

先将实例服务打开

在这里插入图片描述
此时我们登录到控制台

 打开cmd
cd C:\dmdbms\bin
disql  #输入SYSDBA SYSDBA

然后查询一下当前服务器的运行状态

select status$ from v$instance;

如果为mount状态,需要转换为open状态!
执行下列SQL

ALTER DATABASE MOUNT;#如果为mount状态这个不用执行!SP_SET_OGUID(45331);ALTER DATABASE PRIMARY;SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);ALTER DATABASE OPEN FORCE;

执行完在查询当前的状态

select status$ from v$instance;

在这里插入图片描述
处于这个状态的时候,我们就可以执行备份操作了。这个备份是数据库实例活着并且为open状态的备份,上面的备份是关闭实例的备份。

BACKUP DATABASE BACKUPSET 'D:\dmdata\DAMENG\bak\BACKUP_FILE_01';

备份出的的文件跟之前离线备份文件有些不同!
在这里插入图片描述

此时把139主库的实例服务关闭,这里为什么关闭实例,笔者经过反复实验发现,如果用活备份,主库会不断产生归档日志,如果不马上关闭实例,会导致后期主从的同步延迟变高。
在这里插入图片描述
现在139,140 2个服务器所有服务都是关着的。

(2)140备份服务器操作

启动一下140的实例服务
在这里插入图片描述

 打开cmd
cd C:\dmdbms\bin
disql  #输入SYSDBA SYSDBA

然后查询一下当前服务器的运行状态

select status$ from v$instance;

如果为mount状态,需要转换为open状态!
执行下列SQL

ALTER DATABASE MOUNT;   #如果为mount状态这个不用执行!
SP_SET_OGUID(45331);
ALTER DATABASE STANDBY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
ALTER DATABASE OPEN FORCE;

执行完在查询当前的状态

select status$ from v$instance;

在这里插入图片描述

调整完关闭当前140实例服务,此处为啥要关闭服务,是因为笔者将主库与备库的状态都提前调整成open状态,然后再执行恢复数据操作。
等恢复完,启动的时候,主备实例启动都是默认是open的状态。笔者反复测试,发现这么操作可以部署成功。并且从库140执行恢复是离线方式恢复。
简单说:把主库从库都为正常open状态,再恢复好数据,最终关闭服务,再重启各自的守护服务。
而不是其中一个mount就启动守护服务,这种部署一定失败!

在这里插入图片描述

执行恢复数据操作

提前把140的D:\dmdata\DAMENG\bak\BACKUP_FILE_01的文件清空,然后从139同样的目录把文件拷过来!注意!

cd C:\dmdbms\bin
dmrman CTLSTMT="RESTORE DATABASE 'd:\dmdata\DAMENG\dm.ini' FROM BACKUPSET 'D:\dmdata\DAMENG\bak\BACKUP_FILE_01'"

提前把140的D:\dmdata\DAMENG\arch的文件清空,然后从139同样的目录把文件拷过来!注意!此处如果不执行,140启动实例服务的时候,会报错!

dmrman

在这里插入图片描述

recover database 'd:\dmdata\DAMENG\dm.ini' with archivedir 'd:\dmdata\DAMENG\arch'; 

在这里插入图片描述

RECOVER DATABASE 'd:\dmdata\DAMENG\dm.ini' UPDATE DB_MAGIC;

在这里插入图片描述
备数据库数据恢复成功

(3)集群的启动并且查看监控

步骤1启动139服务器实例服务
步骤2启动140服务器实例服务
步骤3启动139守护服务
步骤4启动140守护服务
步骤5139服务器查看监控

打开cmd
cd C:\dmdbms\bin
dmmonitor d://dmdata//DAMENG//dmmonitor.ini

在这里插入图片描述
CLSN值接近才算部署成功
执行 show
在这里插入图片描述

最终测试主从集群同步

(1)139主库插入数据

CREATE TABLE TABLE_1(id int);
INSERT INTO TABLE_1 VALUES(1);
COMMIT;

在这里插入图片描述

(2)140从库查看数据

desc TABLE_1;

在这里插入图片描述

SELECT * FROM TABLE_1;

在这里插入图片描述

最终测试主库备库切换

su dmdba
cd /opt/dmdbms/bin
./dmmonitor /dmdata/DAMENG/dmmonitor.ini
login

在这里插入图片描述

Switchover

执行切换命令
继续
show 命令

在这里插入图片描述

会发现139与140会互换!

switchover [group_name[.]] [db_name]

将指定组中的指定备库切换为新的主库,将当前的主库切换为新的备库,此命令要求执
行切换的主备库都是正常 Open 状态。执行此命令需要先登录监视器。
只有一组的情况下,可以不指定 group_name,组中只有一个备库的情况下,可以不
指定 db_name,如果 group_name 和 db_name 同时指定,则需要用―.‖符合分隔。

如果你需要部署linux操作系统请参考笔者另外一篇文章

https://blog.csdn.net/nasen512/article/details/133737692

启动和退出流程

退出过程:退出监视器——关闭备机的守护进程——关闭主机的守护进程——关闭主机实例——关闭备机实例
启动过程:开主机实例——开主机守护进程——开备机实例——开备机守护进程——打开确认监视器

生产环境的部署注意点

1、将上述文章里面的配置文件里面的端口梳理,要依次打开,保证主备2个服务器的通讯正常!
2、如果生产上需要部署主备集群,则需要先把生产的数据库进行备份,然后部署完空的主备集群,然后再把数据恢复到主库。数据库备份导出导入的方法参考笔者另篇文章!

https://blog.csdn.net/nasen512/article/details/127404681   #达梦数据库导入导出方法

提前要把达梦的数据库用户建好,恢复数据库之前要注意。笔者也测试过,主库新增用户,从库也会自动创建,是根据数据库实例为单位进行数据同步的,主库恢复数据,从库也会跟上同步,已经验证过!

总结windows版本守护主备配置难点:
1、守护服务创建失败
2、主从数据库的状态为mount,不能正常!
3、主库数据备份,恢复到从库过程中遇到错误!

这篇关于国产化技术探究达梦8数据库搭建一主一从双机热备守护Data Watch集群搭建实战windows版本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/199282

相关文章

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶