当前位置: 首页 > news >正文

基于Linux环境实现Oracle goldengate远程抽取MySQL同步数据到MySQL

基于Linux环境实现Oracle goldengate远程抽取MySQL同步数据到MySQL

场景说明:
先有项目需要读取生产库数据,但是不能直接读取生产库数据,需要把生产数据同步到一个中间库,下游系统从中间库读取数据。

生产库mysql - OGG - 中间库 mysql

备注:中间库也可以是其Oracle或者其他数据库类型,为了方便处理,采用同类型数据库

ogg版本:ogg21.5

前提条件

Ogg18.1 remote capture要求mysql为5.7版本,只能从linux远程捕获mysql on windows or linux,且不支持DDL捕获。支持远程mysql为community/commerical版本。OGG抽取配置
远程捕获不支持DDL同步。远程捕获参考网址:
https://docs.oracle.com/en/middleware/goldengate/core/19.1/oggmp/oracle-goldengate-classic-mysql.html#GUID-A70C0798-CE2A-4938-A54E-16BD9BA415AE
https://docs.oracle.com/en/middleware/goldengate/core/21.3/gghdb/preparing-and-configuring-system-oracle-goldengate.html#GUID-DCEF7BEE-CCF0-4531-8266-36F15105EDFA通常,从站应用的事务会记录到中继日志中,而不是从站的二进制日志中。
要使从属服务器在其二进制日志中写入从属服务器从属服务器接收的事务,
必须将 my.cnf 中的 log-slave-updates 选项作为 1 与 Oracle GoldenGate 
的其他二进制日志记录参数一起启动复制从属服务器。在主节点的事务进入从节点的二进制日志后,
您可以在节点上设置常规的 Oracle GoldenGate 捕获,以捕获和处理节点的二进制日志。

准备工作 源端创建OGG应用用户


--源端创建OGG同步用户(测试环境)
CREATE USER 'ogguser_s'@'10.10.xx.xx' IDENTIFIED BY 'Sjztdb#2023';
GRANT ALL PRIVILEGES ON *.* TO 'ogguser_s'@'10.10.xx.xx' WITH GRANT OPTION;
FLUSH PRIVILEGES;--源端创建OGG同步用户(生产环境)
CREATE USER 'ogguser_s'@'10.128.xx.xx' IDENTIFIED BY 'Sjztdb#2023';
GRANT ALL PRIVILEGES ON *.* TO 'ogguser_s'@'10.128.xx.xx' WITH GRANT OPTION;
FLUSH PRIVILEGES;创建测试表:
create table mtab (mid int primary key,mname varchar(100),vdate date);
insert into mtab values(1001,'oggtomysql','2024-01-01');

准备工作 目标端创建ogg同步用户

-- 语法
dbhostname是OGG服务器地址
mysql > CREATE USER 'targetuser'@'dbhostname' IDENTIFIED BY 'password'; 
mysql > GRANT ALL PRIVILEGES ON *.* TO 'targetuser'@'dbhostname'; 
mysql > FLUSH PRIVILEGES;--创建用户并授权(测试环境)
CREATE USER 'ogguser_t'@'10.10.xx.xx' IDENTIFIED BY 'Sjztdb#2023'; 
GRANT ALL PRIVILEGES ON *.* TO 'ogguser_t'@'10.10.xx.xx'; 
FLUSH PRIVILEGES;ALTER USER 'ogguser_t'@'10.10.194.7' IDENTIFIED WITH mysql_native_password BY 'Sjztdb#2023';
flush privileges;--目标端数据库创建用户并授权(生产环境)
CREATE USER 'ogguser_t'@'10.128.xx.xx' IDENTIFIED BY 'Sjztdb#2023'; 
GRANT ALL PRIVILEGES ON *.* TO 'ogguser_t'@'10.128.xx.xx'; 
FLUSH PRIVILEGES;
ALTER USER 'ogguser_t'@'10.128.xx.xx' IDENTIFIED WITH mysql_native_password BY 'Sjztdb#2023';
flush privileges;--测试验证登录目标端数据库
dblogin sourcedb apvll@10.128.xx.xx:3306, userid ogguser_t, password Sjztdb#2023

安装OGG

--创建OGG目录
mkdir /data/ogg181_mysql
--解压OGG
unzip -d /data/ogg181_mysql/ ogg181mysql.zip 
--配置别名
alias mggsci='/data/ogg181_mysql/ggsci'
--创建OGG目录
create subdirs

