news 2026/8/6 12:59:39

MySQL 入门实战:从零安装到 CRUD 操作完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL 入门实战:从零安装到 CRUD 操作完整指南

这次我们来看一个面向初学者的 MySQL 入门实战项目。对于刚接触数据库开发或需要快速搭建本地测试环境的朋友来说,如何从零开始,避开安装配置的坑,并立刻上手进行基础的增删改查操作,是首要目标。这篇文章将围绕一个典型的入门路径展开,重点不是讲解复杂的数据库理论,而是提供一套可立即执行、能验证结果的实操方案。

我们将重点关注几个核心问题:MySQL 在不同操作系统(Windows/macOS/Linux)下的安装方式有何异同?安装后如何验证服务是否正常启动?如何创建第一个数据库和表,并执行基础的 SQL 语句?最后,我们还会探讨如何使用图形化工具(如 Navicat、MySQL Workbench)连接数据库,以及遇到“服务无法启动”、“连接被拒绝”等常见问题时如何排查。本文的目标是让读者在阅读后,能独立完成 MySQL 环境的搭建与基础使用。

1. 核心能力速览

在深入操作之前,我们先通过下表快速了解 MySQL 作为入门级数据库的核心特性和本文的实践范围:

能力项说明
数据库类型关系型数据库管理系统 (RDBMS),开源。
主要功能数据存储、查询、管理;支持事务、索引、视图、存储过程等。
适用场景个人学习、中小型 Web 应用后端、本地开发测试、数据分析入门。
部署方式官方安装包、系统包管理器(apt/yum)、Docker 容器化部署。
管理工具命令行客户端mysql、图形化工具(MySQL Workbench, Navicat, DBeaver)。
本文验证点1. 安装与服务启动
2. 初始密码修改与用户创建
3. 数据库与表的增删改查
4. 基础 SQL 语句执行
5. 图形化工具连接。
硬件门槛极低。现代个人电脑均可运行,安装包约数百MB,运行内存建议大于1GB。
学习前置了解基本的计算机操作,对数据存储有概念即可,无需编程基础。

2. 适用场景与使用边界

MySQL 是一款极其通用的数据库,但对于初学者而言,明确其最适合的起点场景和需要注意的边界,能更快地上手并避免困惑。

适合谁用?

  • 编程初学者:学习 SQL 语法、理解数据库概念的绝佳实践环境。
  • Web 开发新手:需要为个人项目(如博客、内容管理系统)搭建后端数据存储。
  • 数据分析入门者:用于本地练习数据清洗、查询与分析。
  • 软件测试人员:搭建独立的测试数据库环境。

能解决什么问题?

  1. 数据持久化:将应用程序中的数据(如用户信息、文章内容、订单记录)结构化地保存到磁盘。
  2. 高效查询:通过 SQL 语言快速从海量数据中检索、筛选、统计所需信息。
  3. 数据关系管理:通过主键、外键建立和维护不同数据表之间的关联(如用户和其订单)。
  4. 保证数据一致性:利用事务机制,确保一系列操作要么全部成功,要么全部回滚。

不适合什么场景?(入门阶段需注意)

  • 超大规模数据与高并发:单机 MySQL 在数据量达到 TB 级别或每秒请求数上万时,需要专业的分布式架构与优化,这超出了入门范畴。
  • 复杂的非结构化数据存储:如图片、视频的大文件,或频繁变化的 JSON 文档,虽然 MySQL 也支持 BLOB、JSON 类型,但并非最优选,应考虑对象存储或文档数据库。
  • 即时的图形化复杂分析:MySQL 更擅长在线事务处理,对于需要复杂关联、实时可视化的商业智能场景,通常需要配合专门的 OLAP 工具或数据仓库。

安全与合规边界

  • 权限管理:切勿长期使用 root 用户进行日常操作。务必为不同应用创建专属用户并授予最小必要权限。
  • 数据备份:入门练习也需养成好习惯,定期备份重要的数据库(mysqldump)。
  • 网络访问:默认安装后,MySQL 通常只允许本地连接。如需远程访问,必须谨慎配置防火墙和用户权限,避免将数据库直接暴露在公网。

3. 环境准备与前置条件

开始安装前,请确认你的系统环境,并做好必要的准备。不同的操作系统,安装路径略有不同。

