MySQL 8.0 InnoDB Tablespaces之General Tablespaces(通用表空间/一般表空间)

文章目录

  • MySQL 8.0 InnoDB Tablespaces之General Tablespaces(通用表空间/一般表空间)
    • General tablespaces(通用表空间/一般表空间)
      • 通用表空间的功能
      • 通用表空间的限制
    • 创建通用表空间(一般表空间)
      • 创建语法
      • 创建通用表空间
        • 例1:不指定数据文件路径
        • 例2: 省略add datafile语句
        • 例3:创建datadir路径外的表空间
          • innodb_directories变量参数
          • 例:创建datadir路径外的表空间
            • 修改innodb_directories变量参数
            • 创建datadir路径外的表空间
        • 例4:创建InnoDB通用表空间的限制
    • 通用表空间中的表
      • 例1:创建表指定通用表空间
      • 例2:修改表的表空间
        • 例2-1:修改到不同的通用表空间中
        • 例2-2:修改表从独立表空间或系统表空间到通用表空间
        • 例2-3:修改表从通用表空间或系统表空间到独立表空间
        • 例2-4:修改表从通用表空间或独立表空间到系统表空间
    • 参考

【免责声明】文章仅供学习交流,观点代表个人,与任何公司无关。
编辑|SQL和数据库技术(ID:SQLplusDB)

MySQL 8.0 OCP (1Z0-908) 考点概要

MySQL 8.0 OCP (1Z0-908) 考点精析-安装与配置考点1:设置系统变量
【MySQL】控制MySQL优化器行为方法之optimizer_switch系统变量
【MySQL】MySQL系统变量(system variables)列表(mysqld --verbose --help的结果例)
【MySQL】MySQL系统变量(system variables)列表(SHOW VARIABLES 的结果例)
MySQL 8.0 OCP (1Z0-908) 考点精析-备份与恢复考点1:MySQL Enterprise Backup概要
MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点1:sys.statement_analysis视图
MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点2:系统变量的确认
MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点3:EXPLAIN ANALYZE
MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点4:慢速查询日志(slow query log)
MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点5:表连接算法(join algorithm)
MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点6:MySQL Enterprise Monitor之Query Analyzer
MySQL 8.0 OCP (1Z0-908) 考点精析-架构考点1:二进制日志文件(Binary log)
MySQL 8.0 OCP (1Z0-908) 考点精析-架构考点5:数据字典(Data Dictionary)
MySQL 8.0 OCP (1Z0-908) 考点精析-架构考点6:InnoDB Tablespaces之系统表空间(System Tablespace)
MySQL 8.0 InnoDB Tablespaces之File-per-table tablespaces(单独表空间)

MySQL 8.0 InnoDB Tablespaces之General Tablespaces(通用表空间/一般表空间)

InnoDB表空间是MySQL中用于存储InnoDB存储引擎表数据和索引的物理文件。
InnoDB Architecture
InnoDB表空间根据用途可以分成多种类型:

  • 数据表空间:
    • System tablespace(系统表空间)
    • File-per-table tablespaces(单独表空间)
    • General tablespaces(通用表空间/一般表空间)
  • Undo 表空间
  • 临时表空间(Temporary table tablespaces)

General tablespaces(通用表空间/一般表空间)

通用表空间具有如下功能和限制。

通用表空间的功能

通用表空间具有如下功能:

  • 使用CREATE TABLESPACE语法创建的共享InnoDB表空间(与Oracle的表空间很相似)。
  • 类似于系统表空间,通用表空间是共享表空间,可以存储多个表的数据。 与独立表空间相比,通用表空间具有潜在的内存优势。(通用表空间中多个表共享一个表空间,所以消耗更少的内存用于表空间元数据,独立表空间需要更多内存用于表空间元数据。)
  • 数据文件可以放置在与MySQL数据目录( MySQL data directory)相关或独立的目录中。
  • 通用表空间支持所有的表行格式和相关功能(REDUNDANT, COMPACT, DYNAMIC, COMPRESSED)。 CREATE
  • TABLE语句可以使用TABLESPACE选项在通用表空间、独立表空间或系统表空间中创建表。 ALTER
  • TABLE语句可以使用TABLESPACE选项在通用表空间、独立表空间或系统表空间之间移动表。
  • 创建通用表空间时候会生成相应的.ibd数据文件。 通用表空间不属于特定的数据库。