MGR 进程配置

GGSCI (oggser) 2> view param mgrport 7920
dynamicportlist 7920-7925
AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS,MINKEEPDAYS 3
ACCESSRULE, PROG *, IPADDR 10.10.*.*, ALLOW
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45

--确认OGG能远程连接到mysql
--测试验证登录源端数据库
dblogin sourcedb ap@10.128.3x.xx:3306, userid ogguser_s, password Sjztdb#2023GGSCI (oggsend-194-7) 2> dblogin sourcedb ap@10.128.3x.xx:3306, userid ogguser_s, password Sjztdb#2023
Successfully logged into database.创建OGG登录别名
配置用户凭证
add credentialstore
alter credentialstore add user ogguser_s@10.128.3x.xx:3306/apvll, password Sjztdb#2023 alias s_mysql1  ##源端 
alter credentialstore add user ogguser_t@10.128.3x.xx:3306/apvll, password Sjztdb#2023 alias t_mysql2  ##目标端 测试别名登录
DBLOGIN SOURCEDB apvll@10.128.3x.xx:3306 USERIDALIAS s_mysql1
DBLOGIN SOURCEDB apvll@10.128.3x.xx:3306 USERIDALIAS t_mysql2

配置抽取进程

--添加进程
ADD EXTRACT eap, TRANLOG, BEGIN NOW
ADD EXTTRAIL ./dirdat/eb, EXTRACT eap--编辑参数 (生产配置)
EDIT PARAMS eapEXTRACT eap
sourcedb ap@10.128.3x.xx:3306, userid ogguser_s, password Sjztdb#2023
DISCARDFILE ./dirrpt/eap.dsc, APPEND, MEGABYTES 1024
DISCARDROLLOVER AT 05:30 ON MONDAY
TRANLOGOPTIONS ALTLOGDEST REMOTE
EXTTRAIL ./dirdat/eb
TABLE ap.arrival_;--删除抽取进程,如果需要
delete EXTRACT eap

配置应用进程

--添加应用进程
--1.目标端添加检查表(生产环境)
dblogin sourcedb ap@10.128.xx.xx:3306, userid ogguser_t, password Sjztdb#2023
ADD CHECKPOINTTABLE ap.ggcheck2--2.编辑参数(生产环境)
EDIT PARAMS rapREPLICAT rap
TARGETDB apvll@10.128.xx.xx:3306, userid ogguser_t, password Sjztdb#2023
DISCARDFILE ./dirrpt/rap.dsc, APPEND, MEGABYTES 1024
DISCARDROLLOVER AT 05:30 ON MONDAY
MAP ap.arrival_, TARGET ap.arrival_;--3.添加应用进程
ADD REPLICAT rap, EXTTRAIL ./dirdat/eb, CHECKPOINTTABLE ap.ggcheck2--4.删除应用进程
DELETE REPLICAT rap

数据初始化

-- 批量导出dbname数据库中多张表结构
mysqldump -uroot -pAa123456 -d --databases ap --tables arrival_ > db0408.sql//方式1:通过mysqldump导出导入的方式进行初始化--从源端导出数据
--导出某个表 (需要加入--master-data 记录导出时候的binlog日志文件和pos位置)
mysqldump -uroot -pAa123456 --master-data --databases apvll --tables apv_common_relation >/tmp/apv_common_relation.sqlmysqldump -uroot -pAa123456 --master-data --databases apvll --tables arrival_area_enter_out apv_result_common arrival_area_hour_info arrival_area_total_info > /tmp/newdata0409.sql--目标端导入数据//方式2:
--通过OGG初始化进程进行初始化
--编辑初始化抽取进程参数 
edit param einit1extract einit1
sourcedb apvll@10.128.35.14:3306, userid ogguser_s, password Sjztdb#2023
TRANLOGOPTIONS ALTLOGDEST REMOTE
rmthost 10.128.255.146, mgrport 7920
rmttask replicat, group rinit1
TABLE apvll.arrival_area_enter_out;--添加初始化抽取进程 
add extract einit1, sourceistable--OGG服务器添加初始化应用进程
--编辑初始化应用进程参数 
edit param rinit1replicat rinit1
TARGETDB apvll@10.128.103.38:3306, userid ogguser_t, password Sjztdb#2023
discardfile ./dirrpt/rinit1.dsc, purge
MAP apvll.arrival_area_enter_out, TARGET apvll.arrival_area_enter_out;--添加初始化应用进程
add replicat rinit1,specialrun--删除初始化进程
delete replicat rinit1

