MySQL 8.0 OCP (1Z0-908) 考点精析-架构考点1:二进制日志文件(Binary log)
文章目录
- MySQL 8.0 OCP (1Z0-908) 考点精析-架构考点1:二进制日志文件(Binary log)
- MySQL二进制日志(Binary log)
- 二进制日志文件的相关配置
- 二进制日志文件的相关参数的说明
- 二进制日志的格式
- 设置二进制日志的格式
- 二进制日志的操作
- 例题1:日志文件binary log
- 例题1 解析
- 参考
【免责声明】文章仅供学习交流,观点代表个人,与任何公司无关。
编辑|SQL和数据库技术(ID:SQLplusDB)
MySQL 8.0 OCP (1Z0-908) 考点精析-架构考点1:二进制日志文件(Binary log)
MySQL中有多种类型的日志文件,这些日志可用于故障排除、性能调整和审计等目的,帮助找出正在发生的活动。
常见的日志文件包括:
日志类型 | 写入日志的信息 |
---|---|
错误日志(Error log) | 启动、运行或停止mysqld时遇到的问题 |
二进制日志(Binary log) | 更改数据的语句(也用于复制) |
中继日志(Relay log) | 从复制源服务器接收到的数据更改 |
通用查询日志(General query log) | 已建立的客户端连接和从客户端接收到的语句 |
慢查询日志(Slow query log) | 执行时间超过long_query_time秒的查询 |
DDL日志(元数据日志)(DDL log) | DDL语句执行的元数据操作 |
MySQL二进制日志(Binary log)
MySQL的二进制日志(Binary log)是一种记录所有对MySQL数据库进行修改的操作的日志文件。
二进制日志文件主要用于如下目的:
1.用于主从复制(replication)。
主服务器(复制源)将修改操作记录到二进制日志文件中,并将该文件发送到从服务器。
从服务器使用二进制日志文件中的操作记录来更新自己的数据库(重现这些事务,进行的相同数据更改),从而与主服务器保持同步。2.用于数据恢复操作(point-in-time)。
将所有修改操作记录到一个二进制日志文件中,当需要进行数据恢复时,可以使用二进制日志文件中的操作记录来重建数据库。
例如在备份还原后,重新执行在备份之后记录在二进制日志中的事件,可以将数据库从备份点更新到最新状态。
二进制日志文件的相关配置
通过MySQL的配置文件设置二进制日志文件的路径、日志格式、日志级别等,在配置二进制日志时,需要注意日志文件的大小和保留时间,以免日志文件过大或过旧导致系统性能下降。
二进制日志默认为启用状态(即log_bin系统变量设置为ON)。
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | ON |
+---------------+-------+
1 row in set (0.00 sec)
可以通过如下命令查看二进制日志文件相关的配置参数。
mysql> show variables like '%log_bin%';
mysql> show variables like '%binlog%';
二进制日志文件相关的配置参数输出例:
mysql> show variables like '%log_bin%';
+---------------------------------+-----------------------------+
| Variable_name | Value |
+---------------------------------+-----------------------------+
| log_bin | ON |
| log_bin_basename | /var/lib/mysql/binlog |
| log_bin_index | /var/lib/mysql/binlog.index |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
| sql_log_bin | ON |
+---------------------------------+-----------------------------+
6 rows in set (0.01 sec)mysql> show variables like '%binlog%';
+------------------------------------------------+----------------------+
| Variable_name | Value |
+------------------------------------------------+----------------------+
| binlog_cache_size | 32768 |
| binlog_checksum | CRC32 |
| binlog_direct_non_transactional_updates | OFF |
| binlog_encryption | OFF |
| binlog_error_action | ABORT_SERVER |
| binlog_expire_logs_auto_purge | ON |
| binlog_expire_logs_seconds | 2592000 |
| binlog_format | ROW |
| binlog_group_commit_sync_delay | 0 |
| binlog_group_commit_sync_no_delay_count | 0 |
| binlog_gtid_simple_recovery | ON |
| binlog_max_flush_queue_time | 0 |
| binlog_order_commits | ON |
| binlog_rotate_encryption_master_key_at_startup | OFF |
| binlog_row_event_max_size | 8192 |
| binlog_row_image | FULL |
| binlog_row_metadata | MINIMAL |
| binlog_row_value_options | |
| binlog_rows_query_log_events | OFF |
| binlog_stmt_cache_size | 32768 |
| binlog_transaction_compression | OFF |
| binlog_transaction_compression_level_zstd | 3 |
| binlog_transaction_dependency_history_size | 25000 |
| binlog_transaction_dependency_tracking | COMMIT_ORDER |
| innodb_api_enable_binlog | OFF |
| log_statements_unsafe_for_binlog | ON |
| max_binlog_cache_size | 18446744073709547520 |
| max_binlog_size | 104857600 |
| max_binlog_stmt_cache_size | 18446744073709547520 |
| sync_binlog | 1 |
+------------------------------------------------+----------------------+
30 rows in set (0.00 sec)
二进制日志文件的相关参数的说明
变量名 | 说明 |
---|---|
log_bin | 是否启用二进制日志记录 ,如果设置为ON,则MySQL将记录所有修改数据库的语句到二进制日志中。 |
log_bin_basename | 二进制日志文件的路径和基本名称,MySQL将在该名称后面添加一个数字作为文件名的后缀。例值为/var/lib/mysql/binlog时文件名为 binlog.000037 |
log_bin_index | 二进制日志索引文件的的路径和名称。例 /var/lib/mysql/binlog.index |
log_bin_trust_function_creators | 是否信任二进制日志中的函数创建者,如果设置为OFF,则MySQL将拒绝在二进制日志中记录由未授权的函数创建者创建的函数。 |
log_bin_use_v1_row_events | deprecated。是否使用v1格式的行事件记录,如果设置为ON,则MySQL将使用v1格式的行事件记录(5.5以前),否则将使用v2格式的行事件记录(5.6以后)。 |
sql_log_bin | 是否记录所有修改数据库的语句到二进制日志中,包括非事务性语句。默认开启 |
binlog_cache_size | 二进制日志缓存大小,用于控制二进制日志缓存的大小,避免过多的内存占用。 |
binlog_checksum | 二进制日志校验方式,可以是NONE、CRC32或者SHA256,用于保证二进制日志的完整性。 |
binlog_direct_non_transactional_updates | 默认关闭,是否直接将非事务性更新写入二进制日志,如果设置为ON,则MySQL将直接将非事务性更新写入二进制日志,否则将缓存这些更新,直到事务提交后再写入二进制日志,避免当一个事务包含对事务性表和非事务性表的更新时,复制的不一致性问题。 |
binlog_encryption | 是否启用二进制日志加密 |
binlog_error_action | 二进制日志出错时的处理方式,可以是IGNORE_ERROR、ABORT_SERVER或者ABORT_SLAVE |
binlog_expire_logs_auto_purge | 是否自动清理过期的二进制日志,如果设置为ON,则MySQL将自动清理过期的二进制日志。 |
binlog_expire_logs_seconds | 二进制日志过期时间,单位为秒 ,用于控制二进制日志的过期时间。默认30天。 |
binlog_format | 二进制日志格式,默认值ROW,可以是STATEMENT、ROW或者MIXED 。8.0.34开始deprecated |
binlog_group_commit_sync_delay | 二进制日志组提交同步延迟时间,单位为微秒 |
binlog_group_commit_sync_no_delay_count | 二进制日志组提交同步延迟计数器 |
binlog_gtid_simple_recovery | 是否启用简单的GTID恢复 |
binlog_max_flush_queue_time | deprecated。二进制日志最大刷新队列时间,单位为微秒 |
binlog_order_commits | 是否按照提交顺序记录二进制日志,如果设置为ON,则MySQL将按照提交顺序记录二进制日志。 |
binlog_transaction_compression | 是否启用二进制日志事务压缩。默认OFF |
binlog_transaction_compression_level_zstd | 二进制日志事务压缩级别,可以是1~22之间的整数 |
binlog_transaction_dependency_history_size | 二进制日志事务依赖历史记录大小,用于控制二进制日志事务依赖历史记录的大小 |
binlog_transaction_dependency_tracking | 是否启用二进制日志事务依赖追踪,如果设置为ON,则MySQL将记录事务之间的依赖关系,以便在主从复制时保证数据的一致性。 |
innodb_api_enable_binlog | 是否启用InnoDB API的二进制日志记录 |
log_statements_unsafe_for_binlog | 是否记录不安全的语句到二进制日志中 |
max_binlog_cache_size | 二进制日志缓存的最大大小,用于控制二进制日志缓存的大小,避免过多的内存占用。 |
max_binlog_size | 二进制日志文件的最大大小,用于控制二进制日志文件的大小,避免过多的磁盘占用。 |
max_binlog_stmt_cache_size | 二进制日志语句缓存的最大大小 ,用于控制二进制日志语句缓存的大小,避免过多的内存占用。 |
sync_binlog | 二进制日志同步方式(binlog文件刷新机制),可以是0、1或者N。 0 表示这个同步操作由操作系统根据自身负载自行决定binlog多久写一次磁盘,1 表示每一条事务提交都会立即写磁盘,n 则表示 n 个事务提交才会写磁盘 |
参考:
17.1.6.4
Binary Logging Options and Variables
https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html
二进制日志的格式
MySQL使用多种日志格式来记录二进制日志中的信息:
-
基于SQL语句的日志格式(statement-based logging)
基于SQL语句的日志格式是基于从主服务器到从服务器的SQL语句进行复制。每一条会修改数据的sql语句都会记录到binlog中。该格式下产生的binlog日志量会比较少,但可能导致主从数据不一致。 -
基于行的日志格式(row-based logging)
在基于行的日志格式中(默认格式),主服务器会将事件写入二进制日志,但不记录每一条具体执行的SQL语句,仅记录哪条数据被修改了,以及修改前后的样子。该格式下产生的binlog日志量会比较大,但优点是会非常清楚的记录下每一行数据修改的细节,主从复制不会出错。 -
混合日志格式(mixed logging)
二进制日志也可以采用混合日志格式。默认情况下,使用基于语句的日志格式,但在某些特殊情况(无法保证复制时一致性的情况)下,日志记录模式会自动切换为基于行的日志格式。
例如,在基于语句的复制中,可能存在复制不确定性语句的问题。在决定是否将给定语句安全地用于基于语句的复制时,MySQL确定是否可以保证使用基于语句的日志格式复制该语句。如果MySQL无法做出此保证,则将该语句标记为潜在不可靠,并发出警告,语句可能不安全以语句格式记录。这时可以通过使用MySQL的基于行的复制来避免这些问题。
设置二进制日志的格式
可以通过binlog_format参数可以设置二进制日志的格式。
全局级别的设置方法:
mysql> SET GLOBAL binlog_format = 'STATEMENT';
mysql> SET GLOBAL binlog_format = 'ROW';
mysql> SET GLOBAL binlog_format = 'MIXED';
会话级别的设置方法:
mysql> SET SESSION binlog_format = 'STATEMENT';
mysql> SET SESSION binlog_format = 'ROW';
mysql> SET SESSION binlog_format = 'MIXED';
例:
mysql> show variables like 'binlog_format';
+---------------+-----------+
| Variable_name | Value |
+---------------+-----------+
| binlog_format | STATEMENT |
+---------------+-----------+
1 row in set (0.00 sec)mysql> SET SESSION binlog_format = 'ROW';
Query OK, 0 rows affected (0.00 sec)mysql> show variables like 'binlog_format';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | ROW |
+---------------+-------+
1 row in set (0.00 sec)mysql>
参考:
5.4.4.1 Binary Logging Formats
https://dev.mysql.com/doc/refman/8.0/en/binary-log-formats.html
二进制日志的操作
二进制日志的操作包括如下命令:
--显示所有可用的二进制日志文件列表,包括文件名、文件大小和是否加密等信息。
show binary logs;
--显示指定二进制日志文件中的事件列表,包括日志文件名、事件类型、位置、执行线程ID等信息。
show binlog events in '<binlog名>';
--显示主服务器的二进制日志状态,包括当前正在使用的二进制日志文件名、当前日志文件的位置等信息。
show master status;
--刷新二进制日志,将当前的二进制日志文件关闭并创建一个新的二进制日志文件。这个命令可以用于手动控制二进制日志文件的大小和数量,以及在备份二进制日志文件时使用。
flush logs;
查看二进制日志例:
mysql> show variables like 'binlog_format';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | ROW |
+---------------+-------+
1 row in set (0.00 sec)mysql> delete from city;
Query OK, 4079 rows affected (0.13 sec)mysql> show binary logs;
+---------------+-----------+-----------+
| Log_name | File_size | Encrypted |
+---------------+-----------+-----------+
| binlog.000037 | 201 | No |
| binlog.000038 | 201 | No |
| binlog.000039 | 201 | No |
| binlog.000040 | 201 | No |
| binlog.000041 | 134688 | No |
+---------------+-----------+-----------+
5 rows in set (0.00 sec)mysql> show binlog events in 'binlog.000041';
+---------------+--------+----------------+-----------+-------------+----------------------------------------------------+
| Log_name | Pos | Event_type | Server_id | End_log_pos | Info |
+---------------+--------+----------------+-----------+-------------+----------------------------------------------------+
| binlog.000041 | 4 | Format_desc | 1 | 126 | Server ver: 8.0.33-0ubuntu0.22.04.2, Binlog ver: 4 |
| binlog.000041 | 126 | Previous_gtids | 1 | 157 | |
| binlog.000041 | 157 | Anonymous_Gtid | 1 | 237 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| binlog.000041 | 237 | Query | 1 | 313 | BEGIN |
| binlog.000041 | 313 | Table_map | 1 | 379 | table_id: 92 (world.city) |
| binlog.000041 | 379 | Delete_rows | 1 | 8580 | table_id: 92 |
| binlog.000041 | 8580 | Delete_rows | 1 | 16762 | table_id: 92 |
| binlog.000041 | 16762 | Delete_rows | 1 | 24977 | table_id: 92 |
| binlog.000041 | 24977 | Delete_rows | 1 | 33192 | table_id: 92 |
| binlog.000041 | 33192 | Delete_rows | 1 | 41377 | table_id: 92 |
| binlog.000041 | 41377 | Delete_rows | 1 | 49584 | table_id: 92 |
| binlog.000041 | 49584 | Delete_rows | 1 | 57796 | table_id: 92 |
| binlog.000041 | 57796 | Delete_rows | 1 | 66005 | table_id: 92 |
| binlog.000041 | 66005 | Delete_rows | 1 | 74215 | table_id: 92 |
| binlog.000041 | 74215 | Delete_rows | 1 | 82422 | table_id: 92 |
| binlog.000041 | 82422 | Delete_rows | 1 | 90629 | table_id: 92 |
| binlog.000041 | 90629 | Delete_rows | 1 | 98819 | table_id: 92 |
| binlog.000041 | 98819 | Delete_rows | 1 | 107031 | table_id: 92 |
| binlog.000041 | 107031 | Delete_rows | 1 | 115242 | table_id: 92 |
| binlog.000041 | 115242 | Delete_rows | 1 | 123443 | table_id: 92 |
| binlog.000041 | 123443 | Delete_rows | 1 | 131632 | table_id: 92 |
| binlog.000041 | 131632 | Delete_rows | 1 | 134657 | table_id: 92 flags: STMT_END_F |
| binlog.000041 | 134657 | Xid | 1 | 134688 | COMMIT /* xid=94 */ |
+---------------+--------+----------------+-----------+-------------+----------------------------------------------------+
23 rows in set (0.00 sec)mysql>
mysql> show master status;
+---------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000041 | 134688 | | | |
+---------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)mysql> flush logs;
Query OK, 0 rows affected (0.01 sec)mysql> show master status;
+---------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000042 | 157 | | | |
+---------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
例题1:日志文件binary log
Choose the best answer.
You want to log only the changes made to the database objects and data on the MySQL system.
Which log will do this by default?A) slow query log
B) binary log
C) error log
D) general query log
E) audit log
例题1 解析
Answser:B
MySQL的二进制日志(Binary log)是一种记录所有对MySQL数据库进行修改的操作的日志文件。
参考
5.4 MySQL Server Logs
https://dev.mysql.com/doc/refman/8.0/en/server-logs.html
17.1.6.4 Binary Logging Options and Variables
https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html
相关文章:

MySQL 8.0 OCP (1Z0-908) 考点精析-架构考点1:二进制日志文件(Binary log)
文章目录 MySQL 8.0 OCP (1Z0-908) 考点精析-架构考点1:二进制日志文件(Binary log)MySQL二进制日志(Binary log)二进制日志文件的相关配置二进制日志文件的相关参数的说明二进制日志的格式设置二进制日志的格式 二进制…...

MY.CNF
# [client] port 3306 socket /var/lib/mysql/mysql.sock [mysql] prompt "\umysqldb \R:\m:\s [\d]> " no_auto_rehash loose-skip-binary-as-hex [mysqld] user mysql port 3306 #主从复制或MGR集群中,server_id记得要不同 #另外…...

SpringBoot IOC与AOP(一)
IOC AOP 一、 分层解耦 内聚: 软件中各个功能模块内部的功能联系 耦合: 衡量软件中各个层/模块之间的依赖、关联的程度 软件设计原则:高内聚、低耦合 控制反转:Inversion Of Control,简称IOC。对象的创建控制权由程序自身转移到…...

JVM运行时数据区——方法区的垃圾回收
方法区的垃圾回收主要是两部分:运行时常量池中废弃的常量和不在使用的类。 类卸载(将不在使用的类回收)的条件: 该类的所有实例均被回收。 加载该类的类加载器被回收(一般很难满足)。 类对象不再引用,通过反射也获取不到。...

