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

mysql高级篇 | 尚硅谷 | 第2章_数据库和文件系统的关系

二、数据库和文件系统的关系

文章目录

      • 二、数据库和文件系统的关系
        • 1、查看默认数据库
        • 2、 数据库在文件系统中的表示
        • 3、表在文件系统中的表示
          • ①InnoDB存储引擎模式
          • ②表中数据和索引
          • ②MyISAM存储引擎模式
        • 4、小结

1、查看默认数据库

查看一下在我的计算机上当前有哪些数据库:

SHOW DATABASES;

可以看到有4个数据库是属于MySQL自带的系统数据库。

  • mysql
    MySQL 系统自带的核心数据库,它存储了MySQL的用户账户和权限信息,一些存储过程、事件的定
    义信息,一些运行过程中产生的日志信息,一些帮助信息以及时区信息等。
  • information_schema
    MySQL 系统自带的数据库,这个数据库保存着MySQL服务器 维护的所有其他数据库的信息 ,比如有
    哪些表、哪些视图、哪些触发器、哪些列、哪些索引。这些信息并不是真实的用户数据,而是一些
    描述性信息,有时候也称之为 元数据 。在系统数据库information_schema 中提供了一些以
    innodb_sys开头的表,用于表示内部系统表。
mysql> USE information_schema;
Database changed
mysql> SHOW TABLES LIKE 'innodb_sys%';
+--------------------------------------------+
| Tables_in_information_schema (innodb_sys%) |
+--------------------------------------------+
| INNODB_SYS_DATAFILES            |
| INNODB_SYS_VIRTUAL             |
| INNODB_SYS_INDEXES             |
| INNODB_SYS_TABLES             |
| INNODB_SYS_FIELDS             |
| INNODB_SYS_TABLESPACES           |
| INNODB_SYS_FOREIGN_COLS          |
| INNODB_SYS_COLUMNS             |
| INNODB_SYS_FOREIGN             |
| INNODB_SYS_TABLESTATS           |
+--------------------------------------------+
10 rows in set (0.00 sec)
  • performance_schema
    MySQL 系统自带的数据库,这个数据库里主要保存MySQL服务器运行过程中的一些状态信息,可以用来 监控 MySQL 服务的各类性能指标。包括统计最近执行了哪些语句,在执行过程的每个阶段都
    花费了多长时间,内存的使用情况等信息。
  • sys
    MySQL 系统自带的数据库,这个数据库主要是通过 视图 的形式把 information_schema
    performance_schema 结合起来,帮助系统管理员和开发人员监控 MySQL 的技术性能。

2、 数据库在文件系统中的表示

看一下我的计算机上的数据目录下的内容:

[root@achang mysql]# cd /var/lib/mysql
[root@achang mysql]# ll
总用量 189980
-rw-r-----. 1 mysql mysql    56 728 00:27 auto.cnf
-rw-r-----. 1 mysql mysql    179 728 00:27 binlog.000001
-rw-r-----. 1 mysql mysql    820 728 01:00 binlog.000002
-rw-r-----. 1 mysql mysql    179 729 14:08 binlog.000003
-rw-r-----. 1 mysql mysql    582 729 16:47 binlog.000004
-rw-r-----. 1 mysql mysql    179 729 16:51 binlog.000005
-rw-r-----. 1 mysql mysql    179 729 16:56 binlog.000006
-rw-r-----. 1 mysql mysql    179 729 17:37 binlog.000007
-rw-r-----. 1 mysql mysql   24555 730 00:28 binlog.000008
-rw-r-----. 1 mysql mysql    179 81 11:57 binlog.000009
-rw-r-----. 1 mysql mysql    156 81 23:21 binlog.000010
-rw-r-----. 1 mysql mysql    156 82 09:25 binlog.000011
-rw-r-----. 1 mysql mysql   1469 84 01:40 binlog.000012
-rw-r-----. 1 mysql mysql    156 86 00:24 binlog.000013
-rw-r-----. 1 mysql mysql    179 86 08:43 binlog.000014
-rw-r-----. 1 mysql mysql    156 86 10:56 binlog.000015
-rw-r-----. 1 mysql mysql    240 86 10:56 binlog.index
-rw-------. 1 mysql mysql   1676 728 00:27 ca-key.pem
-rw-r--r--. 1 mysql mysql   1112 728 00:27 ca.pem
-rw-r--r--. 1 mysql mysql   1112 728 00:27 client-cert.pem
-rw-------. 1 mysql mysql   1676 728 00:27 client-key.pem
drwxr-x---. 2 mysql mysql   4096 729 16:34 dbtest
-rw-r-----. 1 mysql mysql  196608 86 10:58 #ib_16384_0.dblwr
-rw-r-----. 1 mysql mysql  8585216 728 00:27 #ib_16384_1.dblwr
-rw-r-----. 1 mysql mysql   3486 86 08:43 ib_buffer_pool
-rw-r-----. 1 mysql mysql 12582912 86 10:56 ibdata1
-rw-r-----. 1 mysql mysql 50331648 86 10:58 ib_logfile0
-rw-r-----. 1 mysql mysql 50331648 728 00:27 ib_logfile1
-rw-r-----. 1 mysql mysql 12582912 86 10:56 ibtmp1
drwxr-x---. 2 mysql mysql   4096 86 10:56 #innodb_temp
drwxr-x---. 2 mysql mysql   4096 728 00:27 mysql
-rw-r-----. 1 mysql mysql 26214400 86 10:56 mysql.ibd
srwxrwxrwx. 1 mysql mysql     0 86 10:56 mysql.sock
-rw-------. 1 mysql mysql     5 86 10:56 mysql.sock.lock
drwxr-x---. 2 mysql mysql   4096 728 00:27 performance_schema
-rw-------. 1 mysql mysql   1680 728 00:27 private_key.pem
-rw-r--r--. 1 mysql mysql    452 728 00:27 public_key.pem
-rw-r--r--. 1 mysql mysql   1112 728 00:27 server-cert.pem
-rw-------. 1 mysql mysql   1680 728 00:27 server-key.pem
drwxr-x---. 2 mysql mysql   4096 728 00:27 sys
drwxr-x---. 2 mysql mysql   4096 729 23:10 temp
-rw-r-----. 1 mysql mysql 16777216 86 10:58 undo_001
-rw-r-----. 1 mysql mysql 16777216 86 10:58 undo_002

这个数据目录下的文件和子目录比较多,除了 information_schema 这个系统数据库外,其他的数据库
数据目录 下都有对应的子目录。
以我的 temp数据库为例,在MySQL5.7 中打开:

[root@achang mysql]# cd ./temp
[root@achang temp]# ll
总用量 1144
-rw-r-----. 1 mysql mysql  8658 818 11:32 countries.frm
-rw-r-----. 1 mysql mysql 114688 818 11:32 countries.ibd
-rw-r-----. 1 mysql mysql   61 818 11:32 db.opt
-rw-r-----. 1 mysql mysql  8716 818 11:32 departments.frm
-rw-r-----. 1 mysql mysql 147456 818 11:32 departments.ibd
-rw-r-----. 1 mysql mysql  3017 818 11:32 emp_details_view.frm
-rw-r-----. 1 mysql mysql  8982 818 11:32 employees.frm
-rw-r-----. 1 mysql mysql 180224 818 11:32 employees.ibd
-rw-r-----. 1 mysql mysql  8660 818 11:32 job_grades.frm
-rw-r-----. 1 mysql mysql  98304 818 11:32 job_grades.ibd
-rw-r-----. 1 mysql mysql  8736 818 11:32 job_history.frm
-rw-r-----. 1 mysql mysql 147456 818 11:32 job_history.ibd
-rw-r-----. 1 mysql mysql  8688 818 11:32 jobs.frm
-rw-r-----. 1 mysql mysql 114688 818 11:32 jobs.ibd
-rw-r-----. 1 mysql mysql  8790 818 11:32 locations.frm
-rw-r-----. 1 mysql mysql 131072 818 11:32 locations.ibd
-rw-r-----. 1 mysql mysql  8614 818 11:32 regions.frm
-rw-r-----. 1 mysql mysql 114688 818 11:32 regions.ibd
123456789101112131415161718192021