通用检查清单:

  1. 操作系统确认:明确你使用的是 Windows、macOS 还是 Linux(如 Ubuntu, CentOS)。
  2. 管理员权限:安装软件和启动系统服务通常需要管理员(Windows)或 root/sudo(Linux/macOS)权限。
  3. 端口占用检查:MySQL 默认使用3306端口。确保该端口未被其他程序(如已有的 MySQL 实例、某些开发工具)占用。
    • Windows:在命令提示符或 PowerShell 中运行netstat -ano | findstr :3306
    • Linux/macOS:在终端中运行sudo lsof -i :3306netstat -tlnp | grep 3306。 如果发现占用,需要停止相关服务或为 MySQL 配置其他端口。
  4. 磁盘空间:预留至少 500MB 的可用空间用于安装和基础数据文件。

选择安装版本:

  • 社区版 (MySQL Community Server):开源免费,完全满足学习和开发需求,是本文推荐的选择。
  • 版本选择:对于初学者,选择稳定的 GA (General Availability) 版本即可,如 8.0.x 或 5.7.x。8.0 版本功能更新,但 5.7 版本依然广泛使用且稳定。建议新手直接使用 8.0。

4. 安装部署与启动方式

我们将分系统介绍最主流的安装方法。目标是成功安装并让 MySQL 服务运行起来。

4.1 Windows 系统安装

Windows 下推荐使用官方安装包(MySQL Installer),它包含了服务器、客户端、工作台等组件,并提供图形化配置向导。

步骤一:下载安装包

  1. 访问 MySQL 官网下载页面。
  2. 选择 “MySQL Installer for Windows”。
  3. 下载体积较大的那个安装器(通常名为mysql-installer-web-community-*.msi),它支持在线安装。

步骤二:运行安装器

  1. 双击运行下载的.msi文件。
  2. 安装类型选择“Custom”(自定义),以便清楚看到所选组件。
  3. 在左侧选择MySQL ServerMySQL Workbench(图形化管理工具)和MySQL Shell(高级客户端),添加到右侧安装列表。
  4. 点击 “Execute” 开始下载并安装组件。

步骤三:产品配置

  1. 安装完成后,进入配置向导。
  2. High Availability:选择 “Standalone MySQL Server”。
  3. Type and Networking:保持默认配置(端口 3306)。
  4. Authentication Method强烈建议选择强密码加密方式 “Use Strong Password Encryption”
  5. Accounts and Roles:这是关键步骤。为 root 用户设置一个强密码,务必牢记。可以点击 “Add User” 额外创建一个日常使用的管理员用户。
  6. Windows Service:确保 “Configure MySQL Server as a Windows Service” 被选中,并设置服务名为MySQL80(默认)。这样 MySQL 会随系统启动。
  7. 点击 “Execute” 完成配置。

步骤四:验证安装

  1. 打开 Windows 服务管理器(services.msc),查找名为MySQL80的服务,状态应为“正在运行”。
  2. 打开命令提示符或 PowerShell,输入以下命令尝试连接:
    mysql -u root -p
    回车后,输入你设置的 root 密码。如果出现mysql>提示符,恭喜你,安装成功。

4.2 macOS 系统安装

macOS 推荐使用 Homebrew 包管理器安装,最为简洁。

步骤一:安装 Homebrew(如果未安装)在终端中执行官网提供的安装脚本。

步骤二:通过 Homebrew 安装 MySQL

# 更新 Homebrew brew update # 安装 MySQL brew install mysql # 安装完成后,启动 MySQL 服务 brew services start mysql

步骤三:安全初始化与设置密码MySQL 安装后,root 用户可能没有密码或为空密码,需要进行安全初始化。

# 运行安全初始化脚本 mysql_secure_installation

按照提示操作:设置 root 密码、移除匿名用户、禁止 root 远程登录、删除测试数据库等。对于本地开发环境,可以酌情选择。

步骤四:验证安装

mysql -u root -p

输入你设置的密码,进入mysql>提示符即成功。

4.3 Linux (Ubuntu/Debian) 系统安装

使用系统包管理器apt安装是最方便的方式。

步骤一:更新包索引并安装

sudo apt update sudo apt install mysql-server -y

步骤二:启动服务并检查状态

# 启动服务 sudo systemctl start mysql # 设置开机自启 sudo systemctl enable mysql # 查看服务状态 sudo systemctl status mysql

状态应显示为active (running)

步骤三:运行安全初始化脚本

sudo mysql_secure_installation

此步骤与 macOS 类似,会引导你设置 root 密码并进行安全配置。