通用表空间的限制

通用表空间具有如下限制:

  • 无法将现有的表空间更改为通用表空间。
  • 不支持创建临时通用表空间。
  • 通用表空间不支持临时表。
  • 与系统表空间类似,truncate 或者drop通用表空间中的表,仅释放系统表空间中的空间,不会返回给操作系统。
  • 表复制的ALTER TABLE操作可能会增加表空间使用的空间量。
  • 不支持表分区(table partitions)放置在通用表空间中
  • 源和副本位于同一主机上的复制环境中,不支持使用ADD DATAFILE子句。
  • MySQL 8.0.21开始,由datadir、innodb_data_home_dir和innodb_directories变量定义的目录以外,无法在撤销表空间目录(innodb_undo_directory)中创建通用表空间。

创建通用表空间(一般表空间)

创建语法

通用表空间/一般表空间创建语法如下:

CREATE [UNDO] TABLESPACE tablespace_nameInnoDB and NDB:[ADD DATAFILE 'file_name'][AUTOEXTEND_SIZE [=] value]InnoDB only:[FILE_BLOCK_SIZE = value][ENCRYPTION [=] {'Y' | 'N'}]NDB only:USE LOGFILE GROUP logfile_group[EXTENT_SIZE [=] extent_size][INITIAL_SIZE [=] initial_size][MAX_SIZE [=] max_size][NODEGROUP [=] nodegroup_id][WAIT][COMMENT [=] 'string']InnoDB and NDB:[ENGINE [=] engine_name]Reserved for future use:[ENGINE_ATTRIBUTE [=] 'string']

创建通用表空间

例1:不指定数据文件路径

可以不指定数据文件路径创建通用表空间,这时候数据文件会默认创建在datadir路径下。

创建表空间:

mysql> create tablespace test_tbs1 add datafile 'test_tbs1.ibd';
Query OK, 0 rows affected (0.01 sec)mysql> show variables like 'datadir';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.01 sec)mysql> select * from-> information_schema.innodb_tablespaces t-> join information_schema.innodb_datafiles d-> on t.SPACE=d.SPACE-> where t.NAME ='test_tbs1'\G
*************************** 1. row ***************************SPACE: 81NAME: test_tbs1FLAG: 18432ROW_FORMAT: AnyPAGE_SIZE: 16384ZIP_PAGE_SIZE: 0SPACE_TYPE: GeneralFS_BLOCK_SIZE: 4096FILE_SIZE: 114688ALLOCATED_SIZE: 114688
AUTOEXTEND_SIZE: 0SERVER_VERSION: 8.0.35SPACE_VERSION: 1ENCRYPTION: NSTATE: normalSPACE: 0x3831PATH: test_tbs1.ibd
1 row in set (0.00 sec)mysql>

查看数据文件:

root@mysql-vm:/var/lib/mysql# ls -l test_tbs*
-rw-r----- 1 mysql mysql 114688 Dec 20 20:32 test_tbs1.ibd
例2: 省略add datafile语句

MySQL 8.0.14版本之后,创建表空间时可以省略add datafile语句。这时MySQL会隐式创建具有唯一文件名的表空间数据文件。

  • 文件名是一个128位的UUID,格式为五组用破折号分隔的十六进制数字(aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee)。
  • 常规表空间数据文件包括一个.ibd文件扩展名。 在replication环境中,在源上创建的数据文件名与在复制副本上创建的文件名不同。

例:

