Linux下MySQL入门实战:安装、SQL与运维排查
1. 为什么入门MySQL一定要带上Linux提起MySQL很多人第一反应是Windows上装个图形界面点两下就能跑起来。但你到网上一搜满屏都是MySQL命令行的教程而且十个里八个默认你用的是Linux。这不是没道理的——MySQL在Linux环境下才是完全体生产环境里百分之九十五以上的MySQL跑在Linux上你学会在Linux下操作MySQL就等于掌握了这门数据库真正的工作状态。我遇到不少新手在Windows下用Navicat敲几句SQL觉得挺顺一换到Linux服务器上就懵了MySQL装不上、服务起不来、连不上、报各种看不懂的错。归根结底问题出在工具层面的差异而不是SQL本身。这一篇咱们就从零开始把Linux下MySQL的安装、配置、建库建表、增删改查、账号权限、问题排查走一遍目标很明确让一个完全没碰过数据库的人也能跟着一步步把环境拉起来跑通第一条SQL。这套内容适合谁刚转行想做运维或开发的、学校里学完理论没实操过的学生、想把自己电脑上的MySQL搬家到云服务器的个人开发者都适合对照着操作一遍。后面每一段我都会把为什么要这么做、不做会踩什么坑一并讲清楚。2. 环境准备先把Linux的底子打好2.1 本地虚拟机还是云服务器没有服务器的话优先推荐本地虚拟机装Linux免费还能随便折腾。用VMware或VirtualBox装一个CentOS Stream、Ubuntu Server或者Rocky Linux都可以镜像去各发行版官网下载。个人用的Ubuntu Server会更友好文档多、社区活跃很多软件包都是一条命令装好公司里常见的发行版则是CentOS系也就是Rocky Linux和AlmaLinux这和RHEL一脉相承以后去了生产环境不会陌生。除了发行版的选择还有一个更关键的问题用桌面版还是用服务器版。凡是折腾数据库这种事儿都建议用带图形桌面的桌面版起步也没问题但真到了服务器上你要面对的都是纯命令行环境。所以从第一天就逼自己在纯命令行下干活后劲会大很多。你在虚拟机里按CtrlAltF2切到纯终端或者直接不装桌面坚持下来会发现Linux命令行这关就是一层窗户纸捅破了后面什么ssh远程连接、screen后台运行、systemd管理服务都不在话下。2.2 掌握这几个Linux命令再动手装MySQL之前至少要把这几组Linux命令玩熟不然中途遇到问题连排查都无从下手# 查看系统信息 cat /etc/os-release # 切换root权限 sudo -i # 更新软件包索引 yum update -i # CentOS/Rocky系 apt update # Ubuntu/Debian系 # 查看端口占用 ss -tlnp | grep 3306 # 查看服务状态 systemctl status mysqld # 搜索已安装的软件包 rpm -qa | grep mysql这些命令是真的会在后续操作里反复用到的。比如SSH连上服务器后提示端口22连不上你要会查看sshd服务状态比如MySQL启动报错你要会去日志目录里翻error log。Linux考试的面试题里也喜欢考这些常用命令比如查看进程用什么、查看磁盘空间用什么说白了都是在逼你养成运维的肌肉记忆。我一个建议每敲一条新命令都顺手敲一下man 命令名或命令名 --help看一下参数说明比死记硬背高效得多。3. 在Linux上安装MySQL三种方案如何选3.1 在线安装yum和apt一行跑通最直观的方式就是用系统自带的包管理器装。CentOS系用yumUbuntu系用apt。CentOS/Rocky系标准步骤# 下载并安装MySQL官方yum仓库 wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm rpm -ivh mysql80-community-release-el7-7.noarch.rpm # 查看可用的MySQL版本 yum repolist all | grep mysql # 安装MySQL服务端和客户端 yum install mysql-community-server mysql-community-client -yUbuntu/Debian系步骤# 下载并安装MySQL APT配置包 wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb dpkg -i mysql-apt-config_0.8.24-1_all.deb apt update apt install mysql-server -y这里有个很经典的坑CentOS的默认源里带的那个mariadb不是MySQL很多新手装了mariadb以为自己装了MySQL跑起来发现版本号是5.5还报错。所以安装完第一步要看的就是你装的是不是MySQL官方的东西。用mysql --version能查到版本号例如8.0.x的才说明装对了。3.2 离线安装没有外网也能装MySQL公司内网服务器经常是隔离外网的这就要用离线安装方案。思路是找一台能上网的机器把rpm包下载全再拷贝进去安装。注意rpm包之间有依赖关系最靠谱的做法是用yum的downloadonly插件把依赖一网打尽# 在有网的机器上执行 mkdir /opt/mysql-rpms cd /opt/mysql-rpms yum install --downloadonly --downloaddir/opt/mysql-rpms mysql-community-server mysql-community-client # 然后把整个目录拷贝到内网机器上 # 内网机器执行 rpm -ivh mysql-community-*.rpm如果rpm包的依赖关系特别复杂也可以直接下MySQL官方的通用二进制包解压即用。二进制包安装方法先下载mysql-x.x.x-linux-glibc2.12-x86_64.tar.xz解压到/usr/local/mysql用mysqld --initialize初始化数据目录再手动启动mysqld_safe也可以把启动脚本写到/etc/init.d里。这种安装方式的优点是版本完全可控缺点是你需要自己处理启动脚本、日志目录、权限等一堆细节不建议新手一上来就选这个但了解原理对理解Linux下软件是怎么组织的很有帮助。3.3 安装后的初始化和启动安装完成后CentOS系的MySQL默认已经创建了mysqld服务直接启动就行systemctl start mysqld systemctl enable mysqld关键在于初始密码。MySQL 8.0版本在初始化时会自动生成一个临时root密码存在日志里。你要先拿到这个密码才能进行后续操作grep temporary password /var/log/mysqld.log然后使用这个临时密码登录登录后马上改密码mysql -uroot -p ALTER USER rootlocalhost IDENTIFIED BY 你的新密码;Ubuntu系有点区别安装时可能让你选认证方式或者安装完直接无密码登录更多时候需要用sudo mysql进到命令行再执行ALTER USER修改密码。注意MySQL 8.0默认密码策略要求比较高太简单的密码会被直接拒绝具体要求是长度不低于8、同时包含大小写字母数字和特殊字符。这是安全基线不要想着绕过直接在密码里全配上就好。4. 核心SQL操作建库、建表、增删改查实战4.1 数据库和表的创建环境跑起来以后进MySQL客户端开始建库建表。MySQL的命令行客户端和数据库服务是两个不同的东西客户端是mysql命令服务端是mysqld进程平时我们说的进入MySQL就是指运行mysql这个客户端程序去连接服务端。登录后第一件事是看当前有哪些库SHOW DATABASES;默认会有information_schema、mysql、performance_schema、sys这四个系统库属于MySQL内部管理用的不要动它们。创建一个自己的业务库CREATE DATABASE myblog DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE myblog;创建数据库时指定utf8mb4编码是现在的最佳实践。utf8mb4是utf8的超集不仅能存中文还能存emoji并且兼容性和排序规则都更好。老一些的项目还在用utf8插入emoji字符会报错直接丢数据这种老坑在新项目里就不要再踩了。建表示例模拟一张用户表CREATE TABLE user ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(100) DEFAULT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE KEY uk_username (username) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;这里的每个字段类型选择都是有讲究的。id用INT UNSIGNED AUTO_INCREMENT是因为用户量正常情况下不会超过四十多亿username用VARCHAR(50)而不是TEXT是因为用户名长度有限VARCHAR在索引效率和存储空间上都更优email允许为空就用DEFAULT NULL而不是NOT NULLcreated_at直接用默认值自动填充省得每次写入手动填时间。表引擎指定InnoDB是因为它支持事务、行级锁和崩溃后的自动恢复MySQL 8.0里InnoDB就是默认引擎写不写都行但写出来更明确。4.2 增删改查的完整套路有了表数据操作就是四件事增、删、改、查。对应INSERT、DELETE、UPDATE、SELECT四条语句面试题里反复考的增删改查百分之九十的工作量就是这四样。插入数据INSERT INTO user (username, email) VALUES (zhangsan, zhangsanexample.com); INSERT INTO user (username, email) VALUES (lisi, lisiexample.com), (wangwu, NULL);批量插入时要特别注意如果设置了唯一键重复插入会报错Duplicate entry这时有两个解决套路。业务上要保留已有数据只跳过重复用INSERT IGNORE要更新已有数据用ON DUPLICATE KEY UPDATE。这两招写数据同步脚本时几乎是标配。查询数据-- 查询所有字段 SELECT * FROM user; -- 查询指定字段并过滤 SELECT id, username, email FROM user WHERE id 1; -- 排序 SELECT * FROM user ORDER BY created_at DESC; -- 分页 SELECT * FROM user ORDER BY id LIMIT 10 OFFSET 20;查询这块是SQL里玩法最多的地方。ORDER BY配合DESC/ASC排序LIMIT做分页WHERE做条件过滤你说要MySQL排序绝大多数情况就是这里。常用的还有聚合查询比如统计总人数SELECT COUNT(*) FROM user;以及分组统计SELECT DATE(created_at) AS day, COUNT(*) FROM user GROUP BY day;修改和删除-- 修改数据 UPDATE user SET email newemailexample.com WHERE id 2; -- 删除数据 DELETE FROM user WHERE id 3;这里有一个新手容易养成但必须纠正的坏习惯UPDATE和DELETE忘记写WHERE条件。一旦漏掉就相当于全表修改或清空而且MySQL默认在非安全模式下直接执行数据没了找不回来。所以我给自己定的规矩是生产环境的UPDATE和DELETE必须先写SELECT确认要操作的数据行数确认无误后再把SELECT改成UPDATE或DELETE执行。这条纪律帮你挡住绝大多数手滑事故。4.3 索引查询变快的根本数据量小的时候SELECT怎么查都很快。数据量一上来索引就变成必须做的事。-- 单列索引 CREATE INDEX idx_email ON user(email); -- 唯一索引 CREATE UNIQUE INDEX uk_email ON user(email); -- 联合索引 CREATE INDEX idx_name_email ON user(username, email);索引的原理可以理解成一本书的目录没有索引MySQL要一页页翻全文这叫全表扫描有索引MySQL直接跳到对应页码取出数据速度是数量级提升。比如几百万行数据的表没有索引查一个email可能要一秒多加了索引后变成几毫秒。索引设计有个核心原则联合索引左边前缀优先也就是说建了(username, email)联合索引查询username的条件会命中索引只查email不会命中。面试题爱问这个实际业务里也要用这个思路去设计避免重复建一堆单列索引。另外要注意的是索引不是越多越好每建一个索引写入时都要额外维护一份插入和更新都会变慢所以只给高频查询的字段建索引。5. 用户、权限与安全加固不能只用root跑业务5.1 创建业务账号和授权装完MySQL你拿到的那个root账号只管用来做管理和维护业务程序连接数据库绝对不能直接用root。原因很简单root的权限是超级用户一旦应用被SQL注入攻击者可以直接拖库或者删库。所以一定要创建权限可控的业务账号。-- 创建业务账号 CREATE USER app_user% IDENTIFIED BY StrongPass123; -- 授权指定库的所有表权限 GRANT SELECT, INSERT, UPDATE, DELETE ON myblog.* TO app_user%; -- 刷新权限使生效 FLUSH PRIVILEGES;注意host那部分的写法localhost表示只允许本机连接%表示允许任意IP连接192.168.1.%表示允许指定网段连接。安全性上能用具体IP就不用%能用localhost就不用IP。如果程序部署在同一台机器上直接用localhost这是最稳妥的做法。5.2 SSL连接和安全配置排查很多程序连接MySQL时报错常见的一种是mysql ssl连接错误报错内容通常是SSL connection error: unknown error number或者Public Key Retrieval is not allowed。这类SSL问题的根源在于MySQL 8.0默认开启了SSL连接而客户端连接时如果没有正确配置就会因为证书校验失败被拒。处理方式根据场景来选如果程序走的是内网性能优先、加解密没必要在连接串上显式关掉SSL即可jdbc:mysql://127.0.0.1:3306/myblog?sslModeDISABLEDallowPublicKeyRetrievaltrue如果是公网环境建议把SSL开着在连接串里指定服务端的正确证书。还有一种常见报错是Authentication plugin caching_sha2_password cannot be loaded这是MySQL 8.0默认认证插件变化导致的旧版客户端不支持。可以全局调低默认认证插件兼容也可以单独给某个用户改成mysql_native_password。ALTER USER app_user% IDENTIFIED WITH mysql_native_password BY StrongPass123;MySQL 8.0的默认认证插件从mysql_native_password换成了caching_sha2_password这个改动本身是为了更强的安全性所以不建议为了让老客户端能连就把全局都改回去。更好的办法是升级客户端驱动比如Navicat等工具的旧版本升级一下就好。5.3 密码策略与基础安全基线MySQL 8.0默认密码策略validate_password是开启状态的前面说过了太简单不让你过。这个策略可以用参数调整但既然默认安全基线摆在那就别急着关只做小幅放宽即可比如长度从默认8改成自己可接受的级别SET GLOBAL validate_password.policy LOW;这里注意security相关的功能在实际服务器上操作时除了密码还要把root账号的远程登录禁止掉。root账号只允许localhost登录是MySQL的默认行为不要轻易改掉很多人图省事把root直接授权给所有IP等于把数据库的安全大门敞开了。还顺手可以改一下默认端口。3306是MySQL的标准端口攻击者扫描时第一个扫它改成一个不常用端口能减少大量扫描攻击。改端口要到/etc/my.cnf的[mysqld]段下加一行port3307改完重启服务。注意程序连接串里的端口也要一并改掉否则就会连接超时。6. 实战用Navicat连接Linux上的MySQL图形化工具是新手的好朋友Navicat算是最常用的一个MySQL图形化客户端。用Navicat连接Linux上MySQL数据库的操作本身很简单但连接失败的排查路径值得搭一条完整的知识线。新建连接时需要填五样东西连接名随意、主机填Linux服务器的IP或域名、端口默认3306、用户名填写刚创建的业务账号、密码对应权限。填写后点击测试连接报错就按下面这个优先级去查拿不到连接的最常见原因是防火墙这是Linux上MySQL和Windows上完全不同的地方。Windows上装完MySQL一般直接就能本地连Linux上你要是没有在防火墙策略里放行3306端口远程客户端连过来直接被丢弃# CentOS系防火墙 firewall-cmd --permanent --add-port3306/tcp firewall-cmd --reload # Ubuntu/Ufw防火墙 ufw allow 3306/tcp第二个常见原因是MySQL的bind-address配置默认只允许本地连接。要让远程能连在/etc/my.cnf里把它改成监听所有地址bind-address0.0.0.0第三个常见原因是用户授权host限制如果用户是localhost不是%或具体IP远程过来会被拒绝。建议在这个场景直接新建一个远程专用的业务账号授权。第四个才是SSL和认证插件问题。按照第五节说的SSL报错思路去处理。Navicat连上以后那种可视化的建表、看ER图、导出数据的体验确实舒服但我仍然强烈建议日常操作在命令行里进行。因为命令行能让你理解每一步的真实逻辑图形化工具会把细节藏起来等去了没有图形界面的生产环境你连数据备份恢复都没法操作时才会发现命令行熟练度才是真本事。7. 进阶必看存储过程、连接池和备份恢复7.1 存储过程把一段逻辑固化在数据库里存储过程说白了就是数据库里的函数把多条SQL封装在一起调用一次全执行。业务逻辑复杂、多表操作频繁的场景下存储过程可以减少客户端和服务端的往返次数。DELIMITER // CREATE PROCEDURE GetUserCount() BEGIN SELECT COUNT(*) AS total FROM user; END // DELIMITER ; -- 调用 CALL GetUserCount();DELIMITER的作用是把MySQL默认的语句结束符临时改成//因为存储过程内部有自己的分号不改结束符就没法完整录入整个过程。这个操作虽然琐碎但每次写存储过程都要先设一次。存储过程最大的好处是部署方便一份逻辑固化在库里所有程序共享。但缺点也同样明显调试困难、版本管理不如代码、对数据库的依赖性变强。所以我个人的使用原则是简单的单条SQL查询不要写成存储过程只有在多条SQL有强事务关联性、还涉及循环分页等逻辑时才考虑。7.2 连接池为什么数据库快不起来数据库连接池这个概念听得很多原理不复杂。每次程序连接数据库都要经历建连接、鉴权、GO...GO那套TCP握手的开销非常昂贵。连接池提前创建了一批连接放在池子里程序需要时直接从池子里拿用完还回去避免反复创建和销毁连接。Java生态的常用连接池有HikariCP、DruidGo语言有database/sql自带的连接池。连接池的配置里有几个关键参数池的最大连接数、最小空闲连接数、连接最大存活时间。最大连接数不要无脑开大MySQL默认的最大连接数是151如果连接池把几百个连接都怼上来数据库没做相关修改的话先被自己拖垮。反过来讲应用连接数接近上限时等待时间会大幅上升这时要检查是不是有慢SQL占用连接不释放。MySQL的线程池MySQL Enterprise Thread Pool是另一层机制一般到了非常高的并发阶段才需要考虑入门阶段连接池就够用了。7.3 备份和恢复这条必须亲手做一次数据库备份是运维的基础活儿mysqldump是最经典的工具# 备份整个库 mysqldump -uroot -p myblog myblog_backup.sql # 备份多个库 mysqldump -uroot -p --databases myblog test multi_backup.sql # 备份所有数据库 mysqldump -uroot -p --all-databases all_backup.sql # 恢复 mysql -uroot -p myblog_backup.sql备份的时机和策略要结合数据量来定。数据量小每天凌晨全量备份就行数据量大做全量binlog增量备份。binlog二进制日志记录的是所有修改数据的语句全量备份基础上靠binlog把数据恢复到最近的时间点。MySQL 8.0里binlog默认开启恢复时用mysqlbinlog工具解析binlog文件结合时间点定位。有一个容易忽略的问题是数据一致性。业务在持续写入时直接mysqldump可能备份到一半的数据不一致。解决方法是备份时加锁mysqldump -uroot -p --single-transaction --master-data2 myblog myblog_backup.sql--single-transaction利用InnoDB事务特性在不锁表的情况下保证备份期间看到的数据是一致的快照--master-data2则把binlog的坐标记录在备份文件里方便后续做增量恢复。这个参数组合是Linux下MySQL备份的标配。8. 常见问题排查技巧实录8.1 服务起不来或启动失败MySQL服务起不来第一步永远去看错误日志不要瞎猜。日志文件默认位置是/var/log/mysqld.log查看最后几十行tail -n 50 /var/log/mysqld.log错误日志会把真正的失败原因写在最后几条。常见的有数据目录权限不对MySQL要求数据目录的所有者是mysql用户磁盘满了日志里会直接报space相关关键字配置文件里有非法参数服务在解析配置阶段就退出了端口被占用也能看到Address already in use。数据目录权限问题排查命令chown -R mysql:mysql /var/lib/mysql磁盘满的问题使用df -h查磁盘空间然后找出占空间的大文件大日志文件直接清空而不是删除删除可能让已打开的句柄继续占空间。8.2 忘记了root密码YouTube上忘密码的事情后面都是眼泪。MySQL 8.0的官方做法是在配置里加skip-grant-tables跳过权限验证然后重启服务无密码登录修改密码后再把配置项删掉重启恢复正常——因为skip-grant-tables模式下做了任何修改都会被直接拒绝。完整步骤echo skip-grant-tables /etc/my.cnf systemctl restart mysqld mysql -uroot FLUSH PRIVILEGES; ALTER USER rootlocalhost IDENTIFIED BY NewStrongPass123; # 删掉那行配置 sed -i /skip-grant-tables/d /etc/my.cnf systemctl restart mysqld这个操作流程里有一步很容易忽略跳过权限验证登录后先执行FLUSH PRIVILEGES目的是让MySQL重新加载权限相关配置否则ALTER USER语句可能会报ACCESS DENIED。这条经验是MySQL 8.0和旧版本的最大区别之一旧版本直接ALTER就行8.0必须先刷新权限。8.3 数据库同步工具与扩展方向热搜词里出现了一堆数据库同步工具比如flink实现mysql同步到clickhouse、数据库同步软件、dbx数据库工具等。这些本质上都属于数据同步范畴。基础的同步可以用MySQL自带的binlog复制主库写binlog从库拉去binlog回放实现主从复制和读写分离。更复杂的异构同步比如MySQL到ClickHouse做分析、MySQL到Elasticsearch做全文搜索常用工具包括Canal、Debezium、Flink CDC这些。这些工具的核心思路是一致的解析MySQL的binlog把变更实时流出去下游目标系统消费后写入自己。稍微了解这个方向对理解MySQL生态为什么这么庞大会很有帮助。至于向量数据库那些热词属于更大数据架构里的另一个分支是MySQL这个OLTP基础库之外的新领域有兴趣的可以等基础打牢后再去看。9. 掌握Linux下的MySQL我最后的几个锦囊用Linux管理MySQL这几个月有两个习惯彻底改变了我一个是把所有操作都写成脚本或者至少记成笔记。配置改动全部通过命令执行而非手工编辑每一次安装、初始化、授权、备份的命令都记下来复制粘贴即可复用。这样不仅方便复盘也不怕环境重装从头再来。第二个习惯是出了问题先看日志再看状态最后才动手改配置。日志里写清楚的内容不需要猜盲目改配置常常把原来的可用状态改坏。比如服务连不上先看mysqld.log再看netstat状态、防火墙规则逐个排查。最后还想说一个容易被忽略的点Linux命令行里执行MySQL命令时密码直接写在命令行有被日志记录的风险加个-p参数让它交互式输入更安全一些非交互的脚本里可以用环境变量或者配置文件的方式管理口令不要硬编码。这一路走下来从装不上MySQL到完成了用户表、增删改查跑通再到设置账号权限、排查SSL报错、备份恢复、了解连接池和同步工具MySQL在Linux里的全貌已经基本铺开了。SQL语法是平面的东西几天就能学会但把数据库稳稳当当地跑在Linux上、灵活调优、出问题能快速定位这些才是拉开差距的地方。跟着这篇走一遍流程剩下的就是自己在命令行里多敲多试了。遇到报错很正常先读报错内容再动手每一步操作都知道自己为什么要这么干Linux下的MySQL就再也不会让你发怵了。

