自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(165)
  • 收藏
  • 关注

原创 VMware 官网下载部署

如果没有登录,会跳转到登录界面;没有账号的话,根据提示注册账号即可。我已经登录过账号,跳转到如下界面。

2026-05-04 18:16:30 47

原创 VMware Tool 工具安装部署

使用 VMware 安装完成 Linux 虚拟机之后,图形化界面娇小,如下截图:需安装 工具进行解决,操作步骤如下:下载完成之后,在服务器上执行 可以看到此设备将设备挂载到 文件中解压文安装包安装工具如下截图,在安装的过程中会有交互,,即可。遇到交互时,按 即可,最后安装完成的日志截图如下:验证 工具安装完成后,虚拟机图形化界面,会自动变大,如下:

2026-04-29 12:04:18 55

原创 MySQL 8.x 隔离级别调整

在 MySQL 中,事务隔离级别决定了多个事务并发执行时相互影响的程度。如果希望永久生效,需要修改 MySQL 的配置文件(Linux 下通常是。由于 MySQL 不同版本的变量名略有差异(5.7 之前使用。注意:已连接的会话不会改变,只有新创建的连接才会生效。,Windows 下是。

2026-04-26 19:47:30 436

原创 MySQL 8.x Binlog 核心实操:查看、切换、清理

本文基于 MySQL 8.0.17 实测环境,聚焦 Binlog 核心运维操作,重点总结以下关键点,方便日常查阅:查看操作:通过可快速定位 Binlog 位置、文件列表,掌握日志状态;切换操作:日常运维(备份、变更)前,用手动切换日志,拆分操作区间,便于后续排查;清理操作:禁止直接物理删除 Binlog,手动清理用PURGE命令,自动清理依赖 MySQL 8.0 新参数(优先级高于实测重点:当前环境默认自动保留 30 天 Binlog,无需额外配置,可按需用调整保留天数;

2026-04-26 19:33:44 532

原创 Ubuntu 运行 VSCode

Ubuntu 版本如下:ID=ubuntuVSCode 安装参考《Ubuntu 22.04 版本常用设置》,图形化使用root用户登录后,执行code &不能启动 VSCode,报错信息如下:[1] 3485。

2026-04-24 12:36:46 41

原创 Ubuntu 22.04 版本常用设置

当前安装 Ubuntu 是用来做嵌入式开发,使用 VSCode 进行 C 开发。至此,可通过 root 用户,使用 CRT 工具远程登录服务器。默认情况下,不能使用 root 用户登录图形化界面(gdm3)。用户不能远程登录,习惯上使用 CRT 工具远程连接服务器。Ubuntu 系统需先进行一些设置才能进行登录。这一行数据,在其下面新添加一行。需进行如下设置后,可实现登录。3. 重启 ssh 服务。

2026-04-24 12:24:22 199

原创 Shell 变量声明与使用

在编程世界中,变量是一切操作的基础。本文将详细讲解 Shell 变量的各种用法,助你快速掌握这一核心技能。只能包含字母、数字、下划线不能以数字开头区分大小写(NAME和name是不同的变量)建议使用大写字母表示环境变量,小写字母表示局部变量# ✅ 正确示例# ❌ 错误示例123var="test" # 不能以数字开头user-name="tom" # 不能使用连字符@name="test" # 不能使用特殊字符上述,示例中有使用到双引号,需注意和单引号是存在区别的。区别类型。

2026-04-21 11:33:23 654

原创 什么是文件描述符(File Descriptor)

什么是文件描述符(File Descriptor)通俗类比Linux 中的标准文件描述符验证文件描述符1. 查看进程打开的文件描述符2. 通过重定向改变指向为什么需要区分 stdout 和 stderr?实际例子深入理解 `&1` 中的 `&`对比两种写法验证区别文件描述符的本质(底层视角)高级玩法:自定义文件描述符实用例子:临时保存标准输出总结要点一句话定义:文件描述符是一个非负整数,是操作系统内核为了管理已打开的文件或资源而分配给进程的"索引号"或"句柄"。# 打开文件并分配描述符 3。

2026-04-21 11:00:55 295

原创 Shell 中 2>&1 的理解

两种写法效果完全一样,都表示“将标准输出和标准错误都重定向到同一个文件”。必须放在重定向之后,表示错误输出要跟着标准输出走。

2026-04-21 10:26:41 227

原创 Shell 输出/打印详解

在 Shell 脚本中,“输出”是最基础但也最重要的能力之一。无论是调试脚本、记录日志,还是与用户交互,都离不开输出。到输出重定向,系统讲清楚 Shell 的输出体系。错误信息默认输出到 stderr。:简单输出(类似 println):格式化输出(类似 printf)不解析转义字符,需要加。输出重定向:控制输出去向。

2026-04-21 10:11:11 599

原创 Shell 环境与入门认知(入门详解)

在 Linux/Unix 系统中,Shell 是我们与操作系统交互的“桥梁”。无论是日常运维、自动化脚本,还是开发调试,Shell 都是必不可少的基础能力。在 Linux 系统中,有多种 Shell 实现,不同 Shell 在语法和功能上略有差异。本篇文章将带你从零认识 Shell,并完成你的第一个 Shell 脚本。编写好脚本之后,需要执行它。命令,并调用系统程序来列出当前目录文件。👉 如果你追求效率和美观,可以使用 zsh。缺点:功能较弱,不支持很多现代特性。良好的注释可以提高脚本可读性。

2026-04-21 09:34:33 507

原创 MySQL实操指南:复制表及数据复制全解析

需求场景推荐语法关键说明复制表结构+全量数据不保留主键、索引只复制表结构(保留所有约束)不复制数据,保留主键、自增、索引只复制表结构(不保留约束)不复制数据,不保留约束表已存在,单独复制数据可加where、distinct筛选跨数据库复制表加上数据库名前缀。

2026-04-20 22:23:26 583

原创 MySQL 数字数据类型全解析

INT(11) 不限制存储大小,只是显示宽度,现代开发直接省略金额一定用 DECIMAL,FLOAT/DOUBLE 会造成资金损失无业务意义负数时,一定要加UNSIGNED,扩大范围并避免负数值能小则小:TINYINT 够用就不用 INT,节省空间、提升索引效率主键 ID 预估超 40 亿时,必须用 BIGINT,否则会数据溢出宕机纯整数:按数据大小选 TINYINT → INT → BIGINT小数不精确小数必须精确:DECIMAL(金额专用)

2026-04-20 21:55:56 378

原创 MySQL8.0 初始化官网数据

文件,在 /t01/t02/ 文件夹中,则此处加载时,需添加完整路径。进入到解压后的文件夹,登录数据库(因为后续要加载数据)示例:下载 world 数据库,压缩包上传到数据库服务器的。》从官网下载初始化测试数据,

2026-04-20 21:46:10 60

原创 MySQL 8.0 测试库安装

操作系统版本:Red Hat Enterprise Linux Server 7.5 (Maipo)MySQL 版本:8.0.17。

2026-04-19 23:29:30 47

原创 MySQL8.0 版本安装部署

MySQL 8.0.17 RPM安装的核心是「遵循依赖顺序」和「解决组件冲突」,总结关键要点:安装顺序必须严格:common → libs → client → server → devel(devel可根据需求选择安装);CentOS7系统需先卸载默认的mariadb-libs,否则会与MySQL libs组件冲突;NOKEY警告不影响使用,可通过导入官方密钥消除;MySQL 8.0+ 无固定默认密码,首次登录需从mysqld日志中获取临时密码,并立即修改。

2026-04-19 22:50:19 557

原创 006-SpringSecurity-Demo 跨域(CORS)配置

浏览器的同源策略(Same-Origin Policy)规定:协议 + 域名 + 端口 必须完全一致,否则就是跨域请求URL是否同源✅❌(协议不同)❌(域名不同)❌(端口不同)是否使用了 Spring Security是否调用了是否被网关(如 Nginx)拦截。

2026-04-03 20:19:16 351

原创 005-SpringSecurity-Demo 配置外部文件映射

专门用来读取外部配置,代码解耦、规范优雅。Data;import org/*** @author: 君九/*** 外部资源存储路径* 例如:./file/*** @author: 君九/*** 外部资源存储路径* 例如:./file/*** @author: 君九/*** 外部资源存储路径* 例如:./file/*** @author: 君九/*** 外部资源存储路径* 例如:./fileimport org。

2026-04-03 17:02:07 498

原创 004-SpringSecurity-Demo 拆分环境

将单环境配置按 Profile 拆分为(开发)与(生产),实现配置环境隔离。

2026-04-03 16:32:55 289

原创 003-SpringSecurity-Demo 统一响应类

在domain中新建Result实体类Result实体类内容如下:/*** @author: 君九/*** 状态码:200成功,500失败/*** 消息/*** 数据/*** 无参构造} /*** 全参构造} // ====================== 成功返回 ====================== public static < T > Result < T > success() {

2026-04-03 09:35:33 56

原创 002-SpringSecurity-Demo 集成系统日志

当前项目在《001-SpringSecurity-Demo 创建项目》基础上,持续集成。

2026-04-02 21:05:04 345

原创 001-SpringSecurity-Demo 创建项目

【代码】001-SpringSecurity-Demo 创建项目。

2026-04-02 20:33:09 846

原创 深入解析 MySQL 事务原理:从 ACID 特性到日志落地实战

事务是一组不可分割的数据库操作集合,作为最小工作单位,所有操作需 “整体成功” 或 “整体失败”,拒绝部分执行的中间状态。例如转账操作:A 账户扣减 100 元、B 账户增加 100 元,这两个操作必须同时成功或同时失败,否则会出现数据失衡,这就是事务的核心价值。redo log 是 InnoDB 引擎特有的物理日志,记录的是“数据页的物理修改结果”,而非 SQL 逻辑本身。它的核心使命是实现事务的持久性,解决“内存数据刷盘前崩溃丢失”的问题。undo log 是 InnoDB 引擎的逻辑日志执行。

2026-03-31 16:07:16 423

原创 InnoDB 后台线程全解析:MySQL 高性能背后的“隐形守护者”

摘要: InnoDB存储引擎的高性能与可靠性依赖于精心设计的后台线程体系,主要包括Master Thread(调度中枢)、IO Thread(异步IO处理)、Purge Thread(undo日志回收)和Page Cleaner Thread(脏页刷新)。这些线程协同工作,通过异步IO、脏页管理、资源回收等机制,平衡数据安全性与并发性能。优化建议包括调整IO/Purge线程数量、控制脏页比例、避免长事务等,以应对高并发、undo堆积等场景。该架构通过多线程分工协作,成为MySQL高效稳定运行的“隐形守护者”

2026-03-31 15:36:15 416

原创 一文吃透MySQL InnoDB内存架构:从Buffer Pool到Log Buffer的核心原理

本文深入解析MySQL InnoDB存储引擎的内存架构,重点剖析四大核心组件:Buffer Pool(缓冲池)作为主战场缓存数据页,Change Buffer(更改缓冲区)优化二级索引DML操作,Adaptive Hash Index(自适应哈希索引)自动加速热点查询,以及Log Buffer(日志缓冲区)保障事务持久性。文章详细阐述了各组件的工作原理、调优参数及适用场景,并提供了内存与磁盘联动的整体视角。最后给出针对不同业务场景的调优实战指南,包括缓冲池大小设置、日志刷盘策略选择等关键优化建议,帮助读者全

2026-03-31 15:22:54 486

原创 深度拆解MySQL InnoDB存储引擎架构:从内存到磁盘的全链路解析

组件所属结构核心作用关键参数/文件内存缓存热数据,减少磁盘IO内存缓存非唯一二级索引变更,减少随机IO内存自动创建哈希索引,优化查询Log Buffer内存缓存redo/undo日志,提升写入效率表空间磁盘存储数据、索引ibdata1*.ibdibtmp1磁盘防止页部分写入,保障数据完整ib_*.dblwr磁盘存储undo log,支持事务回滚、MVCCundo_001undo_002Redo Log磁盘记录修改,支持崩溃恢复。

2026-03-30 16:58:07 600

原创 深入理解 InnoDB 的逻辑存储结构:从表空间到行记录

表空间(Tablespace,.ibd文件)↓ 包含多个段(Segment,数据段/索引段/回滚段)↓ 包含多个区(Extent,1MB,64个连续页)↓ 包含多个页(Page,16KB,磁盘IO最小单元)↓ 包含多个行(Row,数据最小单元,含隐藏列)InnoDB的逻辑存储结构是一套经过高度设计的层级体系,从表空间到行,每一层都承担着明确的职责,共同支撑了InnoDB的高性能、高可靠性和事务特性。

2026-03-30 15:18:41 371

原创 CentOS 7.5/RHEL 7.x 配置 YUM 源(阿里云镜像+本地源双方案)

CentOS/RHEL 7.x 系统默认的官方源可能存在访问慢、需订阅(RHEL)等问题,本文将详细讲解两种实用的 YUM 源配置方案:阿里云开源镜像源(外网环境)、本地 DVD 源(内网环境),全程实测适配 CentOS 7.5/RHEL 7.5 系统。阿里云镜像源是国内访问速度最快、最稳定的开源镜像之一,且 CentOS 7 源与 RHEL 7.x 高度兼容,可直接替换使用。若服务器无法访问外网,可使用 RHEL/CentOS 7.5 安装 ISO 镜像作为本地源,完全离线使用。

2026-03-18 22:44:33 622

原创 【保姆级教程】CentOS 7.5/RHEL 7.x 编译安装 Redis 6.0.1

本文详细介绍了在CentOS 7.5/RHEL 7.x系统上编译安装Redis 6.0.1的完整流程。由于Redis 6.x对GCC版本要求较高(≥5),而系统默认GCC版本为4.8.5,因此需要先通过SCL工具升级GCC至9版本。文章从环境准备开始,逐步讲解依赖安装、源码下载解压、编译安装过程,并针对常见的jemalloc报错提供了解决方案。安装完成后,详细说明了Redis的核心配置修改,包括后台运行、IP绑定、密码设置等关键参数。最后验证了Redis的启动状态和基本功能测试。整个过程实测可复现,适合需要

2026-03-18 22:35:07 594

原创 IDEA 常用统一设置

使用 IDEA 常用的统一设置。

2026-02-04 12:00:12 330

原创 【04】微服务系列 之 Nacos 注册中心(服务发现)

微服务系列 之 Nacos 注册中心 服务发现

2026-01-30 22:08:20 942

原创 【03】微服务系列 之Nacos 注册中心(服务注册)

微服务系列 Nacos 注册中心 功能 进行服务注册

2026-01-30 21:19:04 513

原创 【02】微服务系列 之 初始化工程

服务器 Demo 工程初始化.

2026-01-29 21:35:31 989

原创 【01】微服务系列之 Nacos 安装部署

Nacos 2.3.2 版本 安装部署

2026-01-29 21:05:11 285

原创 【07】SpringBoot3 MybatisPlus 删除(Mapper)

本篇中使用到的项目工程是在《SpringBoot3 MybatisPlus 加入日志功能》基础上,持续功能开发。

2026-01-29 19:54:27 545 1

原创 MySQL 意向锁为什么不会阻塞行锁之间的并发?

在 MySQL InnoDB 锁体系中,很多人第一次看到**意向锁(Intention Lock)**都会产生一个误解:实际上:✅ 意向锁不会阻塞行锁之间的并发✅ 意向锁只参与表锁冲突判断❌ 它不是用来控制行并发的锁本文从设计背景 → 锁模型 → 执行流程 → 本质原理 → 生产实践一步一步讲清楚。意向锁存在的目的只有一个:而不是:因为 InnoDB 支持:这叫:假设有人执行:数据库必须检查:如果没有意向锁,就只能:复杂度:有意向锁后只需要看:复杂度:这就是意向锁存在的根本原因。本质是一

2026-01-29 16:25:04 657

原创 【06】SpringBoot3 MybatisPlus 修改(Mapper)

本篇中使用到的项目工程是在《SpringBoot3 MybatisPlus 加入日志功能》基础上,持续功能开发。/*** 根据ID 批量更新* @param entityList 实体对象集合* @param batchSize 插入批次数量*/@Test// 生成批量测试数据.i <= 303;i++) {// 此处省略其他属性的 set 方法clientEntity.setNickName("批量-测试姓名" + i);// 默认批量提交数量。

2026-01-28 22:46:23 795

原创 【05】SpringBoot3 MybatisPlus 添加(Mapper)

本篇中使用到的项目工程是在《SpringBoot3 MybatisPlus 加入日志功能》基础上,持续功能开发。查看官网 API ,支持自定义批量提交的数量参数。/*** 插入(批量)* @param entityList 实体对象集合* @param batchSize 插入批次数量*/@Test// 生成批量测试数据.i < 310;i++) {// 此处省略其他属性的 set 方法clientEntity.setNickName("测试姓名" + i);

2026-01-28 22:15:56 659 1

原创 【04】SpringBoot3 MybatisPlus 查询(Mapper)

本篇中使用到的项目工程是在《SpringBoot3 MybatisPlus 加入日志功能》基础上,持续功能开发。对于即将过期的方法将不再举例说明。

2026-01-27 17:17:04 1010 1

原创 【03】SpringBoot3 MybatisPlus BaseMapper 源码分析

21.0.103.5.153.2.4零 XML语义清晰扩展性极强逻辑删除 / 填充高度统一BaseMapperJava 接口设计ORM 框架边界工程级 CRUD 抽象能力。

2026-01-27 14:24:17 657 1

1MySQL数据库-创建测试数据

自动生成测试数据页面.

2024-03-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除