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

【Mysql】我在广州学Mysql 系列—— 有关日志管理的示例

ℹ️大家好,我是练小杰,今天星期四了,明天周五,美好的周末又要到了!!😆


本文是对MySQL日志管理内容进行练习,后续将添加更多相关知识噢,谢谢各位的支持🙏

复习: 【Mysql 日志管理详解】
数据库专栏:👉【数据库专栏】【Mysql练习题】

主页:👉【练小杰的CSDN】

“我是一只猫,快乐的星猫~~”

在这里插入图片描述

日志例题

    • 主页:👉【[练小杰的CSDN](https://blog.csdn.net/weixin_55767624?spm=1011.2415.3001.5343)】
    • "我是一只猫,快乐的星猫~~"
  • 前言
  • 查询日志的相关信息
    • 详细说明
  • 查看二进制日志文件个数及文件名
    • 输出结果说明
  • mysqlbinlog 命令查看日志
  • 删除创建时间比某个文件早的日志
  • 删除某个时间点之前的日志
  • 恢复 mysql日志
  • 记事本查看日志
    • 查看MySQL错误日志
    • 查看MySQL通用查询日志
  • 删除MySQL通用查询日志
  • 查看慢日志

在这里插入图片描述

前言

在练习本博客的示例之前,先看看👉【Mysql 日志管理详解】的博客内容噢!!
俗话说,“温故而知新,可以为师矣!!”

查询日志的相关信息

  • 使用SHOW VARIABLES语句查询日志设置,显示所有以 “log_” 开头的系统变量及其当前值。执行命令如下:
 SHOW VARIABLES LIKE 'log_%' ;
  • 以下结果是基于 MySQL 8.x 版本,实际结果可能会因 MySQL 版本、安装方式以及配置文件的不同而有所变化。
+-------------------------------+------------------------------+
| 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_error                     | /var/log/mysql/error.log     |
| log_output                    | FILE                         |
| log_queries_not_using_indexes | OFF                          |
| log_slow_admin_statements     | OFF                          |
| log_slow_slave_statements     | OFF                          |
| log_statements_unsafe_for_binlog | ON                        |
| log_throttle_queries_not_using_indexes | 0                      |
| log_timestamps                | UTC                          |
| log_warnings                  | 2                            |
| log_slow_queries              | OFF                          |
| log_slave_updates             | ON                           |
| log_syslog_tag                |                              |
+-------------------------------+------------------------------+

详细说明

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_error:

  • 值: /var/log/mysql/error.log
  • 说明: 错误日志文件的路径。

log_output:

  • 值: FILE
  • 说明: 日志输出的目标。FILE 表示日志输出到文件,TABLE 表示输出到数据库表,NONE 表示不输出。

log_queries_not_using_indexes:

  • 值: OFF
  • 说明: 是否记录未使用索引的查询。启用后可以用于性能优化。

log_slow_admin_statements:

  • 值: OFF
  • 说明: 是否记录由管理员执行的慢查询。

log_slow_slave_statements:

  • 值: OFF
  • 说明: 是否记录从服务器上的慢查询。

log_statements_unsafe_for_binlog:

  • 值: ON
  • 说明: 是否记录被认为对二进制日志不安全的语句。

log_throttle_queries_not_using_indexes:

  • 值: 0
  • 说明: 每分钟记录未使用索引的查询次数限制。0 表示无限制。

log_timestamps:

  • 值: UTC
  • 说明: 日志时间戳的格式。UTC 表示使用协调世界时。

log_warnings:

  • 值: 2
  • 说明是否记录警告信息。这里的 2 表示记录所有警告。

log_slow_queries:

  • 值: OFF
  • 说明: 是否启用慢查询日志。OFF 表示未启用。

log_slave_updates:

  • 值: ON
  • 说明: 是否记录从服务器上的更新操作。启用后可以用于主从复制。

log_syslog_tag:

  • 值: ()
  • 说明: 当日志输出到 syslog 时,用于标记日志消息的标签。

查看二进制日志文件个数及文件名

  • 使用SHOW BINARY LOGS将查看二进制日志文件个数及文件名,执行命令及结果如下:
 SHOW BINARY LOGS;+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000001 |    107374 |
| mysql-bin.000002 |    209715 |
| mysql-bin.000003 |    524288 |
| mysql-bin.000004 |    1048576|
| mysql-bin.000005 |    2097152|
| mysql-bin.000006 |    3145728|
+------------------+-----------+

输出结果说明

  • Log_name: 二进制日志文件的名称
  • File_size: 二进制日志文件的大小,以字节为单位。

mysqlbinlog 命令查看日志

  • 使用mysqlbinlog查看二进制日志,执行命令及结果如下:
C:\> mysqlbinlog D:/MySQL/log/binlog.000001
  • 输出示例:
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;# at 4
#220101 10:00:00 server id 1  end_log_pos 123 CRC32 0x5d7f1a2b  Start: binlog v 4, server v 8.0.23 created 220101 10:00:00
# Warning: this binlog is either in use or was not closed properly.
BINLOG '
dZ7f1A2BAAAAAAAAAAAQAMAAAAAAAQAMAAAAAAAAAAAAAADwAAANoYW5rZXRfaWQAAw==
'/*!*/;
# at 123
#220101 10:00:05 server id 1  end_log_pos 256 CRC32 0x1a2b3c4d  Query   thread_id=10    exec_time=0    error_code=0
SET TIMESTAMP=1640990405/*!*/;
SET @@session.time_zone='SYSTEM'/*!*/;
BEGIN
/*!*/;
# at 256
#220101 10:00:05 server id 1  end_log_pos 389 CRC32 0x4d5e6f70  Table_map: `test_db`.`users` mapped to number 108
# at 389
#220101 10:00:05 server id 1  end_log_pos 512 CRC32 0x708192a3  Write_rows: table id 108 flags: STMT_END_FBINLOG '
BZwX2g8BAAAAMwAAAKsBAAAAAGF1a2VfdG9fY29tcGxldGVfc3RyaW5nAAADAAAABHRlc3RfZGIA
dXNlcnMAAwMAAQAAAB1c2VyX2lkAAQAAAB1c2VyX25hbWUEAAQAAAB1c2VyX3VzZXIAAQAA
'/*!*/;
### INSERT INTO `test_db`.`users`
### SET
###   user_id=1
###   user_name='Alice'
###   user_user='alice'
# at 512
#220101 10:00:05 server id 1  end_log_pos 584 CRC32 0x8192a3b4  Xid = 12345
COMMIT/*!*/;
# at 584
#220101 10:00:10 server id 1  end_log_pos 700 CRC32 0x5a6b7c8d  Query   thread_id=10    exec_time=0    error_code=0
SET TIMESTAMP=1640990410/*!*/;
SET @@session.time_zone='SYSTEM'/*!*/;
BEGIN
/*!*/;
# at 700
#220101 10:00:10 server id 1  end_log_pos 833 CRC32 0x6b7c8d9e  Table_map: `test_db`.`users` mapped to number 108
# at 833
#220101 10:00:10 server id 1  end_log_pos 956 CRC32 0x7c8d9e0f  Write_rows: table id 108 flags: STMT_END_FBINLOG '
BZwX2g8BAAAAMwAAALcBAAAAAGF1a2VfdG9fY29tcGxldGVfc3RyaW5nAAADAAAABHRlc3RfZGIA
dXNlcnMAAwMAAQAAAB1c2VyX2lkAAQAAAB1c2VyX25hbWUEAAQAAAB1c2VyX3VzZXIAAQAA
'/*!*/;
### INSERT INTO `test_db`.`users`
### SET
###   user_id=2
###   user_name='Bob'
###   user_user='bob'
# at 956
#220101 10:00:10 server id 1  end_log_pos 1028 CRC32 0x8d9e0f1a  Xid = 12346
COMMIT/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

删除创建时间比某个文件早的日志

我们使用命令PURGE MASTER LOGS删除创建时间比binlog.000003早的所有日志文件。 首先,为了演示语句操作过程,准备多个日志文件,我们可以对MySQL服务进行多次重新启动。

  • 假设这里有10个日志文件,输出结果与上面类似,这里不再重复
 SHOW binary logs;+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| binlog.000001    |    107374 |
| binlog.000002    |    209715 |
| binlog.000003    |    524288 |
| binlog.000004    |    1048576|
| binlog.000005    |    2097152|
| binlog.000006    |    3145728|
| binlog.000007    |    4194304|
| binlog.000008    |    5242880|
| binlog.000009    |    6291456|
| binlog.000010    |    7340032|
+------------------+-----------+
  • 执行删除命令如下:
 PURGE MASTER LOGS TO "binlog.000003";
Query OK, 0 rows affected (0.07 sec)
  • 执行完成后,再使用SHOW binary logs语句查看二进制日志
 SHOW binary logs;+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| binlog.000003    |    524288 |
| binlog.000004    |    1048576|
| binlog.000005    |    2097152|
| binlog.000006    |    3145728|
| binlog.000007    |    4194304|
| binlog.000008    |    5242880|
| binlog.000009    |    6291456|
| binlog.000010    |    7340032|
+------------------+-----------+

删除某个时间点之前的日志

  • 使用PURGE MASTER LOGS删除2025年2月20日前创建的所有日志文件,执行命令及结果如下:
 PURGE MASTER LOGS BEFORE '20250220';
Query OK, 0 rows affected (0.05 sec)

语句执行之后,2025年2月20日之前创建的日志文件都将被删除,但2025年2月20日的日志会被保留(我们还可以根据自己系统中创建日志的时间修改命令参数)。

  • 再使用mysqlbinlog 查看指定日志的创建时间,如前面例子所示,查询命令如下:
C:\> mysqlbinlog D:\MySQL\log\mysql-bin.000001

恢复 mysql日志

  • 使用mysqlbinlog 恢复MySQL数据库到2025年2月20日 15:27:48时的状态,执行命令及结果如下:
mysqlbinlog --stop-date="2025-02-20 15:27:48" D:\MySQL\log\binlog\binlog.000008 | mysql –uuser –ppass

250220

记事本查看日志

查看MySQL错误日志

使用记事本查看MySQL错误日志,首先,通过SHOW VARIABLES语句查询错误日志的存储路径和文件名。

 SHOW VARIABLES LIKE 'log_error';

可以看到错误的文件是Kevin.err,位于MySQL默认的数据目录下,使用记事本打开该文件,可以看到MySQL的错误日志:

250220 16:45:14 [Note] Plugin 'FEDERATED' is disabled.
250220 16:45:14 InnoDB: The InnoDB memory heap is disabled
250220 16:45:14 InnoDB: Mutexes and rw_locks use Windows interlocked functions
250220 16:45:14 InnoDB: Compressed tables use zlib 1.2.3
250220 16:45:15 InnoDB: Initializing buffer pool, size = 46.0M
250220 16:45:15 InnoDB: Completed initialization of buffer pool
250220 16:45:15 InnoDB: highest supported file format is Barracuda.
250220 16:45:15 InnoDB: Waiting for the background threads to start
250220 16:45:16 InnoDB: 1.1.7 started; log sequence number 1679264
250220 16:45:16 [Note] Event Scheduler: Loaded 0 events
250220 16:45:16 [Note] C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld: ready for connections.
Version: '5.6.10-log'  socket: ''  port: 3306  MySQL Community Server (GPL)

这里只是错误日志文件的一部分,其中记载了系统的一些错误。

查看MySQL通用查询日志

我们使用记事本打开D:\mysql-5.6.10-win32\data\目录下的my-PC.log,可以看到如下内容:

C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld, Version: 5.6.10-log (MySQL Community Server 
(GPL)). started with:
TCP Port: 3306, Named Pipe: (null)
Time                 Id Command    Argument
250220 17:24:32        1 Connect      root@localhost on 1 Query        select @@version_comment limit 1
250220 17:24:36        1 Query        SELECT DATABASE()1 Init DB        test
250220 17:24:53        1 Query         SELECT * FROM fruits
250220 17:24:55       1 Quit 

删除MySQL通用查询日志

  • 直接删除MySQL通用查询日志,执行步骤如下:
  1. 查看my.ini(或者my.cnf)查看通用查询日志的文件目录,在my.ini中通用查询日志配置如下。
[mysqld]
log

可以看到,配置文件中没有指定日志文件名和存储目录,通用查询日志文件存储在MySQL默认数据目录中。

  1. 在数据目录中找到日志文件所在目录C:\Documents and Settings\All Users.WINDOWS\ Application Data\MySQL\MySQL Server 5.6\data\,删除该后缀为.err的文件。

  2. 通过mysqladmin –flush logs命令建立新的日志文件,执行命令如下。

    C:\> mysqladmin –u root –p flush-logs
    

执行完命令可看到,C:\Documents and Settings\All Users.WINDOWS\Application Data\MySQL\MySQL Server 5.6\data\目录中已经建立了新的日志文件Kevin.log

查看慢日志

查看慢查询日志,我们可以使用文本编辑器打开数据目录下的Kevin-slow.log文件,文件部分如下:

C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld, Version: 5.6.10-log (MySQL Community Server 
(GPL)). started with:
TCP Port: 3306, Named Pipe: (null)
Time Id Command Argument
# Time: 250220 17:50:35
# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 136.500000  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
SET timestamp=1314697835;
SELECT BENCHMARK(100000000, PASSWORD('newpwd'));

本文有关Mysql数据库的日志相关示例已讲完了,明天再见啦👋
主页:【练小杰的CSDN】😆
ℹ️欢迎各位在评论区踊跃讨论,积极提出问题,解决困惑!!!
⚠️若博客里的内容有问题,欢迎指正,我会及时修改!!

相关文章:

【Mysql】我在广州学Mysql 系列—— 有关日志管理的示例

ℹ️大家好,我是练小杰,今天星期四了,明天周五,美好的周末又要到了!!😆 本文是对MySQL日志管理内容进行练习,后续将添加更多相关知识噢,谢谢各位的支持🙏 复习…...

dify如何升级到0.15.3(目前最新版本)

Docker Compose 部署 警告 docker-legacy 目录中的文件将很快停止维护,并将从存储库中删除。如果您仍在使用它们,请尽快切换到新版本。 备份自定义的 docker-compose YAML 文件(可选) cd docker cp docker-compose.yaml docker-c…...

UNIAPP开发之利用阿里RTC服务实现音视频通话后端THINKPHP5

下面是一个使用ThinkPHP 5实现后端逻辑的示例。我们将创建一个简单的ThinkPHP 5项目来处理生成推流和播流地址的请求。 后端部分(ThinkPHP 5) 1. 初始化ThinkPHP 5项目 首先,确保你已经安装了Composer。然后使用Composer创建一个新的Think…...

使用JWT实现微服务鉴权

目录 一、微服务鉴权 1、思路分析 2、系统微服务签发token 3、网关过滤器验证token 4、测试鉴权功能 前言: 随着微服务架构的广泛应用,服务间的鉴权与安全通信成为系统设计的核心挑战之一。传统的集中式会话管理在分布式场景下面临性能瓶颈和扩展性…...

基于WOA鲸鱼优化的WSN网络最优节点部署算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 鲸鱼优化算法(WOA)是一种模拟座头鲸捕食行为的元启发式优化算法。其主要原理基于座头鲸独特的 “气泡网” 捕食策略,通过数学模…...

TikTok账户安全指南:如何取消两步验证?

TikTok账户安全指南:如何取消两步验证? 在这个数字化的时代,保护我们的在线账户安全变得尤为重要。TikTok,作为全球流行的社交媒体平台,其账户安全更是不容忽视。两步验证作为一种增强账户安全性的措施,虽…...

将 Type Code 替换为 State/Strategy 模式

Replace Type Code with State/Strategy 要将 Type Code 替换为 State/Strategy 模式,你的目的是通过将行为分离到独立的类中来消除使用类型代码(如整数、字符串或枚举类型)来决定行为的需要。这种做法能够让系统变得更加灵活和易于维护。 …...

c#爬取数据并解析json

安装 Newtonsoft.Json Install-Package Newtonsoft.Json代码 HttpClient client new HttpClient();// 获取网页内容HttpResponseMessage response client.GetAsync("https://opentdb.com/api.php?amount10&category18&difficultyeasy&typemultiple"…...

Spring Boot 内置工具类

ObjectUtils // 获取对象的类名。参数为 null 时,返回字符串:"null" String nullSafeClassName(Object obj) // 参数为 null 时,返回 0 int nullSafeHashCode(Object object) // 参数为 null 时,返回字符串&#xff1…...

蓝桥杯15 填空题

1.握手问题: 思路:首先当所有人都握过手,由于一次握手相当于两个人都握手过,所以容易发现这是一个组合问题,为(50*49)/2,而其中有7个人没有相互握过手,那么减去&#xff…...

分布式光纤声波振动技术在钻井泄漏检测中的应用

在石油天然气的钻井作业中,及时发现并定位泄漏点对于保障开采安全、降低环境污染以及避免经济损失至关重要。传统的泄漏检测方法往往存在局限性,而分布式光纤声波振动技术凭借其独特的优势,正逐渐成为钻井过程中寻找泄漏的有力工具。 技术原理…...

0081.基于springboot+uni-app的垃圾分类小程序+论文

一、系统说明 基于springbootuni-app的垃圾分类小程序,系统功能齐全, 代码简洁易懂,适合小白学编程。 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本…...

基于STM32+ESP8266+手机 APP+阿里云的智能小车设计与实现(系统资料)

基于STM32+ESP8266+手机APP+阿里云的智能小车设计与实现 摘要:本研究旨在设计一款高度智能化的智能小车系统,通过集成 STM32 微控制器、ESP8266 无线模块、手机 APP 以及阿里云平台,实现环境数据实时采集、远程精准控制和高效的数据交互。详细阐述系统各部分的设计原理、实…...

分布式 IO 模块:水力发电设备高效控制的关键

在能源领域不断追求高效与可持续发展的今天,水力发电作为一种清洁、可再生的能源形式,备受关注。而要实现水力发电设备的高效运行,精准的控制技术至关重要。分布式 IO 模块,正悄然成为水力发电设备高效控制的核心力量。 传统挑战 …...

Spring Boot +SQL项目优化策略,GraphQL和SQL 区别,Spring JDBC 等原理辨析(万字长文+代码)

WebFlux 定义:Spring 5引入的响应式Web框架,基于Reactor库实现非阻塞、异步编程模型。通常用途:构建实时通信、流数据处理等高并发场景。使用异步事件驱动模型,单线程可处理数千并发连接。用途:处理高并发网络请求&am…...

QSNCTF-WEB做题记录

第一题&#xff0c;文章管理系统 来自 <天狩CTF竞赛平台> 描述&#xff1a;这是我们的文章管理系统&#xff0c;快来看看有什么漏洞可以拿到FLAG吧&#xff1f;注意&#xff1a;可能有个假FLAG哦 1&#xff0c;首先观察题目网站的结构和特征 这个一个文件管理系统&#x…...

使用Dify将AI机器人嵌入到你的前端页面中及chrome的扩展应用

目录 1 博主有话说2 前提环境3 Dify创建个聊天助手应用4 将AI聊天机器人嵌入到html中5 将AI聊天机器人设置为chrome的扩展应用6 博主增语 1 博主有话说 那博主话不多说&#xff0c;先展示一下成果&#xff01; 这个界面是使用dify配置的一个“聊天助手”的应用&#xff0c;助…...

接口测试-API测试中常用的协议(下)

一、RPC RPC&#xff08;Remote Procedure Call&#xff09;即远程过程调用协议&#xff0c;它允许程序调用位于其他计算机上的程序中的过程或函数&#xff0c;就像调用本地程序中的过程一样。下面从其概念、工作原理、特点、应用场景等方面详细介绍&#xff1a; 概念起源与核…...

【git】提交修改、回撤、回滚、Tag 操作讲解,与reset (--soft、--mixed、--hard) 的区别

Git 提交修改、回撤、回滚、Tag 操作详解 1. git commit --amend -m "message" 作用&#xff1a;修改最近一次提交的信息或内容。 适用场景&#xff1a; 提交后发现 commit message 写错了。提交后发现 少 add 了文件&#xff0c;想直接加进上一次提交。 示例 1&…...

【设计模式】【创建型模式】抽象工厂模式(Abstract Factory)

&#x1f44b;hi&#xff0c;我不是一名外包公司的员工&#xff0c;也不会偷吃茶水间的零食&#xff0c;我的梦想是能写高端CRUD &#x1f525; 2025本人正在沉淀中… 博客更新速度 &#x1f44d; 欢迎点赞、收藏、关注&#xff0c;跟上我的更新节奏 &#x1f3b5; 当你的天空突…...

Embedding模型介绍部署部署

概述 是一种将高维数据&#xff08;如‌文本、图像、音频&#xff09;映射到低维空间的技术&#xff0c;其中每个数据点由实数构成的向量表示&#xff0c;这些向量在向量空间中的位置反映了数据的语义特征。这种技术广泛应用于‌自然语言处理和‌机器学习中&#xff0c;使得计…...

web网络安全:跨站脚本攻击(XSS)

跨站脚本攻击&#xff08;XSS&#xff09;概述 跨站脚本攻击&#xff08;XSS&#xff0c;Cross-Site Scripting&#xff09; 是一种常见的 Web 安全漏洞&#xff0c;攻击者通过向受信任的网站注入恶意脚本&#xff08;通常是 JavaScript&#xff09;&#xff0c;诱使其他用户在…...

【C++】 Flow of Control

《C程序设计基础教程》——刘厚泉&#xff0c;李政伟&#xff0c;二零一三年九月版&#xff0c;学习笔记 文章目录 1、选择结构1.1、if 语句1.2、嵌套的 if 语句1.3、条件运算符 ?:1.4、switch 语句 2、循环结构2.1、while 语句2.2、do-while 语句2.3、 for 循环2.4、循环嵌套…...

Kafka中commitAsync的使用与实例解析

在使用Apache Kafka进行消息处理时&#xff0c;正确管理偏移量&#xff08;offset&#xff09;是确保数据一致性和可靠性的重要环节。Kafka提供了多种方式来提交偏移量&#xff0c;其中commitAsync()方法是一种高效且灵活的选择。本文将通过一个完整的实例&#xff0c;详细介绍…...

上海餐饮冷藏配送全方案 一站式服务助企提速发展

在上海这座国际化大都市中&#xff0c;餐饮行业以其繁荣与多元著称。消费者对食品安全和品质要求的日益提高&#xff0c;餐饮冷链运输成为了保障餐饮供应链稳定、高效的关键环节。近日&#xff0c;华鼎冷链科技凭借其创新的一站式服务方案&#xff0c;在上海餐饮冷链领域脱颖而…...

基于微信小程序的电影院订票选座系统的设计与实现,SSM+Vue+毕业论文+开题报告+任务书+指导搭建视频

本系统包含用户、管理员两个角色。 用户角色&#xff1a;注册登录、查看首页电影信息推荐、查看电影详情并进行收藏预定、查看电影资讯、在线客服、管理个人订单等。 管理员角色&#xff1a;登录后台、管理电影类型、管理放映厅信息、管理电影信息、管理用户信息、管理订单等。…...

Java 面试笔记 - Java基础

1 、JDK、JRE 和 JVM 是 Java 开发与运行环境中的三个核心组件&#xff0c;它们之间的关系和区别如下&#xff1a; 1. JDK (Java Development Kit) 定义&#xff1a;JDK 是 Java 开发工具包&#xff0c;包含了开发 Java 应用程序所需的所有工具和库。包含内容&#xff1a; 编…...

基于MFC实现的键盘电子乐器演奏程序

基于MFC实现的键盘电子乐器演奏程序设计 1.项目简介 需要连接西电微机原理实验室提供的 QTH9054 微机试验箱&#xff0c;使用其蜂鸣器发声&#xff0c;若不连接&#xff0c;程序会直接播放 mp3 文件模拟钢琴声。 请在 release 处下载编译好的 exe 文件运行&#xff0c;如需计…...

支持批量导出的软件,效率拉满!

今天给大家分享一款超实用的软件&#xff0c;它能帮你批量导出PPT里的图片&#xff0c;简直是提升工作效率的神器&#xff01; PPT转jpg PPT逐页导出为图片 这款软件超级简单易用&#xff0c;打开就能直接上手&#xff0c;不需要复杂的设置。 这个软件有三种功能&#xff0c; …...

AI前端开发:职业晋升的加速器

在数字经济时代&#xff0c;前端开发领域正在经历一场由人工智能 (AI) 技术驱动的深刻变革。掌握AI技能&#xff0c;已不再是锦上添花&#xff0c;而是成为前端工程师职业晋升的关键竞争力。本文将探讨AI写代码工具等AI技术如何重塑前端开发职业路径&#xff0c;以及如何通过学…...

在mfc中使用自定义三维向量类和计算多个三维向量的平均值

先添加一个普通类, Vector3.h, // Vector3.h: interface for the Vector3 class. // //#if !defined(AFX_VECTOR3_H__53D34D26_95FF_4377_BD54_57F4271918A4__INCLUDED_) #define AFX_VECTOR3_H__53D34D26_95FF_4377_BD54_57F4271918A4__INCLUDED_#if _MSC_VER > 1000 #p…...

RK3588配置成为路由器

文章目录 前言一、配置netplan二、安装hostapd1.创建hostapd.conf文件2.安装软件3.修改启动文件4.修改/etc/default/hostapd 文件 三、安装dnsmasq服务四、配置NET及重启验证五、常见问题总结 前言 RK3588开发板有两个网口&#xff0c;一个无线网卡。我需要配置为家用路由器模…...

力扣-回溯-40 组合总和Ⅱ

思路 需要实现树枝层面的去重&#xff0c;利用use数组来判别&#xff0c;如果前一个节点已经使用了&#xff0c;说明这是在往深处遍历了&#xff0c;允许重复&#xff0c;如果前一个节点没有使用且值相同的话&#xff0c;说明是在树枝上重复了 代码 class Solution { public…...

深入理解 Rust 中的 `Box<T>`:堆上的数据与递归类型

1. Box<T> 的基础知识 1.1 堆与栈的分工 在默认情况下&#xff0c;Rust 会将变量存储在栈上。然而&#xff0c;栈的空间有限&#xff0c;且对于大小未知或极大的数据来说&#xff0c;栈并不适用。使用 Box<T>&#xff0c;我们可以将数据存放在堆上&#xff0c;而…...

js原型和原型链,到底咋回事?

js原型和原型链&#xff0c;到底咋回事&#xff1f; js原型的原理 在 JavaScript 里&#xff0c;每个对象都有一个“隐藏的小伙伴”&#xff0c;这个“小伙伴”就是原型。可以把原型想象成一个模板或者一个仓库&#xff0c;对象能从它这个“小伙伴”那里借用一些属性和方法。…...

深入理解IP地址与端口:网络通信的基石

深入理解IP地址与端口&#xff1a;网络通信的基石 文章大纲 网络通信基础概念 1.1 什么是网络通信1.2 OSI模型与TCP/IP模型1.3 数据包传输原理 IP地址深度解析 2.1 IP地址定义与作用2.2 IPv4与IPv6对比2.3 子网划分与CIDR表示法2.4 公网IP与私网IP2.5 特殊IP地址详解 端口机…...

ubuntu系统本地部署deepseek

1、安装ollama 用Ollama部署deepseek模型&#xff0c;官网地址&#xff1a;https://ollama.com/download 根据官网给出的命令直接安装&#xff08;安装linux版本&#xff09; curl -fsSL https://ollama.com/install.sh | sh2、安装deepseek-r1模型 我这里用了8b&#xff0c…...

nginx ngx_http_module(10) 指令详解

nginx ngx_http_module(10) 指令详解 nginx 模块目录 nginx 全指令目录 一、目录 1.1 模块简介 ngx_http_v2_module&#xff1a;HTTP/2支持模块&#xff0c;允许Nginx通过HTTP/2协议与客户端进行通信。HTTP/2带来了许多性能优化&#xff0c;如多路复用、头部压缩和服务器推…...

rman 备份恢复1

前提&#xff1a; rman用户必须具有sysdba权限 使用常用连接方式如下&#xff1a; rman target / rman target sys/oracle rman target sys/oracleprod1 catalog dav/oracledav_db 一个rman连接会产生两个进程&#xff0c;action字段为空的就是rman的监控进程&#xff0c;另…...

BeautifulSoup、lxml/XPath和正则表达式在数据爬取中的适用场景

在数据爬取中&#xff0c;BeautifulSoup、lxml/XPath和正则表达式的适用场景各有侧重&#xff0c;具体选择需根据数据特征和需求权衡&#xff1a; 1. BeautifulSoup&#xff08;结合CSS选择器&#xff09; 适用场景 简单结构页面&#xff1a;标签层级清晰、属性固定的HTML页面…...

Python装饰器本质250220

定义一个函数&#xff0c;在不修改这个函数的代码的情况下&#xff0c;让函数执行前后会有新的内容加入 def func():print("func")return def outer():def inner():print("new code before")func()print("new code after")returnreturn inner f…...

实时、分时、半实时半分时操作系统

在操作系统中&#xff0c;实时、分时、半实时半分时是三种不同的调度策略&#xff0c;它们决定了系统如何分配和管理CPU资源。以下是它们的定义和举例&#xff1a; 1. 实时操作系统&#xff08;RTOS, Real-Time Operating System&#xff09; 定义&#xff1a;实时操作系统是…...

玩转Docker | 使用Docker部署本地自托管reference速查表工具

玩转Docker | 使用Docker部署本地自托管reference速查表工具 前言一、Reference介绍Reference简介主要特点二、系统要求环境要求环境检查Docker版本检查检查操作系统版本三、部署reference服务下载镜像创建容器检查容器状态检查服务端口安全设置四、访问reference应用五、测试与…...

基于springboot校园健康系统的设计与实现(源码+文档)

大家好我是风歌&#xff0c;今天要和大家聊的是一款基于springboot的园健康系统的设计与实现。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 基于springboot校园健康系统的设计与实现的主要使用者管理员具有最高的权限&#xff0c;通…...

孤独症项目(1)

年也过了&#xff0c;也不能一直玩&#xff0c;该学习还是要学习。 过年前我算是把环境配置好&#xff0c;然后把项目跑起来了&#xff0c;现在的问题是我看不懂这个代码什么意思 代码还是要一行一行看&#xff0c;每一行都看懂了&#xff0c;全文自然就知道了 1 from pathlib…...

DeepSeek 冲击(含本地化部署实践)

DeepSeek无疑是春节档最火爆的话题&#xff0c;上线不足一月&#xff0c;其全球累计下载量已达4000万&#xff0c;反超ChatGPT成为全球增长最快的AI应用&#xff0c;并且完全开源。那么究竟DeepSeek有什么魔力&#xff0c;能够让大家趋之若鹜&#xff0c;他又将怎样改变世界AI格…...

《被讨厌的勇气》(七)

1.共同体感觉是幸福的人际关系的最重要的指标。 2.把对自己的执著变成对他人的关心。 3.不能进行“课题分离”、一味拘泥于认可欲求的人也是及其以自我为中心的人。 4.一味在意“他人怎么看”的生活方式正式只关心“我”的自我中心式的生活方式。 5.别人并不是为了满足你的期待…...

【Word转PDF】在线Doc/Docx转换为PDF格式 免费在线转换 功能强大好用

在日常办公和学习中&#xff0c;将Word文档转换为PDF格式的需求非常普遍。无论是制作简历、撰写报告还是分享文件&#xff0c;都需要确保文档格式在不同设备上保持一致。而小白工具的“Word转PDF”功能正是为此需求量身打造的一款高效解决方案。 【Word转PDF】在线Doc/Docx转换…...

SpringCloud面试题----eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别

dEureka 和 Zookeeper 都可以提供服务注册与发现的功能,它们的区别主要体现在以下几个方面: 设计理念 Eureka:是基于 RESTful 风格设计的,强调简单、轻量级,旨在为微服务架构提供一种易于使用的服务发现解决方案,注重服务的可用性和灵活性。Zookeeper:最初是为分布式协…...

Matplotlib中strpdate2num()函数报错的解决方法

在Matplotlib绘图时&#xff0c;有时会从文件中读取形如“2025/2/20”格式的日期数据&#xff0c;在读取了日期数据后&#xff0c;会通过Matplotlib.dates.strpdate2num()函数将日期格式变为浮点数进行绘制。 1 matplotlib.dates不再支持strpdate2num()函数 使用matplotlib.d…...