相关新闻

盛福园钢带厂家实力怎么样

盛福园钢带厂家实力怎么样

从后国内五金制造产业从零开始萌芽,到如今中国成为全球最大的五金加工与钢带供应基地,二十余年的市场浪潮淘洗下,一批扎根实体、坚守品质的老厂始终站稳行业潮头。临沂市盛福园金属品加工有限责任公司(简称盛福园金属)深耕钢带加工行业二十余…

2026/10/2 20:54:16 阅读更多 →
Unity的RenderTexture 笔记

Unity的RenderTexture 笔记

一、先了解两个位数:“颜色缓冲区的位数” 和 “深度缓冲区的位数”:所谓位数,就是存储一个像素所有通道(如 R、G、B、A)所需的总比特数。举例:24 位与 16 位的核心区别1. RGB 24 位:无 Alpha 的…

2026/10/2 20:54:16 阅读更多 →
一站式渔具配件采购实力厂商靠谱商家测评排名,钓鱼人备货不踩坑

一站式渔具配件采购实力厂商靠谱商家测评排名,钓鱼人备货不踩坑

什么是渔具配件采购,你真的懂行业核心逻辑吗?很多刚入行的渔具采购商家,甚至不少钓鱼爱好者自己选配件,都会觉得能凑合用就行,其实完全不是这么回事。 渔具配件的核心属性与应用范围渔具配件是整个垂钓装备的骨架基础&#xff0c…