启动同步进程


--查看mysqldump导出文件的binlog位置和pos位置--CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.002414', MASTER_LOG_POS=767854389;-- 修改抽取进程开始抽取的日志文件和pos位置
ALTER EXTRACT eap,lognum 2414,logpos 767854389
--启动抽取进程
start eap
--启动应用进程 
start rap

相关问题

问题1:启动抽取进程报错


2024-03-21 15:35:06  INFO    OGG-01052  No recovery is required for target file ./dirdat/et000000000, at RBA 0 (filenot opened).2024-03-21 15:35:06  INFO    OGG-01478  Output file ./dirdat/et is using format RELEASE 12.3/18.1.2024-03-21 15:35:06  INFO    OGG-00182  VAM API running in single-threaded mode.2024-03-21 15:35:06  INFO    OGG-01515  Positioning to begin time 2024 M03 21 15:34:26.
terminate called after throwing an instance of 'std::invalid_argument'what():  stol更换OGG版本为19.1,重新启动抽取进程出现如下提示2024-03-21 15:45:57  ERROR   OGG-00146  Call to VAMInitialize returned with error status 600: VAM Client Report <CAU
SE OF FAILURE : Invalid argument: stol for log file: mysql-bin.000001�. Y logFileNameLen: 20, CheckSumLength: 0. Logfile name contains non numeric characters
WHEN FAILED : While reading log event from binary log
WHERE FAILED : MySQLBinLog Reader Module
CONTEXT OF FAILURE : No Information Available!>.更换版本为21.3版本之后正常启动。

问题2:启动应用进程报错

--问题
Process Abending : 2024-04-09 14:42:02.536013Oracle GoldenGate Delivery for MySQL process started, group rap discard file opened: 2024-04-09 14:51:53.977658
Current time: 2024-04-09 14:51:54
Discarded record from action ABEND on error 1403No data found
Aborting transaction on /OSdata/ogg213_mysql/dirdat/ed beginning at seqno 0 rba 2,171.error at seqno 0 rba 2171
Problem replicating apvll.arrival_area_enter_out to ap.arrival_
Record not found
Mapping problem with delete record (target format) SCN:000000000000000002414:000000616156738...
*
id = 0368072643414db9929565eff2aa2364
000000: 30 33 36 38 30 37 32 36 34 33 34 31 34 64 62 39 |0368072643414db9|
000010: 39 32 39 35 36 35 65 66 66 32 61 61 32 33 36 34 |929565eff2aa2364|*Process Abending : 2024-04-09 14:51:54.563740--检查处理  ,源端和目标端都未查询到该记录
mysql> select id from ap.arrival_ where id = '0368072643414db9929565eff2aa2364';
Empty set (0.01 sec)mysql> select id from ap.arrival_ where id = '0368072643414db9929565eff2aa2364';
Empty set (0.00 sec)--继续分析队列文件GGSCI (oggser- DBLOGIN as ogguser_t) 37> info rapReplicat   rapLast Started 2024-04-09 14:51   Status ABENDED
Checkpoint Lag       00:00:00 (updated 00:26:29 ago)
Log Read Checkpoint  File ./dirdat/ed000000000First Record  RBA 1341./logdump open ./dirdat/ed000000000 Logdump 3 >pos 1341
----pos + RBA号,直接跳到这个记录上,这里为什么跳到1259呢?因为 info rap命令查询出来的结果告诉我们,1341 是他当前正在处理的事务。Logdump 4 >sfh  2024/04/09 14:42:00.877.974 Metadata             Len 84 RBA 1341 
Database Name:  3000 5000 0100 0200 0100 0200 4600 0100 0400 0000 | 0.P.........F.......  0000 0200 0400 0200 0000 0300 0700 0500 656e 5f55 | ................en_U  5304 000f 000d 0041 7369 612f 5368 616e 6768 6169 | S......Asia/Shanghai  0500 1400 1000 0000 1112 1122 2211 1112 1111 1111 | ..........."".......  1111 1111                                         | ....  
Logdump 5 >N2024/04/09 14:42:00.877.975 Metadata             Len 616 RBA 1476 
Table Name: ap.arrival_3040 6202 0000 0100 0200 0b00 0200 0a00 0100 0600 | 0@b.................  0100 0200 0100 0340 4802 0000 0a00 3200 3000 0200 | .......@H.....2.0...  6964 4000 6000 0000 6000 0000 6000 0000 0000 0000 | id@.`...`...`.......  0000 0000 0000 0000 0000 0000 fd00 0000 0000 0000 | ....................  0000 0000 2300 3700 3500 0700 7061 726b 5f69 6440 | ....#.7.5...park_id@  0060 0000 0060 0000 0060 0000 0000 0000 0000 0000 | .`...`...`..........  0065 0000 0000 0000 00fd 0000 0000 0000 0000 0000 | .e..................  
Logdump 6 >--分析可能的原因:
是因为没有指定抽取进程开始抽取的pos号,所以抽取进程把之前的操作记录也都抽取了,所以之前的记录都已经没有了

