MySQL mydumper工具

目录

1. mydumper介绍

2. mydumper参数解释

3. 备份例子

3.1 备份全库(未包含其他)

3.2 备份全库(包含其他)

3.3 备份指定数据库(-B或--database)

3.4 导出指定表(-T或--tables-list)

3.5 只导出表结构,不导出表数据(-d或--no-data)

3.6 只导出表数据,不导出表结构(-m或者--no-schemas)

3.7 压缩备份(-c或--compress)

3.8 综合备份

3.9 使用正则表达式

4. 备份文件命名

5. 备份原理

6. myloader参数

7. 恢复例子

7.1 恢复指定库

7.2 将源库的zs库导入备库的zs01库

7.3 导入特定的表


1. mydumper介绍

MyDumper是一个MySQL逻辑备份工具。它有2个工具:

  • mydumper负责导出 MySQL 数据库的一致备份
  • myloader从 mydumper 读取备份,连接到目标数据库并导入备份。

这两个工具都使用多线程功能。

mydumper 主要有以下几点特性:

  • 支持多线程导出数据,速度更快。
  • 支持一致性备份。
  • 支持将导出文件压缩,节约空间。
  • 支持多线程恢复。
  • 支持以守护进程模式工作,定时快照和连续二进制日志。
  • 支持按照指定大小将备份文件切割。
  • 数据与建表语句分离。

下载工具

https://github.com/mydumper/mydumper

我下载的是zip包,上传至虚拟机,解压

unzip mydumper-master.zip

安装依赖包(CentOS)

#Install development tools
yum install -y cmake gcc gcc-c++ git make#Install development versions of GLib, ZLib, PCRE and ZSTD
yum install -y glib2-devel openssl-devel pcre-devel zlib-devel libzstd-devel

添加环境变量(mysql客户端库文件)

export LD_LIBRARY_PATH=/usr/local/mysql/lib

安装mydumper

cd /soft/mydumper-master
cmake .
make
sudo make install

安装完成后生成两个二进制文件mydumper和myloader位于/usr/local/bin目录下

2. mydumper参数解释