在MySQL8.0中打开:

[root@atguigu01 mysql]# cd ./temp
[root@atguigu01 temp]# ll
总用量 1080
-rw-r-----. 1 mysql mysql 131072 729 23:10 countries.ibd
-rw-r-----. 1 mysql mysql 163840 729 23:10 departments.ibd
-rw-r-----. 1 mysql mysql 196608 729 23:10 employees.ibd
-rw-r-----. 1 mysql mysql 114688 729 23:10 job_grades.ibd
-rw-r-----. 1 mysql mysql 163840 729 23:10 job_history.ibd
-rw-r-----. 1 mysql mysql 131072 729 23:10 jobs.ibd
-rw-r-----. 1 mysql mysql 147456 729 23:10 locations.ibd
-rw-r-----. 1 mysql mysql 131072 729 23:10 regions.ibd
1234567891011

3、表在文件系统中的表示
①InnoDB存储引擎模式
  • 表结构

为了保存表结构,InnoDB数据目录 下对应的数据库子目录下创建了一个专门用于 描述表结构的文
件 ,文件名是这样:表名.frm

比方说我们在 atguigu 数据库下创建一个名为 test 的表:

mysql> USE atguigu;
Database changed
mysql> CREATE TABLE test (->   c1 INT-> );
Query OK, 0 rows affected (0.03 sec)

那在数据库 atguigu 对应的子目录下就会创建一个名为test.frm的用于描述表结构的文件。.frm文件
的格式在不同的平台上都是相同的。这个后缀名为.frm是以 二进制格式 存储的,我们直接打开是乱码
的。

②表中数据和索引
  • 系统表空间(system tablespace)
    默认情况下,InnoDB会在数据目录下创建一个名为ibdata1 、大小为 12M 的文件,这个文件就是对应
    系统表空间 在文件系统上的表示。怎么才12M?注意这个文件是 自扩展文件 ,当不够用的时候它会自
    己增加文件大小。
    当然,如果你想让系统表空间对应文件系统上多个实际文件,或者仅仅觉得原来的 ibdata1 这个文件名
    难听,那可以在MySQL启动时配置对应的文件路径以及它们的大小,比如我们这样修改一下my.cnf 配置
    文件:
[server]
innodb_data_file_path=data1:512M;data2:512M:autoextend
  • 独立表空间(file-per-table tablespace)
    在MySQL5.6.6以及之后的版本中,InnoDB并不会默认的把各个表的数据存储到系统表空间中,而是为 每一个表建立一个独立表空间 ,也就是说我们创建了多少个表,就有多少个独立表空间。使用 独立表空间 来存储表数据的话,会在该表所属数据库对应的子目录下创建一个表示该独立表空间的文件,文件名和表名相同,只不过添加了一个 .ibd 的扩展名而已,所以完整的文件名称长这样:表名.ibd
    比如:我们使用了 独立表空间去存储 atguigu 数据库下的 test 表的话,那么在该表所在数据库对应
    atguigu 目录下会为test 表创建这两个文件:

test.frm
test.ibd
其中 test.ibd文件就用来存储 test 表中的数据和索引。

  • 系统表空间与独立表空间的设置

我们可以自己指定使用 系统表空间 还是 独立表空间 来存储数据,这个功能由启动参数innodb_file_per_table 控制,比如说我们想刻意将表数据都存储到 系统表空间 时,可以在启动
MySQL服务器的时候这样配置:

[server]
innodb_file_per_table=0 # 0:代表使用系统表空间; 1:代表使用独立表空间

默认情况:

mysql> show variables like 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name     | Value |
+-----------------------+-------+
| innodb_file_per_table | ON  |
+-----------------------+-------+
1 row in set (0.01 sec)
  • 其他类型的表空间
    随着MySQL的发展,除了上述两种老牌表空间之外,现在还新提出了一些不同类型的表空间,比如通用表空间(general tablespace)、临时表空间(temporary tablespace)等。

②MyISAM存储引擎模式
  • 表结构
    在存储表结构方面,MyISAMInnoDB 一样,也是在数据目录 下对应的数据库子目录下创建了一个专门用于描述表结构的文件:表名.frm
  • 表中数据和索引
    在MyISAM中的索引全部都是 二级索引 ,该存储引擎的数据和索引是分开存放 的。所以在文件系统中也是使用不同的文件来存储数据文件和索引文件,同时表数据都存放在对应的数据库子目录下。假如test表使用MyISAM存储引擎的话,那么在它所在数据库对应的atguigu目录下会为 test表创建这三个文
    件:

test.frm 存储表结构
test.MYD 存储数据 (MYData)
test.MYI 存储索引 (MYIndex)

举例:创建一个 MyISAM 表,使用ENGINE 选项显式指定引擎。因为InnoDB 是默认引擎。

CREATE TABLE `student_myisam` (`id` bigint NOT NULL AUTO_INCREMENT,`name` varchar(64) DEFAULT NULL,`age` int DEFAULT NULL,`sex` varchar(2) DEFAULT NULL,PRIMARY KEY (`id`)
)ENGINE=MYISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb3;

4、小结

举例: 数据库a表b
1、如果表b采用 InnoDB ,data\a中会产生1个或者2个文件:

  • b.frm :描述表结构文件,字段长度等
  • 如果采用 系统表空间 模式的,数据信息和索引信息都存储在ibdata1
  • 如果采用 独立表空间 存储模式,data\a中还会产生b.ibd 文件(存储数据信息和索引信息)

此外:
① MySQL5.7 中会在data/a的目录下生成 db.opt文件用于保存数据库的相关配置。比如:字符集、比较
规则。而MySQL8.0不再提供db.opt文件。
② MySQL8.0中不再单独提供b.frm,而是合并在b.ibd文件中。

2、如果表b采用 MyISAM,data\a中会产生3个文件:
MySQL5.7 中:b.frm:描述表结构文件,字段长度等。
MySQL8.0 中b.xxx.sdi :描述表结构文件,字段长度等
b.MYD(MYData):数据信息文件,存储数据信息(如果采用独立表存储模式)
b.MYI(MYIndex):存放索引信息文件

相关文章:

mysql高级篇 | 尚硅谷 | 第2章_数据库和文件系统的关系

二、数据库和文件系统的关系 文章目录 二、数据库和文件系统的关系1、查看默认数据库2、 数据库在文件系统中的表示3、表在文件系统中的表示①InnoDB存储引擎模式②表中数据和索引②MyISAM存储引擎模式 4、小结 1、查看默认数据库 查看一下在我的计算机上当前有哪些数据库&…...

React 生命周期

React 生命周期可以分为三个主要阶段:挂载(Mounting)、更新(Updating)和卸载(Unmounting) 挂载(Mounting) 当组件实例被创建并插入到 DOM 中时,会依次调用以…...

OpenCV--图像查找