相关文章:

基于Linux环境实现Oracle goldengate远程抽取MySQL同步数据到MySQL

基于Linux环境实现Oracle goldengate远程抽取MySQL同步数据到MySQL 场景说明&#xff1a; 先有项目需要读取生产库数据&#xff0c;但是不能直接读取生产库数据&#xff0c;需要把生产数据同步到一个中间库&#xff0c;下游系统从中间库读取数据。 生产库mysql - OGG - 中间库…...

linux,我启动一个springboot项目, 用java -jar xxx.jar ,但是没多久这个java进程就会自动关掉

当使用 java -jar xxx.jar & 启动 Spring Boot 项目后进程自动关闭时&#xff0c;可能由多种原因导致。以下是常见排查步骤和解决方案&#xff1a; 一、查看日志定位原因 进程异常关闭通常会在控制台或日志中留下线索&#xff0c;建议先获取完整日志&#xff1a; 1. 查看…...

pytorch 14.3 Batch Normalization综合调参实践

文章目录 一、Batch Normalization与Batch_size综合调参二、复杂模型上的Batch_normalization表现1、BN对复杂模型&#xff08;sigmoid&#xff09;的影响2、模型复杂度对模型效果的影响3、BN对复杂模型&#xff08;tanh&#xff09;的影响 三、包含BN层的神经网络的学习率优化…...

供应链安全检测系列技术规范介绍之一|软件成分分析

软件成分分析的概念及意义 软件成分分析Software Compostition Analysis&#xff08;SCA&#xff09;是一种用于管理开源组件应用安全的方法。软件成分分析系统可以快速跟踪和分析应用软件的开源组件&#xff0c;发现相关组件、支持库以及它们之间直接和间接依赖关系&#xff0…...

pytorch 15.1 学习率调度基本概念与手动实现方法

文章目录 一、学习率对模型训练影响 二、学习率调度基本概念与手动实现方法1.模型调度基本概念2.手动实现学习率调度3.常用学习率调度思路 从本节开始&#xff0c;我们将介绍深度学习中学习率优化方法。学习率作为模型优化的重要超参数&#xff0c;在此前的学习中&#xff0c;我…...

c++ 类的语法4

测试析构函数、虚函数、纯虚函数&#xff1a; void testClass5() {class Parent {public:Parent(int x) { cout << "Parent构造: " << x << endl; }~Parent() {cout << "调用Parent析构函数" << endl;}virtual string toSt…...

品铂科技在UWB行业地位综述(2025年更新)

一、行业领先地位‌ ‌国内UWB领域头部企业‌ 在2025年中国UWB企业综合实力排行榜中位列第一&#xff0c;技术研发、市场份额及行业影响力均处于领先地位。连续多年获评中国物联网产业联盟“中国最有影响力物联网定位企业”。 2.‌全球技术竞争力‌ .2016年IPSN微软国际室内…...

muduo库EventLoop模块详解

muduo库EventLoop模块深度解析 EventLoop是muduo网络库实现Reactor模型的核心调度中枢&#xff0c;负责驱动整个事件循环机制&#xff0c;协调Poller、Channel、TimerQueue等组件的工作。其设计遵循"One Loop Per Thread"原则。 一、核心职责与设计思想 1. 核心职责…...

循环导入(Circular Import) 错误