mydumper --help
参数简写描述
连接选项
--host-h连接的MySQL数据库服务器
--user-u连接数据库的用户
--password-p连接数据库用户的密码
--ask-password-a提示输入用户的密码
--port-PMySQL数据库端口
--socket-S用于连接的 UNIX 域套接字文件
--protocol用于连接的协议(tcp、socket)
--compress-protocol-C对 MySQL 连接使用压缩
--ssl使用 SSL 连接
--ssl-mode连接到服务器所需的安全状态:DISABLED、PREFERRED、REQUIRED、VERIFY_CA、VERIFY_IDENTITY
--key密钥文件的路径名
--cert证书文件的路径名
--ca证书颁发机构文件的路径名
--capath包含 PEM 格式的受信任 SSL CA 证书的目录的路径名
--cipher用于 SSL 加密的允许密码列表
--tls-version服务器允许哪些协议进行加密连接
过滤选项
--regex-X'db.table' 匹配的正则表达式
--database-B需要备份的数据库
--ignore-engines-i要忽略的存储引擎的列表 ,逗号分隔
--updated-since-U使用 Update_time 仅转储最近 U 天内更新的表
--partition-regex按分区名称过滤的正则表达式
--omit-from-file-O包含要跳过的数据库.表条目列表的文件,每行一个(在应用正则表达式选项之前跳过)
--tables-list-T要备份的表列表,以逗号分隔(不排除正则表达式选项)。 表名必须包含数据库名。 例如:test.t1,test.t2
锁选项
--tidb-snapshot-z使用 TiDB 快照
--no-locks-k不执行临时共享读锁 ,警告:这将会导致非一致性备份
--use-savepoints使用 savepoints 来减少元数据锁的产生,需要 SUPER 权限
--no-backup-locks不使用 Percona 的 backup locks (备份锁)
--lock-all-tables对所有的表 LOCK TABLE,而不是使用FTWRL
--less-locking对于 InnoDB 存储引擎的表最少的锁时间
--trx-consistency-only事务一致性
--skip-ddl-locks跳过DDL锁
PMM选项
--pmm-path默认值为 /usr/local/percona/pmm2/collectors/textfile-collector/high-resolution
--pmm-resolution默认值较高
执行选项
--exec-threads与 --exec 一起使用的线程数量
--exec使用文件作为参数来执行命令
--exec-per-thread设置将由 STDIN 接收并将 STDOUT 写入输出文件的命令
--exec-per-thread-extension使用 --exec-per-thread 时设置 STDOUT 文件的扩展名
长查询选项
--long-query-retries重新检测长查询 ,默认0(不检测)
--long-query-retry-interval长查询检测的间隔时间 ,默认60秒
--long-query-guard-l设置长查询的时间阈值 ,默认60秒
--kill-long-queries-kkill 长查询(替代aborting)
Job选项
--max-threads-per-table每张表的最大线程数
--char-deep定义当主键是字符串时要使用的字符数
--char-chunk定义应将表拆分为多少部分。 默认情况下我们使用线程数量
--rows-r将表拆分为这么多行的块。 它可以是 MIN:START_AT:MAX。 MAX 可以为 0,表示没有限制。 如果查询时间少于 1 秒,则块大小将加倍;如果查询时间超过 2 秒,则块大小减半
--split-partitions将分区转储到单独的文件中。 此选项会覆盖分区表的 --rows 选项
校验选项
--checksum-all-M转储所有对象的校验和
--data-checksums转储表与数据的校验和
--schema-checksums转储模式表和视图创建校验和
--routine-checksums转储触发器、函数和例程的校验和
对象选项
--no-schemas-m不备份表结构,(数据和触发器)
--all-tablespaces-Y备份所有表空间
--no-data-d不备份表的数据
--triggers-G备份触发器,默认情况下不备份
--events-E备份事件,默认情况下不备份
--routines-R备份存储过程和函数,默认情况下不备份
--skip-constraints从CREATE TABLE语句中删除约束。默认情况下,不修改该语句
--skip-indexes从CREATE TABLE语句中删除索引。默认情况下,不修改该语句
--views-as-tables将视图作为表导出
--no-views-W不备份视图
Statement选项
--load-data不创建 INSERT INTO 语句,而是创建 LOAD DATA 语句和 .dat 文件
--csv自动启用--load-data 并设置变量以 CSV 格式导出
--include-header添加列名到头部
--fields-terminated-by定义分割字段的字符
--fields-enclosed-by定义包围字段的字符。 默认: ”
--fields-escaped-by转义字符,默认: '\'
--lines-starting-by在每行的开头添加字符串。 使用 --load-data 时,它会添加到 LOAD DATA 语句中。 当使用它时,它也会影响 INSERT INTO 语句。
--lines-terminated-by在每行末尾添加字符串。 当使用 --load-data 时,它被添加到 LOAD DATA 语句中。 当使用它时,它也会影响 INSERT INTO 语句。
--statement-terminated-by这可能永远不会被使用,除非你知道你在做什么
--insert-ignore-N使用 INSERT IGNORE 备份行
--replace用 REPLACE 替换备份行
--complete-insert使用包含列名的完整 INSERT 语句
--hex-blob使用十六进制表示法转储二进制列
--skip-definer从 CREATE 语句中删除 DEFINER。 默认情况下,语句不被修改
--statement-size-s尝试的 INSERT 语句大小(以字节为单位),默认 1000000
--tz-utcSET TIME_ZONE='+00:00' 在转储顶部,允许在服务器具有不同时区的数据或数据在不同时区的服务器之间移动时转储 TIMESTAMP 数据,默认为使用 - -skip-tz-utc 禁用。
--skip-tz-utc禁用--tz-utc
--set-names设置名称,使用它需要您自担风险,默认二进制文件
Extra选项
--chunk-filesize-F将数据文件分割成以 MB 为单位的多个块
--exit-if-broken-table-found如果发现损坏的表则退出
--success-on-1146如果表不存在,则不增加错误计数并发出警告而不是错误
--build-empty-files-e即使表中没有可用数据也构建转储文件
--no-check-generated-fields与生成字段相关的查询不会被执行。如果您生成了列,则会导致恢复问题
--order-by-primary如果不存在主键,则按主键或唯一键对数据进行排序
--compact提供较少的详细输出。禁用页眉/页脚构造
--compress-c使用 /usr/bin/gzip 和 /usr/bin/zstd 压缩输出文件。 选项:GZIP 和 ZSTD。 默认值:GZIP
--use-defer使用延迟整数分片,直到处理完所有非整数主键表(为大量表保存RSS)
--check-row-count如果导出的行数与select count(*)不一致,则导出失败
Daemon选项
--daemon-D后台运行
--snapshot-interval-I每个转储快照之间的间隔(以分钟为单位),需要 --daemon,默认 60
--snapshot-count-X快照数量,默认2
Application选项
--help-?显示帮助选项
--outputdir-o输出文件的目录
--clear导出前清理输出目录
--dirty覆盖输出目录而不清除(注意左下块)
--stream一旦文件被写入,它将通过 STDOUT 流式传输。 自 v0.12.7-1 起,接受 NO_DELETE、NO_STREAM_AND_NO_DELETE 和 TRADITIONAL(默认值),如果未给出参数则使用
--logfile-L要使用的日志文件名,默认情况下使用 stdout
--disk-limits如果确定没有足够的磁盘空间,则设置暂停和恢复的限制。接受类似以下值:'<resume>:<pause>'(以 MB 为单位)。例如:100:500 将在只有 100MB剩余时暂停,如果有 500MB可用则恢复
--threads-t要使用的线程数,默认 4
--version-V显示程序版本并退出
--verbose-v输出的详细程度,0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2
--debug打开调试输出(自动将verbosity设置为3)
--defaults-file使用特定的默认文件。 默认值:/etc/mydumper.cnf
--defaults-extra-file使用额外的默认文件。 这是在 --defaults-file 之后加载的,替换以前定义的值
--fifodir需要时将在其中创建 FIFO 文件的目录。 默认值:与备份相同

