MySQL mydumper工具

news2024/12/26 20:46:51

目录

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://www.coloradmin.cn/o/1651762.html

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

相关文章

Cloudera的简介及安装部署

简介 Cloudera是一家位于美国的软件公司&#xff0c;成立于2008年&#xff0c;专注于为企业客户提供基于Apache Hadoop的软件、支持、服务以及培训。Cloudera的开源Apache Hadoop发行版&#xff0c;即Cloudera Distribution including Apache Hadoop&#xff08;CDH&am…

新能源汽车充电站智慧充电电能服务综合解决方案

安科瑞薛瑶瑶18701709087/17343930412 ★解决方案 ✔目的地充电-EMS微电网平台 基于EMS解决方案从设备运维的角度解决本地充电的能量管理及运维问题&#xff0c;与充电管理平台打通数据&#xff0c;为企业微电网提供源、网、荷、储、充一体化解决方案。 ✔运营场站--电能服务…

07_Flutter使用NestedScrollView+TabBarView滚动位置共享问题修复

07_Flutter使用NestedScrollViewTabBarView滚动位置共享问题修复 一.案发现场 可以看到&#xff0c;上图中三个列表的滑动位置共享了&#xff0c;滑动其中一个列表&#xff0c;会影响到另外两个&#xff0c;这显然不符合要求&#xff0c;先来看下布局&#xff0c;再说明产生这个…

深圳车间厂房降温用什么设备好?

环保水空调&#xff08;也被称为水冷空调或蒸发式降温换气机组&#xff09;的特点主要体现在以下几个方面&#xff1a; 节能环保&#xff1a;环保水空调使用水作为冷媒介&#xff0c;相比传统空调的制冷方式&#xff0c;它能在制冷过程中节约更多的能源&#xff0c;减少碳排放…

测评工作室的养号成本,效率,纯净度,便捷性等问题怎么解决?

大家好&#xff0c;我是南哥聊跨境&#xff0c;最近有很多做测评工作室的朋友找到南哥&#xff0c;问我有什么新的测评养号系统可以解决成本&#xff0c;效率&#xff0c;纯净度&#xff0c;便捷性等问题 测评养号系统从最早的模拟器、虚拟机到911、VPS、手机设备等&#xff0…

革新品质检测,质构科技重塑肉类行业新篇章

革新品质检测&#xff0c;质构科技重塑肉类行业新篇章 在现代社会&#xff0c;消费者对食品安全和品质的要求日益提升&#xff0c;特别是在肉类行业。为了满足这一市场需求&#xff0c;质构科技凭借其精准、高效的优势&#xff0c;正逐渐成为肉类品质检测的新星。今天&#xf…

Rust开发工具有哪些?

目录 一、JetBrains公司的RustRover​编辑 二、微软公司的Visual Studio Code 三、Rust编译工具 一、JetBrains公司的RustRover RustRover是由JetBrains开发的一款专为Rust开发量身定制的新兴IDE&#xff0c;目前还处于早期访问阶段。它支持Rust、Cargo、TOML、Web和数据库等…

Leecode42:接雨水

第一反应是按照高低这个思路来求解&#xff0c;因为可以把盛雨水的容器想成是从左往右的&#xff0c;遇到一个沟就存一点雨水。 这个思路 看了下题解&#xff0c;发现自己的思路其实没问题&#xff0c;确实是按照最高最低来求&#xff0c;但是这个地方太复杂了求的&#xff0c…

计算机毕业设计 | springboot+vue小米商城 购物网站管理系统(源码+论文+讲解视频)

1&#xff0c;项目背景 国家大力推进信息化建设的大背景下&#xff0c;城市网络基础设施和信息化应用水平得到了极大的提高和提高。特别是在经济发达的沿海地区&#xff0c;商业和服务业也比较发达&#xff0c;公众接受新事物的能力和消费水平也比较高。开展商贸流通产业的信息…

API接口调用失败的常见原因?如何进行排查和处理?

API接口调用失败的常见原因有以下几种&#xff1a; 1. 无效的请求参数&#xff1a;可能是由于请求参数缺失、格式错误或者不符合接口要求导致的。解决方法是检查请求参数是否正确&#xff0c;并确保按照接口文档提供正确的参数。 2. 接口权限不足&#xff1a;有些接口需要特定…

