- ALL
- java33
- linux32
- 工具17
- 其他15
- 数据库7
- git5
- nas5
- vue5
- 前端5
- ai3
- framework3
- windows3
- 脚本2
- hexo2
- app2
- 智能家居2
- 小程序2
- spring2
- maven2
- docker2
- api1
- 资源1
- mysql1
- markdown1
- python1
- question1
- 运维1
- 数据传输1
- 数据结构1
- nginx1
- 安全1
根据日志恢复数据的原理
[!前言] 根据日志恢复数据的流程涉及到两个主要阶段:重做(REDO)和撤销(UNDO)。这些过程利用了 MySQL 的二进制日志(binlog)和重做日志(redo log) 1. 日志文件概述 二进制日志(binlog): 记录所有对数据库进行更改的操作,包括所有提交的事务。这些日志用于增量备份和数据恢复。 重做日志(redo log): 记录所有将要执行的操作,用于在崩溃恢复过程中重新应用未提交的事务。 撤销日志(undo log): 记录事务在执行过程中修改前的数据,用于在事务回滚时撤销未提交的更改。 2. 检查点 检查点(checkpoint)是数据库系统中的一个机制,用于定期将内存中的数据刷新到磁盘,并记录一个时间点。在 MySQL 中,检查点由 InnoDB 存储引擎管理,主要有以下作用: 将缓冲池中的脏页(dirty pages)刷新到磁盘,减少崩溃恢复时需要重做的工作量。 在检查点之后,只需从该检查点开始应用重做日志,减少恢复时间。 3. 恢复流程概述 当数据库崩溃或发生故障时,恢复流程通常包括以下几个步骤: 读取检查点信息:...
mysql的增量备份和全量备份的方法
区别 全量备份是指备份整个数据库的所有数据。 增量备份是指仅备份自上次备份以来更改的数据。 全量备份 全量备份的主要方法是使用 mysqldump 工具进行逻辑备份,或直接复制 MySQL 数据目录进行物理备份。 使用 mysqldump 进行全量备份 1mysqldump -u 用户名 -p 数据库名 > 备份文件.sql 示例: 1mysqldump -u root -p mydatabase > /path/to/backup/mydatabase_full_backup.sql 直接复制数据目录 停止 MySQL 服务: 1sudo systemctl stop mysql 复制数据目录: 1sudo cp -R /var/lib/mysql /path/to/backup/ 启动 MySQL 服务: 1sudo systemctl start mysql 增量备份 增量备份通常依赖于 MySQL 的二进制日志(binlog),因为这些日志记录了所有对数据库进行更改的操作。通过备份这些日志文件,可以实现增量备份。 配置二进制日志 首先需要确保...
数据传输和储存,常见的校验方法说明及其应用实现
奇偶校验(Parity Check) 原理: 奇偶校验是一种简单的错误检测机制,通过增加一个校验位(奇偶位)来使整个数据包的1的数量为奇数或偶数。 仅能检测单比特错误,无法纠正错误。 实现简单,适用于低错误率的场景。 类型: 奇校验(Odd Parity):整个数据包中1的数量为奇数。 偶校验(Even...
数据结构-----树的说明和应用
定义 树是一种由结点和边组成的非线性数据结构,具有分层次的结构,每个结点都有零个或多个子结点。 术语 结点(Node):树的基本元素,包含数据和指向子结点的链接。 根结点(Root):树的顶端结点,没有父结点。 子结点(Child Node):一个结点的下一级结点。 父结点(Parent Node):一个结点的上一级结点。 叶结点(Leaf Node):没有子结点的结点。 内部结点(Internal Node):有至少一个子结点的结点。 边(Edge):连接父结点和子结点的链接。 路径(Path):从一个结点到另一个结点的边的序列。 深度(Depth):从根结点到某个结点的路径长度。 高度(Height):从某个结点到叶结点的最长路径长度。 子树(Subtree):由某个结点及其所有后代结点组成的树。 树的分类 二叉树(Binary Tree):每个结点最多有两个子结点。 完全二叉树(Complete Binary Tree):除最后一层外,其他层的结点都是满的,且最后一层的结点从左到右依次排列。 123456 1 / \ 2 3 / \ / \4 5...
写一个脚本合并相同名称的文件至新建文件夹中
[!前言] 有时候会碰到这种情况,一个文件夹中存在大量文件,有些文件名称相同但是文件类型不同。如果想要将名称相同的文件保存至一个新建的文件夹中,这个文件夹以共同的名称命名,应该如何操作? 类似结构如图 目标是创建这是AAA,这是BBB,这是CCC文件夹并将相同名称的文件移动进去 创建脚本 如果是windows则新建一个文件并重新命名为merge_files.sh,如果是linux则nano merge_files.sh或者vim merge_files.sh 输入以下内容 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586#!/bin/bash# 列出所有文件list_files() { local directory="$1" find...
为何建议使用markdown来写文档、写笔记
[!前言] Markdown 是一种轻量级标记语言,自2004年由John Gruber和Aaron Swartz共同创建以来,它已经成为编写网页内容和文档的一种流行方式。Markdown 的设计初衷是使文本编写尽可能简单和直观,同时仍然具备转换为HTML的能力,以便于发布到互联网上。同时随着限制编译器的发展markdown可以随意的转换为word、pdf等格式,其转换后的样式同markdown预览一致,使得你可以不用学习繁琐的word各种操作也能写出漂亮的word和pdf。 优势 简洁性和易读性:Markdown 的语法非常简单,使用纯文本就能实现丰富的格式展示,比如标题、列表、代码块、表格等。这种简单性保证了即使在没有格式化的情况下,文档的内容也是可读的。 易于学习:Markdown 的语法元素非常少,常用的标记符号不超过十种,这使得用户可以在很短的时间内学会并开始使用Markdown进行文档编写。 跨平台兼容:Markdown 文档为纯文本文件,可以在任何平台和设备上编辑和查看,无需担心兼容性问题。 灵活转换:Markdown...
使用播放源直接收看全世界上万频道
[!前言] 部分频道会有较大延迟,肯定比不上IPTV,但优势在于能收看全世界绝大数的频道,没有任何限制。 说明 IPTV(互联网协议电视)是一种通过互联网协议(IP)传输电视内容的技术,允许用户通过互联网观看电视节目,而不是通过传统的地面广播、卫星或有线电视。IPTV常用来提供实时电视、视频点播和互动电视等服务。 m3u 是一种播放列表文件格式,通常用于存储多媒体播放列表信息。它可以包含音视频文件的本地路径或网络URL列表。对于 IPTV 来说,m3u 文件通常包含电视台的直播流 URL 列表,每个 URL 都对应一个电视台的直播频道或视频点播资源。用户可以通过 m3u 文件获取到频道列表,并通过支持 m3u 的媒体播放器或 IPTV 应用播放对应的频道。 m3u 文件在 IPTV 中起到了组织和分发电视台直播流信息的作用。 github上搜索播放源 查看star数最多的这个 链接直达: https://github.com/iptv-org/iptv 查看m3u文件 可以直接把m3u文件导入到播放器中或者直接使用播放器打开m3u文件链接 12#...
单一源事件(SSE)的一个spring boot实现,常用来将服务端内容实时推送到前端展示
[!前言] 不同于WebSockets提供了双向通信的能力,SSE只支持单向通信。但对于一些场景,如服务器向客户端发送通知或实时更新,SSE是一个简单且有效的选择。 说明 单一源事件(SSE)是一种用于实现服务器向客户端推送数据的网络技术。通常Web应用程序是基于请求-响应模式工作的,客户端需要定期向服务器发送请求以获取更新的数据。但是对于需要实时更新的应用,如聊天应用、股票市场更新等,这种轮询的方式效率不高。 SSE技术通过建立一次持久的连接,允许服务器主动向客户端发送数据,而不需要客户端发送请求。这种推送模式能够显著减少网络流量和服务器负载,同时实现实时更新。在SSE中,服务器向客户端发送一系列数据块,每个数据块以"event: "、"data:...
不懂音乐也能创作歌曲
创作教程 纯音乐 制作纯音乐比较简单,只要简单录入使用到的乐器和音乐风格即可生成 信息录入完成之后点击create创建即可,生成的歌曲如下: 第一首: https://mf.alllf.com/cloudpic/2024/04/aa4fac6c77b31022a07f6248f1d148fc.mp3 第二首: https://mf.alllf.com/cloudpic/2024/04/b07e480caa6147478651b4f2a00fb6c4.mp3 歌词创作 使用chatGPT直接生成 要求chatGPT生成歌词并且按照指定格式输出 歌词的形式可以为: 1[instrumental intro][Verse 1] <歌词>[Chorus] <歌词>[Verse 2] <歌词>[Chorus] <歌词>[Bridge] <歌词>[Guitar solo][Chorus] <歌词>[Outro][End] 将歌词核心提取出来转为英文prompt输入Style of...