2026/10/2 20:54:16 阅读更多 →

最新新闻

从零搭建AI工程能力:三次踩坑经验与完整落地指南

从零搭建AI工程能力:三次踩坑经验与完整落地指南

从零搭建AI工程能力这件事,我前前后后折腾过三回。第一回是跟着网上的教程跑通了几个Demo,觉得自己行了;第二回是接手一个真实项目,发现Demo和工程之间隔着一条鸿沟;第三回才算真正摸到了门道——不是模型调得多好&…

2026/10/2 21:30:39 阅读更多 →
AI工程体系从零构建:数据契约、模型镜像与可观测性实战

AI工程体系从零构建:数据契约、模型镜像与可观测性实战

1. 从零开始构建AI工程体系:这不是搭积木,是重建地基“AI Engineering from Scratch”这个标题乍看像一句技术口号,实则藏着一个被严重低估的现实——今天90%的AI项目失败,不是因为模型不够深、参数不够多,而是因为压根…

2026/10/2 21:30:39 阅读更多 →
AI工程从零到上线:模型部署、服务化与监控全解析

AI工程从零到上线:模型部署、服务化与监控全解析

AI工程这个名头这两年听得太多了,但真翻开招聘JD一看,有的要会调参、有的要求精通K8s、还有的要求能训大模型——说实话,一个刚入门的人根本不知道该往哪儿使劲。我做了几年AI落地项目,从最早给客户做图像识别、到后来带团队搭完整…