步骤四:验证安装(注意认证插件)MySQL 8.0 默认使用了新的认证插件caching_sha2_password,有时可能导致旧版客户端连接问题。使用以下方式登录:

# 使用 sudo 直接以 root 权限登录,初始时可能无需密码 sudo mysql

进入后,你可以选择为 root 用户设置密码并调整认证方式:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码'; FLUSH PRIVILEGES;

之后,就可以用mysql -u root -p和密码登录了。

5. 功能测试与效果验证

安装成功只是第一步,接下来我们通过一系列实际操作来验证 MySQL 的核心功能是否工作正常。我们将创建一个简单的场景:管理一个“学生信息”数据库。

5.1 测试一:连接数据库与查看版本

测试目的:确认客户端能成功连接到 MySQL 服务器。操作步骤

  1. 打开终端(Linux/macOS)或命令提示符/PowerShell(Windows)。
  2. 输入连接命令:
    mysql -u root -p
  3. 输入密码后,进入mysql>命令行。
  4. 执行一个简单查询,查看服务器版本:
    SELECT VERSION();

预期结果:返回 MySQL 的版本号,例如8.0.33判断成功:能正常显示版本信息,无错误提示。

5.2 测试二:创建数据库与表

测试目的:验证基本的数据库对象管理功能。操作步骤

  1. mysql>提示符下,创建名为school的数据库。
    CREATE DATABASE school; USE school; -- 切换到 school 数据库
  2. 创建一张students表,包含学号、姓名、年龄和班级字段。
    CREATE TABLE students ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, age INT, class VARCHAR(20) );
  3. 查看创建的表结构,确认无误。
    DESCRIBE students;

预期结果DESCRIBE命令会显示students表的字段名、类型、是否为空、键信息等。判断成功:表被成功创建,且结构符合预期。

5.3 测试三:数据的增删改查(CRUD)

这是数据库最核心的操作,我们逐一测试。

插入数据 (Create)

INSERT INTO students (name, age, class) VALUES ('张三', 18, '高三一班'); INSERT INTO students (name, age, class) VALUES ('李四', 17, '高二三班'); INSERT INTO students (name, age, class) VALUES ('王五', 19, '高三一班');

查询数据 (Read)

  1. 查询所有学生:
    SELECT * FROM students;
  2. 条件查询:查找“高三一班”的所有学生:
    SELECT * FROM students WHERE class = '高三一班';
  3. 排序查询:按年龄降序排列:
    SELECT * FROM students ORDER BY age DESC;

更新数据 (Update):将“李四”的班级改为“高三二班”。

UPDATE students SET class = '高三二班' WHERE name = '李四';

执行后再次查询,确认数据已更改。

删除数据 (Delete):删除年龄大于18岁的学生记录。

DELETE FROM students WHERE age > 18;

执行后查询,确认“王五”的记录已被删除。

预期结果:每执行一条语句,都应返回执行成功的提示,如Query OK, 1 row affected。通过SELECT查询能实时看到数据的变化。判断成功:所有 CRUD 操作均能按预期执行,数据状态正确。

5.4 测试四:使用图形化工具连接(以 MySQL Workbench 为例)

测试目的:验证通过图形界面管理数据库的可行性,这对不习惯命令行的用户很重要。操作步骤

  1. 打开 MySQL Workbench(如果已安装)。
  2. 点击 “+” 号新建一个连接。
  3. 设置连接参数:
    • Connection Name:本地学校数据库(任意)
    • Hostname:127.0.0.1(本地)
    • Port:3306
    • Username:root
    • Password: 点击 “Store in Vault…” 输入并保存密码。
  4. 点击 “Test Connection”,如果显示 “Successfully made the MySQL connection”,则连接成功。
  5. 点击 “OK” 保存,然后双击该连接进入主界面。
  6. 在左侧 “Schemas” 面板,应能看到之前创建的school数据库。右键点击school->Set as Default Schema
  7. 在查询编辑器中输入之前的 SQL 语句(如SELECT * FROM students;),点击闪电图标执行,结果会在下方以表格形式显示。

预期结果:能够成功建立连接,并可视化地浏览数据库、执行查询。判断成功:图形化工具能正常连接本地 MySQL 服务,并执行所有数据库操作。

6. 接口 API 与批量任务

对于初学者,理解 MySQL 如何被应用程序调用是关键。虽然 MySQL 本身不直接提供 REST API,但任何编程语言(如 Python、Java、Node.js)都可以通过数据库驱动连接它,这构成了应用层的“接口”。