3. 备份例子

3.1 备份全库(未包含其他)

mydumper -u root -p 123456 -o /backup

3.2 备份全库(包含其他)

包含触发器(-G)、事件(-E)、存储过程和函数(-R)

mydumper -u root -p 123456 -G -R -E -o /backup

3.3 备份指定数据库(-B或--database)

mydumper -u root -p 123456 -G -R -E -B zs,python -o /backup

3.4 导出指定表(-T或--tables-list)

mydumper -u root -p 123456  -T zs.aa,python.y -o /backup

3.5 只导出表结构,不导出表数据(-d或--no-data)

mydumper -u root -p 123456 -B zs -d -o /backup

3.6 只导出表数据,不导出表结构(-m或者--no-schemas)

mydumper -u root -p 123456 -m -B zs -o /backup

3.7 压缩备份(-c或--compress)

mydumper -u root -p 123456 -B zs,python -c --clear -o /backup

3.8 综合备份

事务一致性、压缩、4线程、备份前清理备份目录、备份包含触发器、事件、存储过程和函数,备份前清理目录

mydumper -u root -p 123456 -G -E -R --trx-consistency-only -t 4 -c --clear -o /backup

3.9 使用正则表达式

排除某些表或者数据库,使用--regex参数

# 可以使用--regex功能,例如不备份zs和mysql数据库: 
mydumper --regex '^(?!(zs\.|mysql\.))'# 仅备份zs和python数据库:
mydumper --regex '^(zs\.|python\.)'# 不备份以zs开头的所有数据库:
mydumper --regex '^(?!(zs))'# 转储不同数据库中的指定表
mydumper --regex '^(db1\.table1$|db2\.table2$)'# 备份几个数据库但丢弃一些表:
mydumper --regex '^(?=(?:(db1\.|db2\.)))(?!(?:(db1\.table1$|db2\.table2$)))'

4. 备份文件命名

如果使用了 --rows(-r),每个表的备份文件都会被分割成多个文件,文件后会有5个数字填充(该表总数据),5个数字后再跟5个数字(分割后的数据),格式如下 