2026/10/2 21:30:39 阅读更多 →
从零构建AI工程:MCP插件开发与实战复盘

从零构建AI工程:MCP插件开发与实战复盘

不少朋友问我,AI工程到底该怎么入门。市面上聊AI工程的课程和帖子,动不动就是RAG、Agent、微调、大规模分布式推理,看起来高深,真正上手却发现离自己的日常工作很远。我自己的体会是,与其从那些宏大概念开始&#xff0…

2026/10/2 21:30:39 阅读更多 →
AI工程新范式:skills可复用调用单元实践指南

AI工程新范式:skills可复用调用单元实践指南

1. “skills”不是功能模块,而是一套AI时代的新工作流范式最近三个月,我在三个不同行业的客户项目里,都撞见了同一个词反复出现在技术方案文档、内部会议纪要甚至实习生的周报里——不是“API”,不是“Agent”,而是ski…

2026/10/2 21:30:38 阅读更多 →
OpenShell配置指南:找回Windows经典开始菜单与资源管理器增强

OpenShell配置指南:找回Windows经典开始菜单与资源管理器增强

Windows 8那年,微软把开始按钮和开始菜单直接拿掉,换成全屏磁贴界面,这个决定有多灾难,经历过的人应该都懂。公司里好几个同事当时第一反应是装第三方工具找回开始菜单,我自己也跟着找,一路用到了现在——C…