6.1 通过 Python (pymysql) 连接 MySQL

这里以 Python 为例,展示如何通过代码执行批量插入任务。

环境准备:确保已安装 Python 和pymysql库。

pip install pymysql

Python 连接与批量插入示例

import pymysql # 1. 建立数据库连接 connection = pymysql.connect( host='127.0.0.1', # 数据库服务器地址 port=3306, # 端口 user='root', # 用户名 password='your_password', # 密码 database='school', # 要连接的数据库名 charset='utf8mb4' # 字符集 ) try: with connection.cursor() as cursor: # 2. 准备批量数据 student_data = [ ('赵六', 16, '高一四班'), ('钱七', 17, '高二一班'), ('孙八', 18, '高三三班'), ] # 3. 执行批量插入 SQL sql = "INSERT INTO students (name, age, class) VALUES (%s, %s, %s)" cursor.executemany(sql, student_data) # 关键:executemany 用于批量 # 4. 提交事务,使插入生效 connection.commit() print(f"成功批量插入了 {cursor.rowcount} 条记录。") # 5. 验证插入结果 cursor.execute("SELECT COUNT(*) as total FROM students") result = cursor.fetchone() print(f"当前 students 表总记录数为: {result['total']}") finally: # 6. 关闭连接 connection.close()

代码解析与验证

  • pymysql.connect:创建与 MySQL 的连接对象,参数需与你的安装配置一致。
  • executemany():这是实现批量任务的核心方法,比在循环中执行单条INSERT语句效率高得多。
  • connection.commit():对于写操作(INSERT, UPDATE, DELETE),必须提交事务才会持久化到数据库。
  • 运行此脚本,观察控制台输出,确认插入记录数和总记录数符合预期。
  • 随后可以在 MySQL 命令行或 Workbench 中执行SELECT * FROM students;验证数据是否已成功批量添加。

批量任务设计建议

  1. 分批处理:如果数据量极大(数十万以上),应在循环中分批调用executemany,每批处理几百或几千条,避免单次操作内存溢出或超时。
  2. 错误处理:在批量操作中加入异常捕获 (try...except),记录失败的行或进行事务回滚 (connection.rollback())。
  3. 日志记录:记录批量任务的开始时间、结束时间、处理条数、成功/失败数量,便于排查问题。

7. 资源占用与性能观察

对于本地学习环境,MySQL 的资源占用通常很低,但了解如何观察和简单优化仍有必要。

如何观察资源占用?

  • Windows:打开任务管理器,在“进程”或“详细信息”标签页中查找mysqld.exe,查看其内存和 CPU 占用。
  • Linux/macOS:在终端使用tophtop命令,查找mysqld进程。

典型资源占用(空闲状态下)

  • 内存:新安装的 MySQL 8.0 服务,空闲时内存占用通常在 200MB - 500MB 之间,具体取决于配置。
  • CPU:空闲时接近 0%。
  • 磁盘:安装目录和数据库文件所在目录(如/var/lib/mysqlon Linux)会占用空间。

影响性能的简单因素

  1. 连接数:默认配置可能支持150个左右连接。对于本地开发,这完全足够。可以通过 SQLSHOW VARIABLES LIKE 'max_connections';查看。
  2. 查询复杂度SELECT *全表扫描、未使用索引的WHERE条件、多表关联查询等都会显著增加 CPU 和内存使用,并延长响应时间。
  3. 数据量:当单表数据达到百万、千万级时,简单查询也可能变慢。

入门级优化建议

  • 为查询字段添加索引:如果经常按nameclass查询,可以为这些字段创建索引。
    CREATE INDEX idx_name ON students(name); CREATE INDEX idx_class ON students(class);
  • 避免SELECT *:只查询需要的字段。
  • 使用EXPLAIN分析查询:在复杂的SELECT语句前加上EXPLAIN关键字,可以查看 MySQL 的执行计划,了解是否使用了索引。
    EXPLAIN SELECT * FROM students WHERE class = '高三一班';

8. 常见问题与排查方法

在安装和使用过程中,你可能会遇到以下问题。这里提供快速的排查思路。