mysql>  create tablespace test_tbs2;
Query OK, 0 rows affected (0.01 sec)
mysql> select * from-> information_schema.innodb_tablespaces t-> join information_schema.innodb_datafiles d-> on t.SPACE=d.SPACE-> where t.NAME ='test_tbs2'\G
*************************** 1. row ***************************SPACE: 82NAME: test_tbs2FLAG: 18432ROW_FORMAT: AnyPAGE_SIZE: 16384ZIP_PAGE_SIZE: 0SPACE_TYPE: GeneralFS_BLOCK_SIZE: 4096FILE_SIZE: 114688ALLOCATED_SIZE: 114688
AUTOEXTEND_SIZE: 0SERVER_VERSION: 8.0.35SPACE_VERSION: 1ENCRYPTION: NSTATE: normalSPACE: 0x3832PATH: af5bb7e2-9f34-11ee-8d33-525400b409f6.ibd
1 row in set (0.00 sec)mysql>

查看数据文件:

root@mysql-vm:/var/lib/mysql# ls -l af5bb7e2-9f34-11ee-8d33-525400b409f6.ibd
-rw-r----- 1 mysql mysql 114688 Dec 20 20:38 af5bb7e2-9f34-11ee-8d33-525400b409f6.ibd
root@mysql-vm:/var/lib/mysql#
例3:创建datadir路径外的表空间

通用表空间数据文件可以放置在数据目录之外的位置,但是路径必须是innodb_directories的值或者附加到innodb_directories值的变量(innodb_data_home_dir、innodb_undo_directory和datadir)之一。

innodb_directories变量参数

innodb_directories变量参数内容如下:

Command-Line Format–innodb-directories=dir_name
System Variableinnodb_directories
ScopeGlobal
DynamicNo
SET_VAR Hint AppliesNo
TypeDirectory name
Default ValueNULL

innodb_directories参数的默认值为NULL。但是innodb_data_home_dir、innodb_undo_directory和datadir定义的目录会会附加到innodb_directories参数值上。

例:

mysql> show variables like 'innodb_directories';
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| innodb_directories |       |
+--------------------+-------+
1 row in set (0.01 sec)mysql> show variables like 'innodb_data_home_dir';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| innodb_data_home_dir |       |
+----------------------+-------+
1 row in set (0.00 sec)mysql> show variables like 'innodb_undo_directory';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_undo_directory | ./    |
+-----------------------+-------+
1 row in set (0.01 sec)mysql> show variables like 'datadir';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.00 sec)mysql>

/var/lib/mysql-files
drwx------ 12 mysql mysql 4096 Dec 24 22:10 mysql

参考:
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_directories

修改innodb_directories变量参数需要修改MySQL配置文件,并重新启动MySQL服务。

例:创建datadir路径外的表空间

如果在未定义路径中创建通用表空间,由于不是已知目录,会发生如下ERROR 3121 (HY000)错误。

mysql> show variables like 'innodb_directories';
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| innodb_directories |       |
+--------------------+-------+
1 row in set (0.01 sec)mysql> create tablespace sqlplusdb_tb1 add datafile '/var/lib/mysql-files/sqlplusdb_tb1.ibd';
ERROR 3121 (HY000): The DATAFILE location must be in a known directory.
mysql>

可以通过修改innodb_directories变量参数添加已知目录。

修改innodb_directories变量参数

添加如下内容(innodb_directories=/var/lib/mysql-files)到MySQL配置文件中。
例:innodb_directories=/var/lib/mysql-files

root@mysql-vm:/etc/mysql# vi /etc/mysql/mysql.conf.d/mysqld.cnf
root@mysql-vm:/etc/mysql# systemctl stop mysql
root@mysql-vm:/etc/mysql# systemctl start mysql
创建datadir路径外的表空间

查看变量并创建datadir路径外的表空间的表空间