2026/10/2 21:29:38 阅读更多 →

日新闻

从零搭建AI工程化:模型之外的完整闭环

从零搭建AI工程化:模型之外的完整闭环

先搞清楚一件事:从零开始做 AI 工程化,难的从来不是调模型、写提示词,而是把一套原型 Demo 变成长得像是“正经系统”的东西。你手里可能已经有了能跑通的代码,也可能刚读完一些概念,但真到了要把它变成可维护、可观测…

2026/10/2 0:00:20 阅读更多 →
大模型训练显存估计与混合精度训练实战指南

大模型训练显存估计与混合精度训练实战指南

1. 大模型训练显存估计与混合精度训练详解显存不够用,几乎是每个做大模型训练的人都会撞上的第一堵墙。你可能也经历过:模型代码写完了,数据管道跑通了,满心欢喜地按下训练启动脚本,结果几秒钟后终端弹出一行红字——C…

2026/10/2 0:00:20 阅读更多 →
小样本学习数据集选型指南:27个真正可用的高质量数据集

小样本学习数据集选型指南:27个真正可用的高质量数据集

1. 小样本学习的“弹药库”:为什么你总在找数据集,却总找不到真正能用的? 小样本、数据集——这两个词最近半年在我处理的200多个AI项目咨询里,出现频率排进前三。不是模型调不好,不是代码写不对,而是卡在…

2026/10/2 0:00:20 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 19:40:48 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/1 19:41:40 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/1 20:05:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 5:26:06 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 6:09:11 阅读更多 →