问题现象可能原因排查方式解决方案
安装后服务无法启动1. 端口 3306 被占用。
2. 数据目录权限错误。
3. 配置文件my.cnf/my.ini有语法错误。
1. 检查端口占用(见环境准备章节)。
2. 查看系统日志或 MySQL 错误日志。
-Windows: 事件查看器。
-Linux:sudo journalctl -u mysql.servicesudo tail -f /var/log/mysql/error.log
1. 停止占用端口的进程,或修改 MySQL 端口。
2. 确保数据目录(如/var/lib/mysql)的所有者为mysql用户。
3. 检查配置文件,修正错误。
使用mysql -u root -p连接被拒绝1. 密码错误。
2. root 用户认证插件不匹配(MySQL 8.0 常见)。
3. 用户没有本地登录权限。
1. 确认密码,注意大小写。
2. 尝试用sudo mysql(Linux) 或无密码登录(如果初始设置允许)。
3. 查看用户权限:SELECT user, host, plugin FROM mysql.user;
1. 重置 root 密码(需停服务,启动时加--skip-grant-tables参数,操作需谨慎)。
2. 修改认证插件:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
图形化工具(如 Navicat)连接失败1. 服务器未授权远程连接。
2. 防火墙阻止了 3306 端口。
3. MySQL 用户权限限制(仅允许 localhost)。
1. 确认 MySQL 服务正在运行。
2. 尝试用命令行在本地连接,先排除服务本身问题。
3. 检查用户host字段是否为%(允许所有主机)。
1.(谨慎操作)授权用户远程访问:CREATE USER 'username'@'%' IDENTIFIED BY 'password'; GRANT ALL ON *.* TO 'username'@'%';
2. 配置防火墙放行 3306 端口。
生产环境切勿直接使用%ALL,应限定 IP 和权限。
执行 SQL 语句报语法错误1. SQL 关键字拼写错误。
2. 表名或字段名与保留字冲突。
3. 字符串未用单引号包裹。
仔细阅读错误信息,MySQL 通常会指出错误位置。1. 检查拼写,如SELECT不是SELECR
2. 使用反引号包裹可能冲突的名称:`table`
3. 确保字符串值使用单引号:WHERE name = '张三'
插入中文数据变成乱码数据库、表或连接的字符集不兼容中文(如latin1)。1. 查看数据库和表字符集:SHOW CREATE DATABASE school;SHOW CREATE TABLE students;
2. 查看连接字符集:status;(在 mysql 命令行中)。
1. 创建数据库时指定字符集:CREATE DATABASE school DEFAULT CHARSET=utf8mb4;
2. 修改连接参数,如 Python 中设置charset='utf8mb4'
推荐始终使用utf8mb4字符集以支持所有 Unicode 字符(包括表情符号)。
忘记 root 密码安装后未记录或密码遗失。无法通过正常方式登录。重置密码(以 Linux 为例)
1. 停止 MySQL 服务:sudo systemctl stop mysql
2. 以安全模式启动并跳过权限表:sudo mysqld_safe --skip-grant-tables &
3. 无密码登录:mysql -u root
4. 执行:FLUSH PRIVILEGES;ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
5. 退出并重启 MySQL 服务。 (此操作有安全风险,仅在本地环境进行)

9. 最佳实践与使用建议

掌握基础操作后,遵循一些最佳实践能让你的数据库学习之路更顺畅,也为将来更复杂的项目打下基础。

  1. 永远不要在生产环境直接练习:本文所有操作均在本地或个人开发环境进行。生产环境的数据至关重要,任何不当操作都可能导致数据丢失。
  2. 权限最小化原则
    • 为每个应用或项目创建独立的数据库用户,而不是一直使用 root。
    • 只授予该用户完成工作所必需的最小权限(如只允许对特定数据库的 SELECT, INSERT, UPDATE)。
    -- 创建仅能操作 `school` 数据库的用户 CREATE USER 'school_app'@'localhost' IDENTIFIED BY 'strong_password'; GRANT SELECT, INSERT, UPDATE, DELETE ON school.* TO 'school_app'@'localhost'; FLUSH PRIVILEGES;
  3. 勤备份,勤备份,勤备份:在进行任何可能破坏数据的操作(如删除表、更新大量数据)之前,先备份。
    # 使用 mysqldump 备份整个 school 数据库 mysqldump -u root -p school > school_backup_$(date +%Y%m%d).sql
  4. 使用版本控制管理 SQL 脚本:将创建表、初始化数据的 SQL 语句保存在.sql文件中,并纳入 Git 等版本控制系统。这便于团队协作和环境重建。
  5. 从设计阶段就考虑索引:在创建表时,就对可能用于查询条件(WHERE)、排序(ORDER BY)或连接(JOIN)的字段创建索引。事后为百万级数据表加索引会非常慢。
  6. 规范命名:数据库、表、字段名使用小写字母、数字和下划线,做到见名知意(如order_details而非od)。
  7. 本地测试流程:开发新功能时,遵循“编写 SQL -> 在本地测试数据库执行 -> 验证结果 -> 编写应用代码”的流程,确保 SQL 本身正确无误。