OpenCV--图像查找 代码和笔记 代码和笔记 import cv2 import numpy as np""" 图像查找--特征匹配的应用,通过特征匹配和单应性矩阵 单应性变换:描述物体在世界坐标系(原图)和像素坐标系(对比图&#x…...

数据保护策略:如何保障重要信息的安全

一、什么是数据安全? 数据安全是保护数字信息免遭盗窃、未经授权的访问和恶意修改的过程。这是一个持续的过程,负责监督信息的收集、存储和传输。 机密性:保护数据免遭未授权方访问。 完整性:保护数据免遭未经授权的修改、损坏…...

AI生成图表化:深入探索Mermaid

引言 在使用生成式AI时,只要你提出让AI帮你生成mermaid图,AI的生成就会出现丰富的图形! 在现代文档编写中,图表的使用不仅能增强文档的可读性,还能更直观地表达复杂的概念和流程。Mermaid 作为一款开源的图表绘制工具…...

模型训练中梯度累积步数(gradient_accumulation_steps)的作用

模型训练中梯度累积步数(gradient_accumulation_steps)的作用 flyfish 在使用训练大模型时,TrainingArguments有一个参数梯度累积步数(gradient_accumulation_steps) from transformers import TrainingArguments梯…...

jenkins安装(jdk1.8已安装)

1. 下载对应jenkins版本 https://mirrors.jenkins.io/war/ 2. 上传至服务器目录并启动 mkdir -p /root/jenkins cd /root/jenkins 上传文件 启动:nohup java -jar jenkins.war --httpPort9090 &> jenkins.log & 访问:http://ip:9090 选…...

爬虫实战:获取1688接口数据全攻略

引言 在电商领域,数据的重要性不言而喻。1688作为中国领先的B2B电商平台,提供了海量的商品数据。通过爬虫技术获取这些数据,可以帮助企业进行市场分析、价格监控和供应链管理。本文将详细介绍如何使用Python爬虫技术合法合规地获取1688接口数…...

基于Mybatis,MybatisPlus实现数据库查询分页功能

基于Mybatis,MybatisPlus实现数据库查询分页功能 目录 基于Mybatis,MybatisPlus实现数据库查询分页功能使用Mybatis插件实现分页数据库准备分页插件配置和使用常用数据: 使用MybatisPlus插件实现分页数据库准备分页插件配置和使用自定义分页查…...

【C++】求第二大的数详细解析

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目描述💯输入描述💯解题思路分析1. 题目核心要求2. 代码实现与解析3. 核心逻辑逐步解析定义并初始化变量遍历并处理输入数据更新最大值与次大值输…...

Ubuntu18安装后基本配置操作

1. 关掉自动更新 不关掉自动更新,会将你的ubuntu系统更新到更高版本,一些配置就不能用了,所以要关掉自动更新。在“软件和更新”中将“自动检查更新”设置为从不。 2. ubuntu换国内源 参考链接换源 按照这个换源这个换源好使 ,…...

【Azure 架构师学习笔记】- Azure Function (1) --环境搭建和背景介绍

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Function 】系列。 前言 随着无服务计算的兴起和大数据环境中的数据集成需求, 需要使用某些轻量级的服务,来实现一些简单操作。因此Azure Function就成了微软云上的一个必不可少的组成部分。 …...

【ubuntu】将Chroma配置为LINUX服务

Chroma是一个轻量级向量数据库。既然是数据库,那么我希望它是能够长时间运行。最直接的方式是配置为service服务。 可惜官方没有去提供配置为服务的办法,而鄙人对docker又不是特别感冒。所以自己研究了下chroma配置为服务的方式。 系统:ubu…...

Linux24.04 安装企业微信

今天工作需要把windows系统换成了linux,但是公司的沟通工具是企业微信。去企业微信官网看了,没有linux版本,只能想办法解决了,不然再换回去就太坑了。 方案 1、使用docker容器,2、使用deepin-wine 本人对docker不太熟…...

路由引入问题(双点双向路由回馈问题)

简介 总所周知,路由引入import又称路由重分发redistribute,为了解决不同路由协议进程间路由信息不互通而使用的技术,由于不同路由协议的算法、机制、开销等因素的差异,它们之间无法直接交换路由信息。因此,路由引入技…...

Redis 实现分布式锁

单实例条件下的分布式锁 -- 加锁操作 -- KEYS[1]: 锁的键(lock_key) -- ARGV[1]: 当前客户端的标识(client_id) -- ARGV[2]: 锁的过期时间(毫秒)if (redis.call(EXISTS, KEYS[1]) 0) then-- 如果锁不存在…...

Redis客户端(Jedis、RedisTemplate、Redisson)

1. 简介 Redis作为一个当下很火热的非关系型数据库,Java从业人员基本都离不开对Redis的使用。在Java程序中该数据库,需要借助于市面上的开源客户端,如Jedis、Spring Data Redis、Redisson,它们可以作为操作Redis非关系型数据库的桥…...

虚幻引擎内各个组件的关系

1. GameMode: 关系: GameMode 是游戏规则的制定者和管理者,GameState 则是游戏状态的记录者和同步者。GameMode 通常负责创建和初始化 GameState。 交互: GameMode 可以直接访问和修改 GameState 的属性,例如更新游戏分数、切换游戏阶段等。GameState 的变化会通过 GameMode …...

Python Flask Web框架快速入门

Flask 入门Demo Flask 开发环境搭建,执行如下指令: pip install flask# 第一节: Flask 快速入门from flask import Flask app Flask(__name__)app.route(/flask) def hello_flask():return Hello Flaskapp.run()核心代码剖析: 从flask包导…...

【java学习笔记】Set接口实现类-LinkedHashSet

一、LinkedHashSet的全面说明 (就是把数组不同位置的链表当成一个节点然后相连)...

阿里云ACP云计算模拟试题(附答案解析)

1、将基础设施作为服务的云计算服务类型是_____服务。 A.laas B.Paas C.SaaS D.Daas 答案:A 解析:基础设施即服务有时缩写为 IaaS,包含云 IT 的基本构建块,通常提供对联网功能、计算机(虚拟或专用硬件&#x…...

java 缓存篇2

缓存的部署方式 单机主从哨兵集群 特性主从(Master-Slave)哨兵(Sentinel)集群(Cluster)数据分片不支持不支持支持,基于 slot 进行水平分片高可用性部分支持(手动故障转移&#xff…...

12.11-12.12总结(约瑟夫问题 机器翻译 滑动窗口)

12.11 刷题 《算法竞赛》这本书看了很多了,但是题目没咋做,所以今天来刷一下题 P1996约瑟夫问题 还依稀记得大一的时候被约瑟夫支配的恐惧(哭),但是现在做就感觉很简单(虽然也敲了一会,今早感…...

Elasticsearch+Kibana+IK分词器+拼音分词器安装

目录 ES报错 Kibanaik分词器拼音分词器 安装都比较简单,可以参考这几篇博客 ES 如何在 Linux,MacOS 及 Windows 上进行安装 Elasticsearch 报错 ES启动报错error downloading geoip database [GeoLite2-ASN.mmdb] Kibana KIBANA的安装教程&#xff…...

2020 年“泰迪杯”数据分析职业技能大赛A 题教育平台的线上课程智能推荐策略

2020 年“泰迪杯”数据分析职业技能大赛A 题教育平台的线上课程智能推荐策略 完整代码请私聊 博主 一、 背景 近年来,随着互联网与通信技术的高速发展,学习资源的建设与共享呈现出新的发展趋势,各种网课、慕课、直播课等层出不穷&#xff0c…...

运维面试题

1 deployment和statefulset区别 Kubernetes (k8s) 中的 Deployment 和 StatefulSet 是两种不同类型的控制器,用于管理应用的生命周期,但它们适用于不同的应用场景。以下是它们在存储、调度顺序和网络分配方面的区别: 存储 Deployment: 适用…...

计算机网络之网络层超详细讲解

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 计算机网络之网络层超详细讲解 收录于专栏【计算机网络】 本专栏旨在分享学习计算机网络的一点学习笔记,欢迎大家在评论区交流讨论💌 …...

Windows桌面系统管理2:VMware Workstation使用和管理

Windows桌面系统管理0:总目录-CSDN博客 Windows桌面系统管理1:计算机硬件组成及组装-CSDN博客 Windows桌面系统管理2:VMware Workstation使用和管理 Windows桌面系统管理3:Windows 10操作系统部署与使用-CSDN博客 Windows桌面系统管理4:Windows 10操作系统运维管理-…...

深入理解 CSS 文本换行: overflow-wrap 和 word-break

前言 正常情况下,在固定宽度的盒子中的中文会自动换行。但是,当遇到非常长的英文单词或者很长的 URL 时,文本可能就不会自动换行,而会溢出所在容器。幸运的是,CSS 为我们提供了一些和文本换行相关的属性;今…...

【Linux】Ubuntu:安装系统后配置

hostname:更改主机名 打开终端。 使用hostnamectl命令更改主机名。 sudo hostnamectl set-hostname 新的主机名你可以使用hostnamectl 命令来验证更改是否成功: hostnamectlChrome:更换默认浏览器 以下是从 Ubuntu 中移除预装的 Snap 版 Fi…...

我们来学mysql -- MSI安装(安装篇)

主题 书接上文,在《探讨win安装方式》中官方推荐MSI要是把大厂的标准奉为圭臬,说啥认啥,他一翻脸,小丑不就是咱了再说了,都干到家门口了8.4版本官方文档,还不给他梭罗下 MSI 点击**.msi弹出MySQL Install…...

MySQL其一,概念学习,可视化软件安装以及增删改查语句

目录 MySQL 1、数据库的概念 2、数据库分类 3、MySQL的安装 4、安装过程中的问题 DataGrip的使用: SQLynx的使用: 5、编写SQL语句 6、DDL语句 7、DML 新增数据: 删除数据: 修改数据: MySQL SQL其实是一门…...

SpringCloud 题库

这篇文章是关于 SpringCloud 面试题的汇总,包括微服务的概念、SpringCloud 的组成及相关技术,如服务注册与发现、负载均衡、容错等,还涉及 Nacos 配置中心、服务注册表结构等原理,以及微服务架构中的日志采集、服务网关、相关概念…...

【ETCD】[源码阅读]深度解析 EtcdServer 的 processInternalRaftRequestOnce 方法

在分布式系统中,etcd 的一致性与高效性得益于其强大的 Raft 协议模块。而 processInternalRaftRequestOnce 是 etcd 服务器处理内部 Raft 请求的核心方法之一。本文将从源码角度解析这个方法的逻辑流程,帮助读者更好地理解 etcd 的内部实现。 方法源码 …...

数据分析与机器学习全解析

一、数据分析基础要点 (一)数据收集 确定数据源:明确是内部数据库、外部公开数据、传感器采集还是用户调研等来源,不同来源数据质量与获取难度各异。例如内部销售数据可直接获取,而市场调研数据需设计问卷并投入人力收…...

Qt 一个简单的QChart 绘图

Qt 一个简单的QChart 绘图 先上程序运行结果图&#xff1a; “sample9_1QChart.h” 文件代码如下&#xff1a; #pragma once#include <QtWidgets/QMainWindow> #include "ui_sample9_1QChart.h"#include <QtCharts> //必须这么设置 QT_CHARTS_USE_NAME…...

力扣——322. 零钱兑换

给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额&#xff0c;返回 -1 。 你可以认为每种硬币的数量是无限的。 示…...

Qt之网络监测

在Qt中&#xff0c;网络监测通常涉及到检测网络连接状态、网络延迟、带宽使用情况等。Qt提供了一些类和模块来帮助开发者实现这些功能。以下是一些常用的方法和类&#xff1a; 1. 检测网络连接状态 QtNetwork模块中的QNetworkConfigurationManager类可以用来检测设备的网络连…...

抓包软件fiddler和wireshark使用手册

fiddler官方文档 Fiddler 抓包教程1 Fiddler 抓包教程2 wireshark抓包学习 2添加链接描述 ip 过滤 ip.src_host ip.dst_host ip.addr mac 过滤 eth.src eth.dst eth.addr 端口过滤 tcp.port tcp.srcport tcp.dstport 协议类型过滤 arp dhcp 规则组合 and or...

【从零开始入门unity游戏开发之——C#篇03】变量和常量

文章目录 一、变量1、什么是变量&#xff1f;2、申明变量的固定写法3、变量的类型值和引用类型的区别无符号和有符号位——表示变量所占用的内存空间的大小范围——表示变量的取值范围取值范围和存储单位的关系为什么byte的范围是 0 到 255&#xff1f;为什么 sbyte 的范围是 -…...

SpringBoot 手动实现动态切换数据源 DynamicSource (上)

大家好&#xff0c;我是此林。 在实际开发中&#xff0c;经常可能遇到在一个SpringBoot Web应用中需要访问多个数据源的情况。 下面来介绍一下多数据源的使用场景、底层原理和手动实现。 一、 多数据源经典使用场景 场景一&#xff1a;业务复杂&#xff0c;数据量过大 1. 业务…...

ERROR Error: command failed: yarnError: command failed: yarn

1、异常信息 2、解决 解决方法一&#xff1a; WinR进入命令行&#xff0c;重新安装npm(如果报镜像源问题建议镜像源也重新配置) 输入命令&#xff0c;重新安装npm/yarn #npm npm install#npm 配置镜像源 npm config set registry https://registry.npmmirror.com#npm 查看镜…...

【java】finalize方法

目录 1. 说明2. 调用过程3. 注意事项 1. 说明 1.finalize方法是Java中Object类的一个方法。2.finalize方法用于在对象被垃圾回收之前执行一些清理工作。3.当JVM&#xff08;Java虚拟机&#xff09;确定一个对象不再被引用、即将被回收时&#xff0c;会调用该对象的finalize方法…...

C++ 内存管理和模板与STL

此篇目是之后各种C库的基础 目录 内存管理 内存分布 内存管理方式 new和delete operator new 与 operator delete函数 实现原理 定位new表达式(placement-new) 模板基础 泛型编程 模板 函数模板 类模板 STL 组成部分 内存管理 内存分布 int globalVar 1; //全局变量 静…...

同一个局域网下的两台电脑实现定时或者实时拷贝数据

【亲测能用】 需求&#xff1a;从数据库服务器上将数据库备份文件*.bak&#xff0c;每天定时拷贝到局域网下另一台电脑上&#xff0c;实现异机备份。 本文中192.168.1.110是本机&#xff0c;192.168.1.130是异机&#xff08;备份机&#xff09;。需求是每天定时从192.168.1.1…...

Python毕业设计选题:基于django+vue的汽车租赁管理网站

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 用户管理 汽车品牌管理 汽车信息管理 汽车租赁管理 汽车商品信息管理 汽车租赁 购物…...

scrapy对接rabbitmq的时候使用post请求

之前做分布式爬虫的时候,都是从push url来拿到爬虫消费的链接,这里提出一个问题,假如这个请求是post请求的呢,我观察了scrapy-redis的源码,其中spider.py的代码是这样写的 1.scrapy-redis源码分析 def make_request_from_data(self, data):"""Returns a Reques…...

Netty 性能优化与调试指南

Netty 是一款高性能的网络通信框架&#xff0c;其高性能得益于良好的设计和优化。但是在实际使用中&#xff0c;如果配置或实现不当&#xff0c;可能会导致性能下降或调试困难。本文将从性能优化和调试两方面入手&#xff0c;详细讲解如何在使用 Netty 时提高应用性能和诊断问题…...

网络安全产品之认识WEB应用防火墙

随着B/S架构的广泛应用&#xff0c;Web应用的功能越来越丰富&#xff0c;蕴含着越来越有价值的信息&#xff0c;应用程序漏洞被恶意利用的可能性越来越大&#xff0c;因此成为了黑客主要的攻击目标。传统防火墙无法解析HTTP应用层的细节&#xff0c;对规则的过滤过于死板&#…...

R学习——因子

目录 1 定义因子&#xff08;factor函数&#xff09; 2因子的作用 一个数据集中的 只需要考虑可以用哪个数据来进行分类就可以了&#xff0c;可以用来分类就可以作为因子。 Cy1这个因子对应的水平level是4 6 8&#xff1a; 1 定义因子&#xff08;factor函数&#xff09; 要…...