LeetCode213.House-Robber-II<打家劫舍II>
题目: 思路: 在版本一中增加了一个条件 那就是首尾相关联。那么只需要进行两次循环即可。 第一次是循环是偷第一家的 那么循环到n-1 截至 并且保存一个cmp 第二次循环是不偷第一家的 循环到n截至。然后比较cmp 与 dp [n] 的最大值即可。 代码是&#…...

订单系统问题汇总
1、项目启动失败 原因是pom中既配置了mybatis又配置了mybatis-plus 2、idea连接后提示缺少MySQL驱动,直接根据提示安装就好 3、解析请求得到的json为对象时候报错,待解析的对象是泛型对象 String regionsInfo OkHttpRequestUtils.sendGetRequest(new…...

springboot热加载spring-boot-devtools:
springboot热加载 基于idea开发springboot项目使用热加载 pom依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</op…...

QT学习之旅 - 一个QT的基本项目
文章目录 定时器(时间)位置信息QTableWidget用cellwidget添加控件隐藏QTableWidget的滚动条自动调整适应大小 UDPUDP ClientUDP ServerUDP udpSocket.readDatagram重要参数使用多线程udp 自定义信号和槽UDP服务端接收数据(全局变量) QWT设置标题数轴相关设置坐标轴范围设置坐标…...

大数据课程D2——hadoop的概述
文章作者邮箱:yugongshiyesina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解hadoop的定义和特点; ⚪ 掌握hadoop的基础结构; ⚪ 掌握hadoop的常见命令; ⚪ 了解hadoop的执行流程; 一、简介 1…...

使用nginx和ffmpeg搭建HTTP FLV流媒体服务器(摄像头RTSP视频流->RTMP->http-flv)
名词解释 RTSP (Real-Time Streaming Protocol) 是一种网络协议,用于控制实时流媒体的传输。它是一种应用层协议,通常用于在客户端和流媒体服务器之间建立和控制媒体流的传输。RTSP允许客户端向服务器发送请求,如…...

揭秘APT团体常用的秘密武器——AsyncRAT
AsyncRAT 是 2019 年 1 月在 [GitHub](https://github.com/NYAN-x-CAT/AsyncRAT-C- Sharp)上开源的远控木马,旨在通过远程加密链接控制失陷主机,提供如下典型功能: 截取屏幕 键盘记录 上传/下载/执行文件 持久化 禁用 Windows Defender 关机/…...

Flutter Widget Life Cycle 组件生命周期
Flutter Widget Life Cycle 组件生命周期 视频 前言 了解 widget 生命周期,对我们开发组件还是很重要的。 今天会把无状态、有状态组件的几个生命周期函数一起过下。 原文 https://ducafecat.com/blog/flutter-widget-life-cycle 参考 https://api.flutter.dev/f…...

LeetCode面向运气之Javascript—第2600题-K件物品的最大和-94.68%
LeetCode第2600题-K件物品的最大和 题目要求 袋子中装有一些物品,每个物品上都标记着数字 1 、0 或 -1 。 四个非负整数 numOnes 、numZeros 、numNegOnes 和 k 。 袋子最初包含: numOnes 件标记为 1 的物品。numZeroes 件标记为 0 的物品。numNegOn…...

数学建模学习(4):TOPSIS 综合评价模型及编程实战
一、数据总览 需求:我们需要对各个银行进行评价,A-G为银行的各个指标,下面是银行的数据: 二、代码逐行实现 清空代码和变量的指令 clear;clc; 层次分析法 每一行代表一个对象的指标评分 p [8,7,6,8;7,8,8,7];%每一行代表一个…...

PHP之Smarty使用以及框架display和assign原理
一、Smarty的下载 进入Smarty官网下载,复制目录libs目录即可http://www.smarty.net/http://www.smarty.net/ 二、使用Smarty,创建目录demo,把libs放进去改名为Smarty 三、引入Smarty配置,创建目录,index.php文件配置 <?php…...

《TCP IP网络编程》第十一章
第 11 章 进程间通信 11.1 进程间通信的基本概念 通过管道实现进程间通信: 进程间通信,意味着两个不同的进程中可以交换数据。下图是基于管道(PIPE)的进程间通信的模型: 可以看出,为了完成进程间通信&…...

Folx Pro 5 最好用的Mac磁力链接BT种子下载工具
除了迅雷,还有哪个支持磁力链接下载?Mac电脑如何下载磁力链接?经常有小伙伴问老宅。今天,老宅给大家推荐Folx Pro For Mac,Mac系统超好用的磁力下载工具。 Folx是一款功能强大且易于使用的Mac下载管理器,并…...

Redis 数据库的高可用
文章目录 Redis 数据库的高可用一.Redis 数据库的持久化1.Redis 高可用概念2.Redis 实现高可用的技术2.1 持久化2.2 主从复制2.3 哨兵2.4 Cluster集群 3.Redis 持久化3.1 持久化的功能3.2 Redis 提供持久化的方式3.2.1 RDB 持久化3.2.2 AOF 持久化(append only file…...

elementPlus dialog组件设置可拖动,当内容高度大于视口高度拖动显示异常的解决办法
elementPlus UI的dialog弹框组件在设置了draggable属性后就可拖动弹框,但是当弹框的内容高度大于视口高度时去拖动弹框就会出现显示问题。 解决办法(修改源码) 去node_modules下面找到element-plus文件夹,按照以下路径修改onMou…...

亲测解决Git inflate: data stream error (incorrect data check)
Git inflate: data stream error (incorrect data check) error: unable to unpack… 前提是你的repository在github等服务器或者其他路径有过历史备份/副本,不要求是最新版本的,只要有就可能恢复你做的所有工作。 执行git fsck --full检查损坏的文件 在…...

Ansible 自动化运维工具
Ansible 简介 Ansible 自动化运维工具(机器管理工具)可以实现批量管理多台(成百上千)主机,应用级别的跨主机编排工具。现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstac…...

node.js 爬虫图片下载
主程序文件 app.js 运行主程序前需要先安装使用到的模块: npm install superagent --save axios要安装指定版,安装最新版会报错:npm install axios0.19.2 --save const {default: axios} require(axios); const fs require(fs); const superagent r…...

VAE-根据李宏毅视频总结的最通俗理解
1.VAE的直观理解 先简单了解一下自编码器,也就是常说的Auto-Encoder。Auto-Encoder包括一个编码器(Encoder)和一个解码器(Decoder)。其结构如下: 自编码器是一种先把输入数据压缩为某种编码, 后仅通过该编…...

【LangChain】检索器之上下文压缩
LangChain学习文档 【LangChain】检索器(Retrievers)【LangChain】检索器之MultiQueryRetriever【LangChain】检索器之上下文压缩 上下文压缩 LangChain学习文档 概要内容使用普通向量存储检索器使用 LLMChainExtractor 添加上下文压缩(Adding contextual compression with an…...

uniapp 语音文本播报功能
最近uniapp项目上遇到一个需求 就是在接口调用成功的时候加上语音播报 , ‘创建成功’ ‘开始成功’ ‘结束成功’ 之类的。 因为是固定的文本 ,所以我先利用工具生成了 文本语音mp3文件,放入项目中,直接用就好了。 这里用到的工…...

腾讯云高IO型云服务器CPU型号处理器主频性能
腾讯云服务器高IO型CVM实例CPU处理器主频性能说明,高IO型云服务器具有高随机IOPS、高吞吐量、低访问延时等特点,适合对硬盘读写和时延要求高的高性能数据库等I/O密集型应用,腾讯云服务器网分享高IO型云服务器IT5和IT3的CPU处理器说明…...

【数据结构】实验八:树
实验八 树 一、实验目的与要求 1)理解树的定义; 2)掌握树的存储方式及基于存储结构的基本操作实现; 二、 实验内容 题目一:采用树的双亲表示法根据输入实现以下树的存储,并实现输入给定结点的双亲结点…...

kafka消费者api和分区分配和offset消费
kafka消费者 消费者的消费方式为主动从broker拉取消息,由于消费者的消费速度不同,由broker决定消息发送速度难以适应所有消费者的能力 拉取数据的问题在于,消费者可能会获得空数据 消费者组工作流程 Consumer Group(CG&#x…...

【驱动开发day4作业】
头文件代码 #ifndef __HEAD_H__ #define __HEAD_H__ typedef struct{unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR; }gpio_t; #define PHY_LED1_ADDR 0X50006000 #define PHY_LED2_ADDR 0X50007000 #…...

Ubuntu 20.04 Ubuntu18.04安装录屏软件Kazam
1.在Ubuntu Software里面输入Kazam,就可以找不到这个软件,直接点击install就可以了 2.使用方法: 选择Screencast(录屏) Fullscreen(全屏)-----Windows(窗口)--------Ar…...