10. 总结与下一步

通过以上步骤,你应该已经成功在本地搭建了 MySQL 环境,并完成了从安装、启动、连接、建库建表到执行 CRUD 操作的全流程验证。这个过程中,最关键的是动手操作和问题排查。

最值得尝试的下一步:

  1. 设计一个更复杂的数据模型:尝试设计一个“博客系统”的数据库,包含用户表、文章表、评论表、分类表,并建立它们之间的外键关系。
  2. 练习复杂查询:使用JOIN进行多表关联查询,使用GROUP BY和聚合函数(COUNT,SUM,AVG)进行数据统计。
  3. 探索图形化工具的更多功能:用 MySQL Workbench 的“数据建模”功能可视化设计表结构,用“性能仪表板”监控数据库状态。
  4. 将数据库与一个简单程序连接:用 Python Flask 或 Node.js Express 写一个简单的 Web 应用,实现通过网页对上面创建的students表进行增删改查。

最容易踩的坑回顾

  • 安装后的密码问题:牢记 root 密码,或妥善保存。遇到连接问题,首先检查密码和认证插件。
  • 服务未启动:任何连接问题,先确认 MySQL 服务进程是否在运行。
  • 字符集乱码:统一使用utf8mb4字符集,一劳永逸。
  • 忘记提交事务:在编程中执行写操作后,别忘记connection.commit()

MySQL 的世界很大,但入门的关键在于快速建立一个可运行、可验证的环境,并在此基础上去探索和实践。建议将本文作为手边的操作手册,在遇到问题时回来查阅对应的排查章节。当你熟悉了这些基础,再去深入学习事务、索引优化、主从复制等高级主题,就会水到渠成。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/6 12:57:00

Java技术栈在医疗陪诊APP开发中的实践与应用

1. 项目背景与市场需求 在医疗健康领域,陪诊服务正逐渐成为城市居民刚需。随着老龄化社会加速和双职工家庭增多,许多患者在就医过程中面临无人陪同的实际困难。特别是在三甲医院等大型医疗机构,复杂的就诊流程和漫长的等待时间,使…

作者头像 李华
网站建设 2026/8/6 12:56:46

WorkBuddy技能开发实战:从设计哲学到“鸭血粉丝汤”案例全解析

1. 从“工作伙伴”到“技能大师”:WorkBuddy的设计哲学与核心定位最近在AI工具圈里,WorkBuddy这个名字出现的频率越来越高,尤其是在讨论如何让AI真正融入日常工作流时。很多人把它和CodeBuddy搞混,或者简单地把它理解成一个“能联…

作者头像 李华
网站建设 2026/8/6 12:54:24

Matlab R2022b 安装与配置全攻略:从避坑到高效工作流

1. 从“安装成功”说起:为什么R2022b值得你花时间折腾最近在给一台新工作站部署Matlab,思来想去,最终还是选择了R2022b这个版本。你可能觉得,装个软件而已,有什么好“小记”的?直接点下一步不就行了。但如果…

作者头像 李华
网站建设 2026/8/6 12:54:12

Unlock-Music终极指南:3分钟解锁你的加密音乐文件

Unlock-Music终极指南:3分钟解锁你的加密音乐文件 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https://g…

作者头像 李华
网站建设 2026/8/6 12:52:58

Flutter 双向证书校验逆向抓包复盘

内容仅用于授权测试、课程学习和自有应用调试,请不要用于未授权目标。此篇文章只供技术交流和理解代码bug和安全范围的交流和沟通。代码原理和灵感来源于reflutter功能 线上视频地址:https://www.bilibili.com/video/BV1YoGK6rEHZ/ 课件地址下载&#x…

作者头像 李华
网站建设 2026/8/6 12:52:06

STM32红外遥控解码实战:从NEC协议到状态机设计

1. 从“万能遥控器”到嵌入式感知:红外遥控的工程价值你手边是不是总有几个闲置的遥控器?电视的、空调的、机顶盒的,它们躺在抽屉里,除了偶尔按一下,似乎没什么存在感。但如果你手里有一块STM32开发板,这些…

作者头像 李华