mysql> show variables like 'innodb_directories';
+--------------------+----------------------+
| Variable_name      | Value                |
+--------------------+----------------------+
| innodb_directories | /var/lib/mysql-files |
+--------------------+----------------------+
1 row in set (0.00 sec)mysql> create tablespace test_tb3 add datafile '/var/lib/mysql-files/test_tb3.ibd';
Query OK, 0 rows affected (0.02 sec)
mysql>
mysql> select * from->  information_schema.innodb_tablespaces t->  join information_schema.innodb_datafiles d->  on t.SPACE=d.SPACE->  where t.NAME ='test_tb3'\G
*************************** 1. row ***************************SPACE: 92NAME: test_tb3FLAG: 18432ROW_FORMAT: AnyPAGE_SIZE: 16384ZIP_PAGE_SIZE: 0SPACE_TYPE: GeneralFS_BLOCK_SIZE: 4096FILE_SIZE: 114688ALLOCATED_SIZE: 114688
AUTOEXTEND_SIZE: 0SERVER_VERSION: 8.0.35SPACE_VERSION: 1ENCRYPTION: NSTATE: normalSPACE: 0x3932PATH: /var/lib/mysql-files/test_tb3.ibd
1 row in set (0.00 sec)mysql>

参考:
MySQL 8.0 OCP (1Z0-908) 考点精析-安装与配置考点1:设置系统变量

例4:创建InnoDB通用表空间的限制

可以在数据目录(datadir)中创建通用表空间。

mysql> create tablespace sqlplusdb_tb1 add datafile '/var/lib/mysql/sqlplusdb_tb1.ibd';
Query OK, 0 rows affected (0.02 sec)

但是为了避免与隐式创建的每个表一个文件的表空间发生冲突,不支持在数据目录(datadir)的子目录中创建InnoDB通用表空间。
如果在数据目录(datadir)的子目录中创建InnoDB通用表空间会报ERROR 3121 (HY000)错误。

例:

mysql> show variables like 'datadir';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.00 sec)mysql> create tablespace sqlplusdb_tb2 add datafile '/var/lib/mysql/testdb/sqlplusdb_tb1.ibd';
ERROR 3121 (HY000): The DATAFILE location cannot be under the datadir.
mysql>

通用表空间中的表

和Oracle一样,MySQL在创建表时可以指定表空间也可以修改表的表空间。

例1:创建表指定通用表空间

mysql> use testdb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> CREATE TABLE test_t1 (c1 INT) TABLESPACE test_tbs1 ;
Query OK, 0 rows affected (0.01 sec)mysql>
mysql> SHOW CREATE TABLE  test_t1;
+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table   | Create Table                                                                                                                                           |
+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| test_t1 | CREATE TABLE `test_t1` (`c1` int DEFAULT NULL
) /*!50100 TABLESPACE `test_tbs1` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.02 sec)mysql>
mysql> select->      name as 'table_name',->      space_type->  from->      information_schema.innodb_tables->  where->      name like '%test_t1%' \g
+----------------+------------+
| table_name     | space_type |
+----------------+------------+
| testdb/test_t1 | General    |
+----------------+------------+
1 row in set (0.08 sec)

例2:修改表的表空间

通过ALTER TABLE语句的TABLESPACE选项可以修改表的表空间,将表在通用表空间、独立表空间或系统表空间之间进行移动。

需要注意的是:

- ALTER TABLE ... TABLESPACE操作将导致对表进行全表重建(即使TABLESPACE属性未发生更改也会重建)。
- ALTER TABLE ... TABLESPACE语法不支持将表从临时表空间移动到持久表空间。
例2-1:修改到不同的通用表空间中

通过ALTER TABLE tbl_name TABLESPACE [=] tablespace_name修改表到不同的通用表空间中

例:

mysql> SHOW CREATE TABLE  test_t1;
+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table   | Create Table                                                                                                                                           |
+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| test_t1 | CREATE TABLE `test_t1` (`c1` int DEFAULT NULL
) /*!50100 TABLESPACE `test_tbs1` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+---------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)mysql> ALTER TABLE test_t1 tablespace=sqlplusdb_tb1;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> SHOW CREATE TABLE  test_t1;
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table   | Create Table                                                                                                                                               |
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| test_t1 | CREATE TABLE `test_t1` (`c1` int DEFAULT NULL
) /*!50100 TABLESPACE `sqlplusdb_tb1` */ ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)mysql>
例2-2:修改表从独立表空间或系统表空间到通用表空间