ImportError: cannot import name event_type_data_tree from partially initialized module routers.ticket (most likely due to a circular import) (E:\ai12345\backend\app\routers\ticket.py) 这是什么错&#xff0c;中文回答 这个错误是 循环导入&#xff08;Circular …...

基于大数据的租房信息可视化系统的设计与实现【源码+文档+部署】

课题名称 基于大数据的租房信息可视化系统的设计与实现 学 院 专 业 计算机科学与技术 学生姓名 指导教师 一、课题来源及意义 租房市场一直是社会关注的热点问题。随着城市化进程的加速&#xff0c;大量人口涌入城市&#xff0c;导致租房需求激增。传统的租…...

奥运数据可视化:探索数据讲述奥运故事

在数据可视化的世界里&#xff0c;体育数据因其丰富的历史和文化意义&#xff0c;常常成为最有吸引力的主题之一。今天我要分享一个令人着迷的奥运数据可视化项目&#xff0c;它巧妙地利用交互式图表和动态动画&#xff0c;展现了自1896年至今奥运会的发展历程和各国奥运成就的…...

linux环境下 安装svn并且创建svn版本库详细教程

​一、安装SVN​ ​通过yum安装Subversion​ 在Linux系统中执行以下命令安装&#xff1a; yum install subversion -y 安装完成后&#xff0c;验证版本&#xff1a; svnserve --version ​二、创建版本库 ​选择存储路径并创建目录​ 通常将版本库放在/var/svn或/usr/local/…...

STM32控制电机

初始化时钟&#xff1a;在 STM32 的程序中&#xff0c;初始化系统时钟&#xff0c;一般会使用 RCC&#xff08;Reset and Clock Control&#xff09;相关函数来配置时钟。例如&#xff0c;对于 STM32F103 系列&#xff0c;可能会使用 RCC_APB2PeriphClockCmd 函数来使能 GPIO 和…...

Ubuntu 更改 Nginx 版本

将 1.25 降为 1.18 先卸载干净 # 1. 完全卸载当前Nginx sudo apt purge nginx nginx-common nginx-core# 2. 清理残留配置 sudo apt autoremove sudo rm -rf /etc/apt/sources.list.d/nginx*.list修改仓库地址 # 添加仓库&#xff08;通用稳定版仓库&#xff09; codename$(…...

微服务初步学习

系统架构演变过程 一、单体架构 前后端都在一个项目中&#xff0c;包括我们现在的前后端分离开发&#xff0c;都可以看作是一个单体项目。 二、集群架构 把一个服务部署多次&#xff0c;可以解决服务不够的问题&#xff0c;但是有些不必要的功能也跟着部署多次。 三、垂直架…...

旧 docker 版本通过 nvkind 搭建虚拟多节点 gpu 集群的坑

踩坑 参考nvkind教程安装到Setup这一步&#xff0c;由于docker版本较旧&#xff0c;–cdi.enabled 和 config 参数执行不了 手动修改 /etc/docker/daemon.json 配置文件 "features": {"cdi": true}手动修改 /etc/nvidia-container-runtime/config.toml 配…...

Fabric 服务端插件开发简述与聊天事件监听转发

原文链接&#xff1a;Fabric 服务端插件开发简述与聊天事件监听转发 < Ping通途说 0. 引言 以前写过Spigot的插件&#xff0c;非常简单&#xff0c;仅需调用官方封装好的Event类即可。但Fabric这边在开发时由于官方文档和现有互联网资料来看&#xff0c;可能会具有一定的误…...

Wise Disk Cleaner:免费系统清理工具,释放空间,提升性能

Wise Disk Cleaner是一款功能强大且完全免费的系统清理工具&#xff0c;专为帮助用户清理系统中的无用文件和垃圾文件而设计。它能够有效释放磁盘空间&#xff0c;提高系统运行速度&#xff0c;确保电脑始终保持最佳性能。无论是日常维护还是深度清理&#xff0c;Wise Disk Cle…...

排序算法之高效排序:快速排序,归并排序,堆排序详解

排序算法之高效排序&#xff1a;快速排序、归并排序、堆排序详解 前言一、快速排序&#xff08;Quick Sort&#xff09;1.1 算法原理1.2 代码实现&#xff08;Python&#xff09;1.3 性能分析 二、归并排序&#xff08;Merge Sort&#xff09;2.1 算法原理2.2 代码实现&#xf…...