互联网产品为什么要搭建会员体系?

李诞曾经说过一句话&#xff1a;每个人都可以讲5分钟脱口秀。这句话换到会员体系里面同样适用&#xff0c;每个人都能聊点会员体系相关的东西。 比如会员体系属于用户运营的范畴&#xff0c;比如怎样用户分层&#xff0c;比如用户标签及CDP、会员积分、会员等级、会员权益和付…

【go从入门到精通】go命令使用

作者简介: 高科,先后在 IBM PlatformComputing从事网格计算,淘米网,网易从事游戏服务器开发,拥有丰富的C++,go等语言开发经验,mysql,mongo,redis等数据库,设计模式和网络库开发经验,对战棋类,回合制,moba类页游,手游有丰富的架构设计和开发经验。 (谢谢…

用一个故事告诉你协程到底是什么

神秘使者 “久闻Java语言跨越平台&#xff0c;框架众多&#xff0c;不过二十年功夫&#xff0c;就已晋升天下第一编程语言&#xff0c;今日一见&#xff0c;果然名不虚传呐&#xff01;” “使者先生您过奖了&#xff0c;咱们快些走&#xff0c;国王陛下已经等候多时了” 今…

自动化机器学习——贝叶斯优化

自动化机器学习——贝叶斯优化 贝叶斯优化是一种通过贝叶斯公式推断出目标函数的后验概率分布&#xff0c;从而在优化过程中不断地利用已有信息来寻找最优解的方法。在贝叶斯优化中&#xff0c;有两个关键步骤&#xff1a;统一建模和获得函数的优化。 1. 统一建模 在贝叶斯优…

孩子用什么样的灯对眼睛没有伤害?分享多款满分护眼台灯

为人父母以后&#xff0c;深感压力山大。如今不仅要抓孩子的学习&#xff0c;还得时刻关注孩子的身心健康&#xff0c;尤其是视力问题。现在不少学生都存在近视的现象&#xff0c;而导致这一现象的主要原因&#xff0c;除了平时的学业压力过大以外&#xff0c;夜晚学习的光线也…

美港通正规炒股市场恒生科指半日跌近2% 大型科技股集体下行

查查配5月7日电 7日,港股主要股指回调。截至午盘,恒生指数跌0.85%,恒生科技指数跌1.98%。 美港通证券以其专业的服务和较低的管理费用在市场中受到不少关注。该平台提供了实盘交易、止盈止损、仓位控制等功能,旨在为投资者提供更为全面的投资体验。 来源:Wind 盘面上,零售、软…

用C#打造精美系统托盘消息提醒,让你的应用更具魅力

使用效果&#xff1a; 代码&#xff1a; #region 消息框变量private Timer fadeTimer; // 定义计时器private int fadeSpeed 2;//淡出速度private NotifyIcon notifyIcon;//气泡通知private int opacityLevel 10;//不透明度public enum NotificationType{Error,//错误Warning…

Golang | Leetcode Golang题解之第76题最小覆盖子串

题目&#xff1a; 题解&#xff1a; func minWindow(s string, t string) string {ori, cnt : map[byte]int{}, map[byte]int{}for i : 0; i < len(t); i {ori[t[i]]}sLen : len(s)len : math.MaxInt32ansL, ansR : -1, -1check : func() bool {for k, v : range ori {if c…

Linux网络编程(三)IO复用一 select系统调用

I/O复用使得程序能同时监听多个文件描述符。在以下场景中需要使用到IO复用技术&#xff1a; 客户端程序要同时处理多个socket&#xff0c;非阻塞connect技术客户端程序要同时处理用户输入和网络连接&#xff0c;聊天室程序TCP服务器要同时处理监听socket和连接socket服务器要同…

美国站群服务器的CN2线路在国际互联网通信中的优势?

美国站群服务器的CN2线路在国际互联网通信中的优势? CN2线路&#xff0c;或称中国电信国际二类线路&#xff0c;是中国电信在全球范围内建设的高速骨干网络。这条线路通过海底光缆系统将中国与全球连接起来&#xff0c;为用户提供高速、低延迟的网络服务。CN2线路在国际互联网…