database.table.chunk.sql(.gz|.zst)sbtest.sbtest2.00000.00001.sql
sbtest.sbtest2.00000.00003.sql
sbtest.sbtest2.00000.00004.sql
sbtest.sbtest2.00000.00006.sql
sbtest.sbtest2.00000.00007.sql
sbtest.sbtest2.00000.00009.sql
sbtest.sbtest2.00000.00010.sql
sbtest.sbtest2.00000.sql

每个表的文件都会写到单独的文件中(没有使用--no-schemas才会有表结构文件)

#建库文件
database-schema-create.sql(.gz|.zst)#表结构文件
database.table-schema.sql(.gz|.zst)#表数据文件
database.table.sql(.gz|.zst)

可能各个版本备份出来的文件命名稍有不同,从文件命名可以较为明显的看出该文件的内容,大致总结下文件命名规则如下:

  • metadata:记录开始及结束备份的时间,二进制日志位置和表名以及行数
  • dbname-schema-create.sql:建库语句。
  • dbname.tbname-schema.sql:此表的表结构创建语句。
  • dbname.tbname.sql:该表的插入数据语句(若该表为空 则不存在此文件)。
  • dbname.viewname-schema.sql:创建视图的表(列举出视图字段,然后创建表)。
  • dbname.viewname-schema-view.sql:创建视图的真正语句。
  • dbname.tbname-schema-triggers.sql:创建触发器语句。
  • dbname-schema-post.sql:包含事件、存储过程及函数创建语句(若存在则有该文件)。

5. 备份原理

备份流程

主要步骤概括

  1. 主线程 FLUSH TABLES WITH READ LOCK , 施加全局只读锁,以阻止 DML 语句写入,保证数据的一致性;
  2. 读取当前时间点的二进制日志文件名和日志写入的位置并记录在 metadata 文件中,以供即时点恢复使用;
  3. N 个(线程数可以指定,默认是 4个)dump 线程 START TRANSACTION WITH CONSISTENT SNAPSHOT ; 开启读一致的事物;
  4. dump non-InnoDB tables , 首先导出非事物引擎的表;
  5. 主线程 UNLOCK TABLES 非事物引擎备份完后,释放全局只读锁;
  6. dump InnoDB tables , 基于事物导出 InnoDB 表;
  7. 事物结束。

6. myloader参数