主打「反激进」的一汽丰田,靠稳扎稳打的技术实现突围

文/王俣祺 导语&#xff1a;今年的上海车展&#xff0c;当新势力都在用“1000TOPS算力”“激光雷达矩阵”等参数堆砌着一个个技术神话的时候&#xff0c;一汽丰田却选择了一条不同的路——用“反激进”的技术哲学&#xff0c;在电动化和智能化的大风向中&#xff0c;构建独特的…...

变量赋值和数据类型

对象 Python是面相对象的编程语言&#xff0c;在Python一些都是对象&#xff0c;对象由标识、类型、值三部分组成&#xff0c;本质上来讲&#xff0c;系统分配一块内存&#xff0c;这块内存中存储了特定了的值&#xff0c;还支持特定类型的相关操作。 标识&#xff1a;即对象…...

【笔记】cri-docker.service和containerd

cri-docker.service 和 containerd 都是 Kubernetes 支持的容器运行时组件&#xff0c;但它们的架构、功能定位及与 Docker 的关系有显著差异。以下是它们的核心区别和关联&#xff1a; 1. 功能定位 组件核心角色是否直接支持 CRIcontainerd轻量级容器运行时&#xff0c;直接管…...

技术文章:解决汇川MD500系列变频器干扰问题——GRJ9000S EMC滤波器的应用

1. 引言 汇川MD500系列变频器&#xff08;Variable Frequency Drive, VFD&#xff09;以其高性能、宽功率范围&#xff08;0.4kW-500kW&#xff09;和灵活的控制方式&#xff0c;广泛应用于工业自动化领域&#xff0c;如风机、水泵、传送带和压缩机等。然而&#xff0c;MD500系…...

频域中的反射-信号完整性分析

频域中的反射: 频域与时域的桥梁是傅里叶变换,一个周期信号可以拆分为许多个正弦波。所谓从频域中看信号,看到的可以是很多个频域中的点,也可以是许多个正弦波。 所以在大家眼中看到的信号如图4-13所示。我们可以将该信号分解为图4-14所示信号。 让我们来思考下面这个问题:…...

window nvidia-smi命令 Failed to initialize NVML: Unknown Error

如果驱动目录下的可以执行&#xff0c;那可能版本原因 "C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi"复制"C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe"替换 C:\Windows\System32\nvidia-smi.exe 或者 把C:\Windows\System3…...

ubuntu 20.04 更改国内镜像源-阿里源 确保可用

镜像源是跟linux版本一一对应的,查询自己系统的版本号&#xff1a; 命令&#xff1a;lsb_release -a macw:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal macw:~$…...

Elasticsearch 学习(一)如何在Linux 系统中下载、安装

目录 一、Elasticsearch 下载二、使用 yum、dnf、zypper 命令下载安装三、使用 Docker 本地快速启动安装&#xff08;ESKibana&#xff09;【测试推荐】3.1 介绍3.2 下载、安装、启动3.3 访问3.4 修改配置&#xff0c;支持ip访问 官网地址&#xff1a; https://www.elastic.co/…...

PYTHON训练营DAY27

装饰器 编写一个装饰器 logger&#xff0c;在函数执行前后打印日志信息&#xff08;如函数名、参数、返回值&#xff09; logger def multiply(a, b):return a * bmultiply(2, 3) # 输出: # 开始执行函数 multiply&#xff0c;参数: (2, 3), {} # 函数 multiply 执行完毕&a…...

Shell脚本日志输出完整指南(AI)

一、基础日志输出方法 1. 标准输出与错误重定向 在Shell脚本中&#xff0c;可以使用重定向操作符将命令输出记录到日志文件&#xff1a; >&#xff1a;覆盖写入文件>>&#xff1a;追加写入文件2>&#xff1a;重定向错误输出&>&#xff1a;同时重定向标准…...

node.js文件系统(fs) - 创建文件、打开文件、写入数据、追加数据、读取数据、创建目录、删除目录

注意&#xff1a;以下所有示例均是异步语法&#xff01; 注意&#xff1a;以下所有示例均是异步语法&#xff01; 创建文件 node.js 允许我们在计算机本地创建文件&#xff0c;例如创建一个 word 文件&#xff1a; // 引入核心模块(fs) var fs require(fs)// API fs.writeF…...