可以通过如下命令修改表从独立表空间或系统表空间到通用表空间。

ALTER TABLE tbl_name TABLESPACE [=] tablespace_name

例:修改表从独立表空间到通用表空间

mysql> select->      name as 'table_name',->      space_type->  from->      information_schema.innodb_tables->  where->      name ='testdb/test_file_pertable_tablespace' \g
+--------------------------------------+------------+
| table_name                           | space_type |
+--------------------------------------+------------+
| testdb/test_file_pertable_tablespace | Single     |
+--------------------------------------+------------+
1 row in set (0.00 sec)mysql> alter table test_file_pertable_tablespace tablespace=test_tbs1;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> select->      name as 'table_name',->      space_type->  from->      information_schema.innodb_tables->  where->      name ='testdb/test_file_pertable_tablespace' \g
+--------------------------------------+------------+
| table_name                           | space_type |
+--------------------------------------+------------+
| testdb/test_file_pertable_tablespace | General    |
+--------------------------------------+------------+
1 row in set (0.00 sec)mysql>

例:修改表从系统表空间到通用表空间

mysql>  select->       name as 'table_name',->       space_type->   from->       information_schema.innodb_tables->   where->       name ='testdb/test_file_pertable' \g
+---------------------------+------------+
| table_name                | space_type |
+---------------------------+------------+
| testdb/test_file_pertable | System     |
+---------------------------+------------+
1 row in set (0.01 sec)mysql> alter table test_file_pertable tablespace=test_tbs1;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> select->      name as 'table_name',->      space_type->  from->      information_schema.innodb_tables->  where->      name ='testdb/test_file_pertable' \g
+---------------------------+------------+
| table_name                | space_type |
+---------------------------+------------+
| testdb/test_file_pertable | General    |
+---------------------------+------------+
1 row in set (0.00 sec)mysql>
例2-3:修改表从通用表空间或系统表空间到独立表空间

可以通过如下命令修改表从通用表空间或系统表空间到独立表空间。

ALTER TABLE tbl_name TABLESPACE [=] innodb_file_per_table;

例:修改表从通用表空间到独立表空间

mysql> select->      name as 'table_name',->      space_type->  from->      information_schema.innodb_tables->  where->      name ='testdb/test_file_pertable' \g
+---------------------------+------------+
| table_name                | space_type |
+---------------------------+------------+
| testdb/test_file_pertable | General    |
+---------------------------+------------+
1 row in set (0.00 sec)mysql>  alter table test_file_pertable tablespace=innodb_file_per_table;
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql>  select->       name as 'table_name',->       space_type->   from->       information_schema.innodb_tables->   where->       name ='testdb/test_file_pertable' \g
+---------------------------+------------+
| table_name                | space_type |
+---------------------------+------------+
| testdb/test_file_pertable | Single     |
+---------------------------+------------+
1 row in set (0.01 sec)mysql>
例2-4:修改表从通用表空间或独立表空间到系统表空间

可以通过如下命令修改表从通用表空间或独立表空间到系统表空间。

ALTER TABLE tbl_name TABLESPACE [=] innodb_system;

例:修改表从独立表空间到系统表空间

mysql> select->      name as 'table_name',->      space_type->  from->      information_schema.innodb_tables->  where->      name ='testdb/test_file_pertable' \g
+---------------------------+------------+
| table_name                | space_type |
+---------------------------+------------+
| testdb/test_file_pertable | Single     |
+---------------------------+------------+
1 row in set (0.00 sec)mysql>
mysql> alter table test_file_pertable tablespace=innodb_system;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> select->      name as 'table_name',->      space_type->  from->      information_schema.innodb_tables->  where->      name ='testdb/test_file_pertable' \g
+---------------------------+------------+
| table_name                | space_type |
+---------------------------+------------+
| testdb/test_file_pertable | System     |
+---------------------------+------------+
1 row in set (0.00 sec)

参考

15.6.3.3 General Tablespaces
https://dev.mysql.com/doc/refman/8.0/en/general-tablespaces.html