参数简写描述
连接参数
--host-h连接的MySQL数据库服务器
--user-u连接数据库的用户
--password-p连接数据库用户的密码
--ask-password-a提示输入用户的密码
--port-PMySQL数据库端口
--socket-S用于连接的 UNIX 域套接字文件
--protocol用于连接的协议(tcp、socket)
--compress-protocol-C对 MySQL 连接使用压缩
--ssl使用 SSL 连接
--ssl-mode连接到服务器所需的安全状态:DISABLED、PREFERRED、REQUIRED、VERIFY_CA、VERIFY_IDENTITY
--key密钥文件的路径名
--cert证书文件的路径名
--ca证书颁发机构文件的路径名
--capath包含 PEM 格式的受信任 SSL CA 证书的目录的路径名
--cipher用于 SSL 加密的允许密码列表
--tls-version服务器允许哪些协议进行加密连接
过滤选项
--regex-x'db.table' 匹配的正则表达式
--source-db-s要还原的数据库,-s db1 -B db2,表示源库中的db1数据库,导入到db2数据库中。
--skip-triggers不导入触发器,默认导入
--skip-post不导入事件、存储过程和函数,默认都导入
--skip-constraints不导入约束,默认导入
--skip-indexes不导入innodb表的二级索引,默认导入
--no-data不导入表数据
--omit-from-file-O包含要跳过的数据库.表条目列表的文件,每行一个(在应用正则表达式选项之前跳过)
--tables-list-T要备份的表列表,以逗号分隔(不排除正则表达式选项)。 表名必须包含数据库名。 例如:test.t1,test.t2
PMM选项
--pmm-path默认值为 /usr/local/percona/pmm2/collectors/textfile-collector/high-resolution
--pmm-resolution默认值较高
Execution选项
--enable-binlog-e启用恢复数据的二进制日志记录
--innodb-optimize-keys创建不包含索引的表,并在末尾添加索引。选项:AFTER_IMPORT_PER_TABLE和AFTER_IMPORT_ALL_TABLES。默认值:AFTER_IMPORT_PER_TABLE
--no-schema不导入表结构和触发器
--purge-mode这指定了截断模式,可以是:FAIL、NONE、DROP、truncate和DELETE。未设置默认值:FAIL
--disable-redo-log禁用REDO_LOG并在之后启用它,不检查初始状态
--checksum校验和:skip, fail, warn(默认)。
--overwrite-tables-o如果表存在则删除表
--overwrite-unsafe与--overwrite-tables相同,但尽量快速数据加载。可能导致外键的InnoDB死锁
--retry-count锁等待超时超过重试计数,默认为10(当前仅适用于DROP TABLE)
--serialized-table-creation表的重新创建将以串行方式执行,每次执行一个线程。这意味着架构创建的最大线程数=1。此选项将在以后的版本中删除
--stream它将从STDIN接收流,并在开始处理之前在磁盘中创建文件。自v0.12.7-1起,接受NO_DELETE、NO_STREAM_AND_NO_DELETE和TRADICTIONAL(这是默认值,在未给定参数的情况下使用)
Threads选项
--max-threads-per-table每张表要使用的最大线程数,默认为--threads
--max-threads-for-index-creation用于创建索引的最大线程数,默认为4
--max-threads-for-post-actions操作后的最大线程数,如:约束、过程、视图和触发器,默认为1
--max-threads-for-schema-creation用于创建schema的最大线程数。当它设置为1时,与序列化表创建相同,默认为4
--exec-per-thread设置STDIN将从输入文件接收的命令,并写入STDOUT
--exec-per-thread-extension当使用--exec-per-thread时,设置输入文件扩展名。否则将被忽略
Statement选项
--rows-r将INSERT语句拆分成多行
--queries-per-transaction-q每个事务的查询数,默认为1000
--append-if-not-exist将IF NOT EXISTS追加到创建表语句中。当https://bugs.mysql.com/bug.php?id=103791已实施
--set-names设置名称,使用风险自负,默认二进制
--skip-definer从CREATE语句中删除DEFINER。默认情况下,不修改语句
Application选项
--help-?帮助选项
--directory-d导入的目录
--logfile-L要使用的日志文件名,默认情况下使用stdout
--database-B要恢复到的备用数据库
--quote-character-QINSERT语句中使用的标识符引号字符,可以是`或者",默认从导出的文件中读取
--resume期望在备份目录中找到恢复文件,并且只处理这些文件
--threads-t要使用的线程数,默认 4
--version-V显示程序版本并退出
--verbose-v输出的详细程度,0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2
--debug打开调试输出(自动将verbosity设置为3)
--defaults-file使用特定的默认文件。 默认值:/etc/mydumper.cnf
--defaults-extra-file使用额外的默认文件。 这是在 --defaults-file 之后加载的,替换以前定义的值
--fifodir需要时将在其中创建 FIFO 文件的目录。 默认值:与备份相同

7. 恢复例子

7.1 恢复指定库

myloader -u root -p 123456 -s zs,python -d /backup

7.2 将源库的zs库导入备库的zs01库

myloader -u root -p 123456 -B zs01 -s zs -d /backup

7.3 导入特定的表

在导出的目录中选择metadata文件和需要单独导入的表的结构文件和数据文件移到一个新目录下,最好提前建好库表,否则需要把建库表的文件一起移动到新目录,移动到新目录后可以使用myloader指定新目录进行恢复数据。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

以gitee为例的git入门使用指北

安装git 在linux中我们首先需要使用 sudo apt install git来下载git 在windows中可以下载msysGit 链接&#xff1a;https://git-scm.com/download/win gitee准备 申请账号 建立仓库 ​ 点击新建仓库 这里一般是私有库&#xff0c;点击创建&#xff0c;这时你就拥有一个线上…

[开发|鸿蒙] DevEco Studio编译构建(笔记,持续更新)

构建体系 编译构建是将应用/服务的源代码、资源、第三方库等&#xff0c;通过编译工具转换为可直接在硬件设备上运行的二进制机器码&#xff0c;然后再将二进制机器码封装为HAP/APP软件包&#xff0c;并为HAP/APP包进行签名的过程。其中&#xff0c;HAP是可以直接运行在模拟器…

Kafka应用Demo:按主题订阅消费消息

安装环境 Kafka安装可参考官方网站的指导(https://kafka.apache.org/quickstart), 按步骤解压压缩包&#xff0c;修改配置。然后再启动zookeeper和kafka-server即可。 需要注意的一点&#xff1a;如果是在VMware虚拟机上启动的kafka, 需要修改一下server.properties配置文件&am…

cmake进阶:目录属性之 INCLUDE_DIRECTORIES说明二

一. 简介 前面几篇文章学习了 cmake的一些目录属性&#xff0c;主要有两个重要的目录属性INCLUDE_DIRECTORIES 属性、LINK_DIRECTORIES 属性。文章如下&#xff1a; cmake进阶&#xff1a;目录属性之 INCLUDE_DIRECTORIES-CSDN博客 本文学习 父目录的 INCLUDE_DIRECTORIES …

<网络安全>《79 概念讲解<第十二课 物联网常用协议-(远距离非蜂窝网络)-终端设备>》

协议简称全称名称内容说明ZigBee也称紫蜂低速短距离传输的无线通信协议一种高可靠的无线数传网络&#xff0c;主要特色有低速、低耗电、低成本、支持大量网上节点、支持多种网上拓扑、低复杂度、快速、可靠、安全。ZigBee技术是一种新型技术&#xff0c;主要是依靠无线网络进行…

JAVA IO/NIO 知识点总结

一、常见 IO 模型简介 1. 阻塞IO模型 最传统的一种IO模型&#xff0c;即在读写数据过程中会发生阻塞现象。当用户线程发出IO请求之后&#xff0c;内核会去查看数据是否就绪&#xff0c;如果没有就绪就会等待数据就绪&#xff0c;而用户线程就会处于阻塞状态&#xff0c;用户线…

Linux 命令查看服务器信息

1.查看 CPU 信息 lscpu2.查看内存信息 cat /proc/meminfo |grep MemTotal查看逻辑 CPU个数 cat /proc/cpuinfo | grep "processor"3.查看磁盘信息 df -hl

深入大模型量化技术,大模型端侧落地已Ready?

揭秘未来&#xff1a;大模型量化技术如何革新移动AI应用 ©作者|饮水机 来源|神州问学 前言 最近&#xff0c;苹果发布了OpenELM系列模型&#xff0c;参数规模分别为270M、450M、1.1B和3B。与此同时&#xff0c;微软也推出了Phi-3系列模型&#xff0c;其中mini版本的参数…

数字孪生技术在垃圾焚烧处理中的可视化应用

在迈向智慧城市的进程中&#xff0c;数字孪生技术在垃圾处理领域展现出了巨大潜力。特别是在垃圾焚烧过程的管理和优化上&#xff0c;数字孪生垃圾焚烧可视化技术已成为一项革命性的进步。 通过 HT 构建虚拟的垃圾焚烧模型&#xff0c;实时映射和模拟实际焚烧过程中的各项关键…

Android Studio查看xml文件的修改时间和记录

Android Studio查看xml文件的修改时间和记录 Android Studio里面如果是Java/Kotlin编写界面&#xff0c;可以点击函数开头上面的提交在直接&#xff0c;然后在编辑界面的左侧查看历史时间上的修改记录&#xff0c;但是xml文件里面没有直观的这样操作方式。 但xml里面可以通过快…

专业的保密网文件导入导出系统,让文件流转行为更可控安全

军工单位因其涉及国防安全和军事机密&#xff0c;对保密工作有极高的要求&#xff0c;通常会采取严格的网络隔离措施来保护敏感信息和提高网络安全性。常见的方式是通过物理隔离将网络彻底分隔开来&#xff0c;比如保密网和非保密网。网络隔离后&#xff0c;仍有数据交换的需求…

怎么在家访问公司内网?

在当前的疫情情况下&#xff0c;越来越多的公司开始允许员工在家办公&#xff0c;这就需要解决一个问题&#xff1a;如何在家访问公司的内网资源呢&#xff1f;今天我将介绍一种解决方案——使用【天联】组网&#xff0c;它具有许多优势。 【天联】组网的优势 无网络限制&#…

Pytorch 实现情感分析

情感分析 情感分析是 NLP 一种应用场景&#xff0c;模型判断输入语句是积极的还是消极的&#xff0c;实际应用适用于评论、客服等多场景。情感分析通过 transformer 架构中的 encoder 层再加上情感分类层进行实现。 安装依赖 需要安装 Poytorch NLP 相关依赖 pip install t…

迅为RK3568开发板资料说明4750+页专属文档专为3568编写

iTOP-3568开发板采用瑞芯微RK3568处理器&#xff0c;内部集成了四核64位Cortex-A55处理器。主频高达2.0Ghz&#xff0c;RK809动态调频。集成了双核心架构GPU&#xff0c;ARM G52 2EE、支持OpenGLES1.1/2.0/3.2、OpenCL2.0、Vulkan1.1、内嵌高性能2D加速硬件。 内置独立NPU,算力…

探索希尔排序算法:优雅而高效的增量排序

在计算机科学领域&#xff0c;排序算法是一项至关重要的技术&#xff0c;在各种应用场景中都扮演着重要角色。而希尔排序算法作为一种增量排序方法&#xff0c;在实际应用中展现了其优雅而高效的特性。本文将深入探讨希尔排序算法的原理、实现细节以及优化方法&#xff0c;带您…

YOLOv8改进 | 主干篇 | 2024.5全新的移动端网络MobileNetV4改进YOLOv8(含MobileNetV4全部版本改进)

一、本文介绍 本文给大家带来的改进机制是MobileNetV4&#xff0c;其发布时间是2024.5月。MobileNetV4是一种高度优化的神经网络架构&#xff0c;专为移动设备设计。它最新的改动总结主要有两点&#xff0c;采用了通用反向瓶颈&#xff08;UIB&#xff09;和针对移动加速器优化…

重庆市某区智慧园林绿化管理信息系统可行性研究及概算方案

第一章 项目需求分析 1 政务目标分析 智慧园林绿化管理信息系统建设将以管理精细化、服务智慧化、决策科学化、品质高端化为指引&#xff0c;以提升园林绿化能力为重点&#xff0c;以体制机制创新为保障&#xff0c;建成后实现园林绿化行业的全覆盖&#xff0c;建成汇聚园林绿…

jenkins+gitlab+ansible-tower实现发布

前提准备&#xff1a; gitlab中上传相应的jenkinsfile文件和源码。 安装和破解ansible-tower。 安装jenkins。 大致流程&#xff1a;从gitlab中拉取文件&#xff0c;存放到windows机器上&#xff0c;使用nuget等进行打包到windows中&#xff0c;使用sshPublisher语句传输到远程…

[Linux] git工具的安装和使用

目录 前言 安装 1.构建仓库 2.将仓库克隆到本地 使用 1.三板斧 1.git add 新增 2.git commit 提交 3.git push 推送 2.常用指令 前言 git 是一个代码托管平台&#xff0c;它的创始人是大名鼎鼎的 Linux 之父&#xff1a; 林纳斯托瓦兹&#xff0c;git的诞生可以使我们对…

Redis 实战之事务的实现

事务的实现 事务开始命令入队事务队列执行事务总结 一个事务从开始到结束通常会经历以下三个阶段&#xff1a; 1、 事务开始&#xff1b; 2、 命令入队&#xff1b; 3、事务执行。 本节接下来的内容将对这三个阶段进行介绍&#xff0c; 说明一个事务从开始到结束的整个过程。 …