关于如何本地启动xxl-job,并且整合SpringBoot

1. 本地安装xxl-job并启动 拉取xxl-job的代码 git clone gitgithub.com:xuxueli/xxl-job.git配置xxl-job数据库 拉取代码后&#xff0c;代码的doc/db目录下有官方配置好的sql脚本&#xff0c;执行里面的sql脚本至本地数据库 3. 修改xxl-job默认的数据库配置 spring.dataso…...

基于Unity的简单2D游戏开发

基于Unity的简单2D游戏开发 摘要 本文围绕基于Unity的简单2D游戏开发进行深入探讨,旨在分析其开发过程中的技术架构与实现策略。通过文献综述与市场分析,研究发现,近年来Unity引擎因其优秀的跨平台特性及可视化编程理念,成为2D游戏开发的主要工具。文章首先梳理了游戏开发的…...

在服务器上安装AlphaFold2遇到的问题(3)_cat: /usr/include/cudnn_version.h: 没有那个文件或目录

[rootlocalhost ~]# cat /usr/include/cudnn_version.h cat: /usr/include/cudnn_version.h: 没有那个文件或目录这个错误表明系统找不到 cudnn_version.h 头文件&#xff0c;说明 cuDNN 的开发文件&#xff08;头文件&#xff09;没有正确安装。以下是完整的解决方案&#xff…...

Java生产环境设限参数教学

哈哈&#xff0c;这个问题问得好&#xff01;咱们用开餐厅的比喻来理解生产环境的四大必须设限参数&#xff0c;保证你听完再也不会忘&#xff01;&#xff08;搓手手&#xff09; 1. 堆内存上限&#xff1a;-Xmx&#xff08;厨房的最大容量&#xff09; 问题&#xff1a;想象…...

武汉火影数字全息剧秀制作:科技与艺术的梦幻联动

全息剧秀是通过全息投影技术、多媒体互动技术、舞台表演艺术等元素深度融合的新型演出形式。 随着科技的不断进步&#xff0c;投影技术的更加成熟&#xff0c;全息剧秀作为演艺行业的创新力量&#xff0c;正以其独特的魅力和无限的潜力&#xff0c;为观众带来全新的视听盛宴。 …...

MySQL锁机制详解与加锁流程全解析

一、MySQL锁机制全景图 1.1 锁类型体系 #mermaid-svg-czUB6iJgmHuOPdN1 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-czUB6iJgmHuOPdN1 .error-icon{fill:#552222;}#mermaid-svg-czUB6iJgmHuOPdN1 .error-text{f…...

云轴科技ZStack官网上线Support AI,智能助手助力高效技术支持

5月16日&#xff0c;云轴科技ZStack在官网&#xff08;www.zstack.io&#xff09;正式上线ZStack Support AI智能助手。该系统是ZStack应用人工智能于技术支持服务领域的重要创新&#xff0c;基于自研ZStack AIOS平台智塔及LLMOPS技术打造。 ZStack Support AI定位为智能客服&…...

深度学习笔记23-LSTM实现火灾预测(Tensorflow)

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客&#x1f356; 原作者&#xff1a; 一、前期准备 1.导入数据 import pandas as pd import numpy as npdf_1 pd.read_csv("D:\TensorFlow1\woodpine2.csv") df_1import matplotlib.pyplot as…...

单例模式(Singleton Pattern)详解