13.1.21 CREATE TABLESPACE Statement
https://dev.mysql.com/doc/refman/8.0/en/create-tablespace.html

Chapter 2 Server Error Message Reference
https://dev.mysql.com/doc/mysql-errors/8.0/en/server-error-reference.html
Error number: 3121; Symbol: ER_WRONG_FILE_NAME; SQLSTATE: HY000
Message: Incorrect File Name ‘%s’.

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

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

相关文章

键盘字符(#键)显示错误

当屏幕上显示的键与键盘上按下的键不同时,尤其是 # 键。大多数情况下,此错误是由于 raspbian 和 NOOBS 软件的默认英国键盘配置所致。 解决方案: 要解决此问题,您需要将配置更改为您自己的键盘或语言的配置。这可以通过转到树莓派…

Java 读取超大excel文件

注意&#xff1a;此参考解决方案只是针对xlsx格式的excel文件&#xff01; Maven <dependency><groupId>com.monitorjbl</groupId><artifactId>xlsx-streamer</artifactId><version>2.2.0</version> </dependency>读取方式1…

PostgreSQL 数据库归档最近被问及的问题问题 与 4 毋 处世学

开头还是介绍一下群&#xff0c;如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题&#xff0c;有需求都可以加群群内&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;&#xff08;共1790人左右 1 2 3 4 5&#xff0…

LMX2571 芯片配置Verliog SPI驱动

前言 本实验使用ZYNQ的PL(FPGA)对LMX2571芯片进行配置&#xff0c;以下连接为相关的原理和软件使用资料。 TICS Pro 配置时钟芯片 文献阅读–Σ-Δ 小数频率合成器原理 LMX2571芯片数据手册 一、LMX2571配置时序分析 1.1 写时序 LMX2571使用24位寄存器进行编程。一个24位移位…

CSS去掉按钮阴影 | css去掉按钮边框 | 注意改变搜索的关键词、搜索方式

上图是在谷歌浏览器中运行的结果 button {box-shadow: none;height: 50px;width: 100px;background-color: white;border-color: white; }写了以上的css&#xff0c;发现按钮还是有阴影一样的东西&#xff0c;查阅网络资料的时候也一直在搜索“如何去掉按钮阴影”&#xff0c;…

计算数组中某一数字出现次数

计算数组中某一数字出现次数 思路实现普通数组的方法双向列表的方法 总结 思路 这个比较简单&#xff0c;思路其实就是遍历数组中所有的数字做一下对比&#xff0c;有的话记录一下即可。但是这几天看到了个双向列表LinkList的方法&#xff0c;所以拿出来做一下对比看看。 实现…

网站提示“不安全”怎么解决

在互联网中&#xff0c;安全问题至关重要。访问某些网站时&#xff0c;可能会遇到“不安全”警告&#xff0c;通常是由于缺乏SSL证书。SSL证书是数字证书&#xff0c;用于确保互联网通信的安全和保密。 “不安全”问题通常源于缺少SSL证书。SSL通过加密通信&#xff0c;防止第三…

“2023年的技术发展与个人成长:回顾与展望“

文章目录 每日一句正能量前言工作生活未来展望后记 每日一句正能量 凡事顺其自然&#xff0c;遇事处于泰然&#xff0c;得意之时淡然&#xff0c;失意之时坦然&#xff0c;艰辛曲折必然&#xff0c;历尽沧桑悟然。 前言 在这快速发展的信息时代&#xff0c;技术的进步和创新不…

CSS 向上扩展动画

上干货 <template><!-- mouseenter"startAnimation" 表示在鼠标进入元素时触发 startAnimation 方法。mouseleave"stopAnimation" 表示在鼠标离开元素时触发 stopAnimation 方法。 --><!-- 容器元素 --><div class"container&q…

MyBatis标签及其应用示例

MyBatis标签及其应用示例 1. select 1.1 标签属性 id唯一的标识符parameterType传给此语句的参数的全路径名或别名如&#xff1a;com.xxx.xxx.demo.entity.User或userresultType语句返回值类型或别名。如果是集合List&#xff0c;此处填写集合的泛型T&#xff0c;而不是集合…

SCT82630DHKR——5.5V-65V Vin同步降压控制器,可替代LM5145

描述&#xff1a; SCT82630是一款65V电压模式控制同步降压控制器&#xff0c;具有线路前馈。40ns受控高压侧MOSFET的最小导通时间支持高转换比&#xff0c;实现从48V输入到低压轨的直接降压转换&#xff0c;降低了系统复杂性和解决方案成本。如果需要&#xff0c;在低至6V的输…

【MySQL】数据库并发控制:悲观锁与乐观锁的深入解析

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a; 数 据 库 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 悲观锁&#xff08;Pessimistic Locking&#xff09;: 乐观锁&#xff08;Optimistic Locking&#xff09;: 总结&#x…

SpringBoot3 应用分析

SpringBoot3-快速入门 1、简介 1. 前置知识 Java17Spring、SpringMVC、MyBatisMaven、IDEA 2. 环境要求 环境&工具版本&#xff08;or later&#xff09;SpringBoot3.0.5IDEA2021.2.1Java17Maven3.5Tomcat10.0Servlet5.0GraalVM Community22.3Native Build Tools0.9.1…

<JavaEE> TCP 的通信机制(五) -- 延时应答、捎带应答、面向字节流

目录 TCP的通信机制的核心特性 七、延时应答 1&#xff09;什么是延时应答&#xff1f; 2&#xff09;延时应答的作用 八、捎带应答 1&#xff09;什么是捎带应答&#xff1f; 2&#xff09;捎带应答的作用 九、面向字节流 1&#xff09;沾包问题 2&#xff09;“沾包…

深度学习之RNN

1.循环神经网络 在时间t的时候&#xff0c;对于单个神经元来讲它的输出y(t)如下 wx是对于输入x的权重&#xff0c;wy是对于上一时刻输出的权重 所以循环神经网络有两个权重。 如果有很多这样的神经元并排在一起 则在t时刻的输出y为 这时输入输出都是向量 2.记忆单元 由于循…

liunx系统突然不能启动jar

启动命令 nohup java -jar /date/gd_ly/jar/mssda-platform-backend-0.0.1-SNAPSHOT.jar -Dspring.config.location/date/gd_ly/jar/application-dev.yml 报错信息 Error: A JNI error has occurred, please check your installation and try again Exception in thread &q…

【起草】【第五章】定制ChatGPT数字亲人

身为普普通通的我们&#xff0c;不知道亲人们在哪一天就要离开这个世界 &#xff1f; 作为普普通通的程序员&#xff0c;我们可以为我们的亲人做点什么 &#xff1f; 让他们以某种形式留在人世间 ? 对话&#xff5c;6岁女孩病逝捐器官&#xff0c;妈妈&#xff1a;她去当天使…

Qt+Opencv:人脸检测

话接上一篇&#xff0c;我们仍使用在上篇《QtOpencv&#xff1a;Qt中部署opencv》创建的Qt项目来测试opencv提供的sample。 在正式开始本篇之前&#xff0c;我们先说做一下准备工作&#xff1a; 一、opencv官方文档 学习最权威和最可靠的方式&#xff0c;就是阅读官方文档和…

释放资源的方式

为什么要学这个释放资源的方式&#xff1f; //5 关流outputStream.close();inputStream.close();原来这种方式&#xff0c;一般项目都会有很多代码&#xff0c;万一前面的代码有异常&#xff0c;就无法执行到这一步&#xff0c;绑定的系统资源就得不到释放&#xff0c;影响系统…

腾讯云服务器和轻量服务器选哪个好(各自的优势区别)

腾讯云轻量服务器和云服务器CVM该怎么选&#xff1f;不差钱选云服务器CVM&#xff0c;追求性价比选择轻量应用服务器&#xff0c;轻量真优惠呀&#xff0c;活动 https://curl.qcloud.com/oRMoSucP 轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年&#xff0c;540元三…