单例模式(Singleton Pattern)详解 1. 定义与核心目标 单例模式是一种创建型设计模式,确保一个类只有一个实例,并提供全局访问点。核心目标: 控制实例数量:防止重复创建对象,节省资源。统一管理共享资源:如配置管理、数据库连接池、日志处理器等。2. 实现方式及对比 (…...

IntelliJ IDEA打开项目后,目录和文件都不显示,只显示pom.xml,怎样可以再显示出来?

检查.idea文件夹 如果项目目录中缺少.idea文件夹&#xff0c;可能导致项目结构无法正确加载。可以尝试删除项目根目录下的.idea文件夹&#xff0c;然后重新打开项目&#xff0c;IDEA会自动生成新的.idea文件夹和相关配置文件&#xff0c;从而恢复项目结构。 问题解决&#xff0…...

LongRefiner:解决长文档检索增强生成的新思路

大语言模型与RAG的应用越来越广泛&#xff0c;但在处理长文档时仍面临不少挑战。今天我们来聊聊一个解决这类问题的新方法——LongRefiner。 背景问题&#xff1a;长文档处理的两大难题 使用检索增强型生成&#xff08;RAG&#xff09;系统处理长文档时&#xff0c;主要有两个…...

Tcping详细使用教程

Tcping详细使用教程 下载地址 https://download.elifulkerson.com/files/tcping/0.39/在windows环境下安装tcping 在以上的下载地中找到exe可执行文件&#xff0c;其中tcping.exe适用于32位Windows系统&#xff0c;tcping64.exe适用于64位Windows操作系统。 其实tcping是个…...

Java + 鸿蒙双引擎:ZKmall开源商城如何定义下一代B2C商城技术标准?

在 B2C 电商领域持续革新的当下&#xff0c;技术架构的优劣成为决定商城竞争力的核心要素。ZKmall开源商城以其创新融合的 Java 与鸿蒙双引擎&#xff0c;为下一代 B2C 商城技术标准勾勒出全新蓝图&#xff0c;在性能、兼容性、拓展性等关键维度实现了重大突破。 一、Java 技术…...

华为云Flexus+DeepSeek征文|基于Dify平台tiktok音乐领域热门短视频分析Ai agent

前言 在当今数字化快速发展的时代&#xff0c;人工智能技术尤其是大模型的应用&#xff0c;正逐渐成为推动各行业创新与变革的关键力量。大模型凭借其强大的语言理解、生成和逻辑推理能力&#xff0c;为企业和开发者提供了全新的解决方案和应用可能性。然而&#xff0c;将这些…...

排序算法之线性时间排序:计数排序,基数排序,桶排序详解

排序算法之线性时间排序&#xff1a;计数排序、基数排序、桶排序详解 前言一、计数排序&#xff08;Counting Sort&#xff09;1.1 算法原理1.2 代码实现&#xff08;Python&#xff09;1.3 性能分析1.4 适用场景 二、基数排序&#xff08;Radix Sort&#xff09;2.1 算法原理2…...

HarmonyOS 开发之 —— 合理使用动画与转场

HarmonyOS 开发之 —— 合理使用动画与转场 谢谢关注!! 前言:上一篇文章主要介绍HarmonyOs开发之———UIAbility进阶:https://blog.csdn.net/this_is_bug/article/details/147976323?spm=1011.2415.3001.10575&sharefrom=mp_manage_link 在移动应用开发中,动画与转…...

网络流量分析 | NetworkMiner

介绍 NetworkMiner 是一款适用于Windows&#xff08;也适用于Linux/Mac&#xff09;的开源网络取证分析工具。它可被用作被动网络嗅探器/数据包捕获工具&#xff0c;也可被用于检测操作系统、会话、主机名、开放端口等&#xff0c;还能被用于解析pcap文件进行离线分析。点击此…...

EtherCAT转ProfiNet智能网关选型策略匹配S7-1500与CX5140通讯需求的关键参数对比

一、案例背景 随着新能源行业的迅猛发展&#xff0c;锂电池生产制造企业面临着日益激烈的市场竞争和不断增长的生产需求。某锂电池生产企业在扩大产能的过程中&#xff0c;新建了一条锂电池生产线。该生产线采用了倍福CX5140PLC作为EtherCAT协议主站&#xff0c;控制着涂布机、…...

适合学校使用的桌面信息看板,具有倒计时、桌面时钟、课程表、天气预报、自动新闻联播、定时关机、消息通知栏、随机点名等功能。

简介 教育时钟&#xff08;Education Clock&#xff09; 是一款致力于帮助学习者科学规划学习时间、提高学习效率的开源工具。由 Return-Log 团队开发&#xff0c;适配多平台&#xff08;Windows、Mac、Linux&#xff09;&#xff0c;界面简洁直观&#xff0c;操作便捷。通过设…...

兰亭妙微设计:为生命科技赋予人性化的交互语言

在医疗科技日新月异的今天&#xff0c;卓越的硬件性能唯有匹配恰如其分的交互语言&#xff0c;方能真正发挥价值。作为专注于医疗UI/UX设计的专业团队&#xff0c;兰亭妙微设计&#xff08;www.lanlanwork.com&#xff09;始终相信&#xff1a;每一处像素的排布&#xff0c;都应…...