2024年学MySQL 5.5,到底在学什么
如果你现在打开搜索引擎查MySQL安装教程,翻三页基本都是MySQL 8.0的天下——带可视化安装界面、有专门的配置工具、默认字符集就是utf8mb4,装完几乎不用动脑子就能跑起来。结果你的实验报告上写着“MySQL 5.5”,是不是有一种手握大哥大却要学5G通信的错位感?
我第一次在Windows上装5.5也经历过这个困惑。但真把这个老版本从头到尾装完、配完、跑通,你会发现自己对MySQL的理解反而比直接用8.0更扎实。为什么?因为5.5恰好处在一个分水岭上:它既是MyISAM时代向InnoDB时代切换的关键版本,又是MySQL被Oracle收购后第一个稳定大版本,很多你在教材里看到的经典理论和参数,比如事务、外键、字符集、存储引擎,在这个版本里都有最直观的体现。
这篇文章不是让你在生产环境里用它,而是基于“MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置”这个实验场景,把从下载到配置验证的全链路走一遍。文章面向的是刚接触数据库、或者学校实验课还在用老版本的同学们,也适合那些手头有老项目需要维护、被迫折腾5.5的运维新人。我会把每个关键步骤背后的原因讲清楚,而不是机械地让你点“下一步”。
安装包选择与环境准备:先弄清楚电脑能不能装
1.1 去哪下载、下载哪一个
虽然MySQL官网现在主推8.0和9.x,但历史版本都放在官网的存档区里。直接打开MySQL官方的Download页面,翻到底部找到Archives入口,然后按下图路径选择:
- Product Version:选择 5.5.62(这是5.5系列的最后一个维护版本,修了大量历史bug,比早期5.5.20之类的好用得多,实验课用足够了)
- Operating System:选择 Microsoft Windows
- OS Version:根据你电脑是32位还是64位来选(32位系统装不了x64的包)
需要注意,5.5.62的Windows安装包有两种格式:一个是.msi安装包(图形化引导安装),一个是.zip免安装包。实验课强烈推荐用.msi,因为5.5的zip包需要手动初始化数据目录、手动注册Windows服务,对新手不友好;而.msi自带安装向导和配置向导,虽然界面老旧,但是每一步都有提示,不容易漏东西。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
1.2 安装前的三条硬检查
在双击安装包之前,我建议你先花两分钟做三个检查,能避免后面80%的坑:
第一,确认系统类型。 按下Win + Pause键(或者右键“此电脑”->“属性”),看“系统类型”是x64还是x86。MySQL 5.5的安装包分32位和64位,装错了会直接提示“不是有效的Win32应用程序”。虽然现在新电脑基本都是64位,但这个检查花不了10秒钟。
第二,检查是否装了老版本或残留文件。 如果之前装过MySQL(不管什么版本),最好先彻底卸载干净再装5.5。很多同学在实验课上遇到“服务启动失败”或者“端口被占用”,就是因为之前装过更高版本的MySQL,服务和注册表没删干净。具体清理方法我在本文最后一章展开,这里先留个印象。
第三,管理员权限。 5.5的.msi安装包需要在Windows 10/11上以管理员身份运行。不是双击,而是右键安装包 ->“以管理员身份运行”。这个细节在XP时代无所谓,但在Win10/11上如果你用普通权限安装,后面配置向导很可能没权限写入系统服务,导致安装流程中断或者服务起不来。实测下来,直接双击安装的报错率比管理员运行高出一大截,所以别嫌麻烦。
第四(加分项),把安装路径尽量安排在纯英文目录。 比如 C:\mysql5.5 或者 D:\MySQLServer5.5。不要带中文,也不建议装到 C:\Program Files (x86) 这种带空格和括号的路径。老版本软件对路径特殊字符的兼容性不好,后面配 my.ini、写配置文件时,一个空格就可能让你排查半天。虽然理论上Program Files也能装,但实验课时间宝贵,不值得在这个细节上冒险。
1.3 .NET Framework与VC++运行库的小事
MySQL 5.5的安装向导依赖.NET Framework 2.0的组件,在Windows 10/11上这个组件默认是不开启的。如果安装向导卡在启动阶段或者报类似“0xc000007b”的错误,你需要先到“控制面板”->“程序”->“启用或关闭Windows功能”里,勾选“.NET Framework 3.5(包括.NET 2.0和3.0)”。这一步会弹窗提示联网下载组件,等它装完再重新运行MySQL安装包。
另外,如果你的电脑是精简版系统(比如某些Ghost封装系统),可能缺Visual C++运行库,最保险的做法是装完.NET之后再用DirectX修复工具扫一遍运行库,或者直接把“微软常用运行库合集”装上。这个步骤不是每次都需要,但遇到启动报错时优先往这个方向排查,能节省大量时间。
安装过程中的五个关键决策点
2.1 Setup Type选Typical还是Custom
5.5的安装包启动后会进入一个Setup Type选择界面,给你三个选项:Typical、Complete、Custom。
很多教程会让你选Typical(典型安装),省事,但我建议选Custom(自定义)。原因有两个:一是Typical默认把程序装到C盘,数据文件也在C盘,实验课一学期下来会产生大量binlog和临时文件,C盘容易告急;二是Custom可以顺手把“MySQL Documentation”这些用不到的组件去掉,让安装目录更干净。
选Custom之后,组件列表里有几个东西:MySQL Server(核心服务)、MySQL Workbench(图形管理工具,5.5的安装包自带的是老版本Workbench 5.2,不好用但能用)、MySQL Documentation(离线文档)、MySQL Installer(旧版的安装器插件)。实验只需要保留MySQL Server就够了,Workbench可以装也可以不装;如果不想装Workbench,后面用命令行操作也完全没问题,我在第4章会给出一套纯命令行的验证方案。
安装路径建议设置为 C:\mysql5.5 或 D:\MySQL5.5。这里有个小细节:MySQL的数据目录默认在安装目录下的data文件夹里,所以在设置安装路径时,你要想好这个目录既承载程序又承载数据,预留至少2GB空间。
2.2 实例配置向导:一步一步都在问什么
装完程序文件后,5.5会自动弹出“MySQL Instance Configuration Wizard”(实例配置向导),这是整个安装过程最核心的环节。界面上虽然是一串“Next”,但每个页面都对应一个关键配置,我逐个说:
首先是Configuration Type(配置类型)。 它问你选Detailed Configuration(详细配置)还是Standard Configuration(标准配置)。标准配置是一键生成默认配置,适合只想快点跑起来的场景;但我强烈推荐Detailed Configuration,因为实验课的核心考察点之一就是“你会不会配置”,你总得知道每个选项是干什么的。
然后是Server Machine Type(服务器类型)。 三个选项:Developer Machine(开发机)、Server Machine(服务器)、Dedicated MySQL Server Machine(专用数据库服务器)。这其实在问“这台机器上除了MySQL还跑不跑别的东西”,来决定MySQL吃多少内存。实验课选Developer Machine即可——它把InnoDB缓冲池等参数调得非常保守(默认几百MB以内),避免影响你电脑上其他软件,也更符合实验课的场景。
接着是Database Usage(数据库用途)。 三个选项:Multifunctional Database(多功能)、Transactional Database Only(仅事务处理)、Non-Transactional Database Only(仅非事务处理)。选Transactional Database Only是最贴近教科书场景的——它会把InnoDB作为默认存储引擎,同时保留MyISAM支持。实验课里既要练事务又要查引擎差异,这个选项最合适。
再往后是InnoDB Tablespace Settings(InnoDB表空间设置)。 这一步会问InnoDB数据和日志文件放到哪,默认在MySQL安装目录的data文件夹下,保持默认即可。不要在这个实验阶段去动“单独指定表空间路径”一类的功能,那是生产环境才需要的高阶玩法。
2.3 字符集选择:乱码问题的根子在这
Character Set(字符集)页面是整个安装向导里最关键的设置。 5.5默认的字符集是latin1,如果你一路Next不改,建库建表后输入中文会变成乱码或问号。网上搜“mysql 5.5乱码”能搜出一大堆,绝大多数都是因为安装时没在这里改字符集。
在这个页面有三个单选项:
- Standard Character Set(标准字符集,即latin1)
- Best Support For Multilingualism(多语言最佳支持,即UTF-8)
- Manual Selected Default Character Set / Collation(手动选择字符集和排序规则)
我建议选第二项“Best Support For Multilingualism”,它会把服务器端和客户端的默认字符集设为utf8,省心。如果你想更精细地控制,选第三项然后手动把Character Set改为utf8,Collation选utf8_general_ci(这是MySQL 5.5时代最常用的排序规则,不区分大小写,适合学习场景)。
提示:这里把字符集设为utf8,指的是整个MySQL服务端的默认字符集。实际建库时你还可以单独指定
DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci。实验课只要在安装向导里选对了,建库时不写字符集关键字也不会乱码。
2.4 网络选项与服务名设置
接下来的页面叫“Networking Options”,主要有两个设置:
TCP/IP Port,默认是3306,一般不需要改。但如果你电脑上已经装了其他版本的MySQL,或者有软件占用了3306端口,就需要改一个不冲突的端口,比如3307。判断端口是否被占用的方法很简单:命令行里输入netstat -ano | findstr 3306,有结果说明端口被占;没输出说明空闲,放心用默认值。
“Enable Strict Mode”,这个选项官方解释是“启用严格模式”,让MySQL在数据长度超限、非法日期等情况下报错而不是默默截断。实验课建议勾上,因为教材上的SQL练习讲的大多是标准SQL行为,严格模式能让你尽早发现写错了,而不是数据入库之后才察觉异常。等你以后做项目开发再权衡要不要关掉它。
然后设置Windows Service Name,默认是MySQL,这个名字就是之后在Windows服务里看到的名字。实验建议保持默认;但如果之前装过残留的MySQL服务,这里就要换个名字,比如MySQL55,避免冲突。
2.5 安全选项与Root密码
安全设置页(Security Options)会让你设置root用户的密码。这里有几个选项:
- Modify Security Settings:设置root密码,实验课强烈建议设置,因为这是你学习用户管理的基础。
- Enable root access from remote machines(允许root从远程机器访问):实验课不要勾,这是生产环境的做法,本机实验完全不需要,勾上反而多了安全风险。
- Create An Anonymous Account(创建匿名账户):也不要勾。匿名账户意味着任何人在本机不用密码就能连上数据库,这在实验环境里容易引发安全问题,而且和教材里的用户权限管理章节会冲突。
密码建议记在实验报告里,否则第二天上课忘了密码就只能走“跳过授权表”的恢复流程了。
2.6 执行安装的最后一个动作
所有配置完成后,向导会显示一个“Please press Execute to begin installation”的界面,列出两条配置项:“Initialize MySQL Database”和“Write configuration file”。确认无误后点击Execute,等待进度条跑完。
这里有一个常见的失败点:执行中途报错“The service cannot be started”。 如果你遇到这种情况,先别卸载重装。大概率是之前装过MySQL,旧的配置文件或者数据目录还在,新服务启动时读取了旧配置导致冲突。可以先用Windows服务管理器看看有没有旧的MySQL服务,有的话先删除;再把旧的安装目录和data目录重命名备份。折腾一轮再重新执行配置向导。第6章会给一个更完整的排查路线图。
环境变量、命令行与第一个SQL验证
3.1 配置PATH,让mysql命令全局可用
安装配置完成后,紧接着要做的就是把MySQL的bin目录加到系统环境变量PATH里。否则你每次在cmd里输入mysql都要先切到安装目录,麻烦不说,还容易因为目录不对而误以为安装失败。
操作步骤:
- 右键“此电脑”->“属性”->“高级系统设置”->“环境变量”。
- 在下方的“系统变量”列表里找到
Path,双击编辑。 - 点击“新建”,填入MySQL的bin目录路径。如果你安装路径是
C:\mysql5.5,那就填C:\mysql5.5\bin。 - 确定保存后,重新打开一个新的cmd窗口(注意:旧窗口不会加载新环境变量),输入
mysql --version,能看到mysql Ver 14.14 Distrib 5.5.62就说明成功了。
这一步虽然不复杂,但实验课的验收环节经常会问“怎么在任意路径下执行mysql命令”,所以会配置环境变量本身也是一个考点。
3.2 服务启动与关闭的正确姿势
MySQL安装后默认注册为Windows系统服务,开机自启动。实验课建议手动控制服务,方便你观察“服务没起来会导致数据库连不上”这个现象。
在管理员身份的cmd窗口里:
bash复制:: 启动MySQL服务
net start MySQL
:: 停止MySQL服务
net stop MySQL
:: 查看服务状态
sc query MySQL
如果你在安装时把服务名改成了MySQL55,命令里的服务名要对应改。用net start启动成功会提示“MySQL 服务正在启动... MySQL 服务已经启动成功”。
注意:
net start MySQL需要管理员权限的cmd才能执行。普通权限下会提示“发生系统错误 5,拒绝访问”。这是Windows的用户权限控制,不是MySQL坏了。
另外一个排查技巧:如果net start报“服务名无效”,你可以打开服务管理器(Win+R输入services.msc)看看列表里到底注册的服务名是什么,名字一定要精确匹配。服务管理器里还能设置启动类型(自动/手动/禁用),实验课建议设为“手动”,避免开机一堆进程拖慢系统。
3.3 登录、查版本、建库建表的一套验证流程
服务启动后,打开cmd,输入:
bash复制mysql -u root -p
按提示输入你在安装向导里设置的root密码,看到类似下面的提示就说明登录成功:
code复制Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.62-log MySQL Community Server (GPL)
接下来我建议执行一套最小的“安装成功验证清单”,每一句都有明确的目的:
sql复制-- 查看当前MySQL版本
SELECT VERSION();
-- 查看服务器端默认字符集
SHOW VARIABLES LIKE 'character_set_server';
-- 查看所有数据库
SHOW DATABASES;
-- 建一个实验数据库
CREATE DATABASE IF NOT EXISTS test_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 切换数据库
USE test_db;
-- 建一张学生表,验证InnoDB引擎
CREATE TABLE student (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age TINYINT
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 插入一条中文数据,验证字符集是否正常
INSERT INTO student(name, age) VALUES('张三', 20);
-- 查询验证
SELECT * FROM student;
这里有一个细节:在5.5里,ENGINE关键字是明确指定存储引擎的方式。如果你在安装向导里选的是Transactional Database Only,那么不写ENGINE=InnoDB,默认也是InnoDB。但实验课上我建议每次都显式写出来,因为这是考试和面试常问的点。
如果以上SQL语句全部执行成功,最后SELECT * FROM student能看到正常显示“张三”而不是???,那你的MySQL 5.5安装配置算是真正过关了。
深入my.ini:读懂配置文件才算学会配置
4.1 my.ini在哪、谁在读它
很多教程装完MySQL就结束了,但“安装与配置”这个实验标题里的“配置”,核心其实是理解并修改my.ini文件。my.ini是MySQL在Windows上的主配置文件,相当于MySQL的“启动参数说明书”。MySQL服务在启动时会按固定顺序查找它:首先是C:\Windows\my.ini(系统目录),然后是安装目录下的my.ini,最后是my.cnf。
5.5的安装向导会自动生成一个my.ini放在安装目录下(比如C:\mysql5.5\my.ini)。你可以用记事本打开它,里面分了几个类,比如[client]是客户端配置,[mysqld]是服务器端配置。实验课改配置主要改[mysqld]段。
4.2 你必须认识的几个参数
以下是我认为实验课阶段必须掌握的配置项,每个的参数含义我都加了说明:
| 配置项 | 含义 | 实验推荐值 |
|---|---|---|
port |
MySQL服务监听端口 | 3306 |
basedir |
MySQL程序安装目录 | 你的安装路径,如C:/mysql5.5 |
datadir |
数据文件存放目录 | 默认在basedir下的data目录 |
character-set-server |
服务器端字符集 | utf8 |
default-storage-engine |
默认存储引擎 | InnoDB |
max_connections |
最大并发连接数 | 100(开发机默认值) |
innodb_buffer_pool_size |
InnoDB缓冲池大小,决定缓存索引和数据的内存量 | 设置物理内存的50%~70%(开发机建议256M或512M) |
skip-external-locking |
跳过外部锁,避免多进程访问冲突 | 通常默认开启 |
这里特别说明一下character-set-server和安装向导里的字符集的关系:安装向导设置的字符集本质上就是写入这个配置项。你事后改配置文件同样生效,但改完必须重启MySQL服务。实验课上如果发现字符集设置不对,直接用这个配置项改是最快的。
4.3 一个实验用my.ini配置模板
下面给出一份针对实验课环境精简过的my.ini配置,直接在安装目录下新建my.ini(如果向导已经生成,就编辑它),把内容替换成下面并保存:
ini复制[client]
port=3306
default-character-set=utf8
[mysqld]
basedir=C:/mysql5.5
datadir=C:/mysql5.5/data
port=3306
character-set-server=utf8
default-storage-engine=InnoDB
max_connections=100
skip-external-locking
# InnoDB缓冲池,根据你的内存调整,示例为512M
innodb_buffer_pool_size=512M
# 错误日志
log-error=C:/mysql5.5/data/mysql_error.log
配置完成后,重启MySQL服务:
bash复制net stop MySQL
net start MySQL
然后用mysql -u root -p重新登录,执行:
sql复制SHOW VARIABLES LIKE 'character_set_server';
看结果是否为utf8。这一步是“配置是否生效”的最直观验证。
4.4 改配置后起不来怎么办
编辑my.ini后如果MySQL服务起不来,大多数人第一反应是“我把配置改坏了”,其实不一定是。有几种常见情况:
一是配置项写错了。 比如把character-set-server写成了character-set = utf8,或者把路径里的斜杠写反了。MySQL的配置项对拼写非常敏感,一个字母不对就会启动失败。
二是数据目录权限问题。 如果my.ini里指定的datadir目录不存在,或者MySQL服务账户没有该目录的权限,服务也会启动失败。最简单的排查方式是在配置文件里把log-error指向一个日志文件(上面模板里已经写了),然后启动服务,打开日志文件看报错原因。日志里会直接写“unknown variable”或者“Can't find file”之类的关键词,直指问题根源。
三是一个隐藏很深的坑:配置文件的编码格式。 用记事本编辑my.ini时,如果另存为UTF-8 with BOM格式,MySQL读取时会把BOM头当配置内容,启动就会报错。正确做法是保存为ANSI编码,或者用Visual Studio Code、Notepad++这类编辑器把编码设为UTF-8 without BOM。
实验中最容易踩的四个坑:完整的排查链路
5.1 坑一:中文乱码——从安装阶段就埋下的雷
现象: 插入中文后查询返回???或å¼ ä¸一类的乱码。
根因分析: MySQL乱码基本是“三层字符集不一致”导致的:客户端输入字符集、服务器端字符集、数据库/表字符集,只要有一层不统一,就会出现乱码。最典型的情况是安装向导里选了默认的latin1,然后客户端输入中文,MySQL用latin1解释字节序列,存进去的自然就是乱码。
排查链路:
- 先用
SHOW VARIABLES LIKE 'character%';查看所有字符集相关变量。重点看character_set_client、character_set_connection、character_set_results和character_set_server。 - 如果
character_set_server不是utf8,把my.ini里的character-set-server=utf8写入并重启服务。 - 如果服务器端正确了,但客户端还是乱码,登录后先执行
SET NAMES utf8;,再重新查询。这个命令是同时设置客户端、连接、结果三个字符集的快捷方式。 - 如果是已经建好但字符集错误的表,可以用
ALTER TABLE student DEFAULT CHARACTER SET utf8;修改表格默认字符集,但已存的数据需要重建或转换。
个人经验: 与其事后修,不如安装时就把字符集选对。90%的课程乱码问题都出在安装向导那一步,所以我在第2章花了很多篇幅强调字符集选择,这个坑值得在开头就避开。
5.2 坑二:“服务启动失败”或“服务名无效”
现象: net start MySQL提示“服务名无效”或“服务无法启动”。
排查链路:
- 先确认服务名是否拼写正确。打开
services.msc,在服务列表里搜索MySQL,看注册的服务名到底是MySQL还是MySQL55。 - 如果服务存在但启动失败,打开事件查看器:Windows日志 -> 应用程序,找到关于MySQL的报错。或者直接看my.ini里指定的
log-error文件。 - 服务启动失败的常见三级原因按概率排序:配置文件语法错误(比如路径带空格或引号不对)-> 数据目录权限不足 -> 端口占用。对应处理方式:逐行核对my.ini、给data目录添加Network Service账户的完全控制权限、换端口或杀掉占用进程。
- 如果服务在列表里压根不存在,说明安装时的实例配置阶段没有完成(比如上次安装中途报错)。不用卸载整个安装包,直接到安装目录下运行
bin\MySQLInstanceConfig.exe,重新跑一遍实例配置向导,注册服务即可。
5.3 坑三:端口被占用
现象: 启动服务时提示类似“Error: Port 3306 is already in use”,或者服务起来后连不上,但netstat发现3306被其他进程占用。
排查链路:
- 命令行执行
netstat -ano | findstr 3306,查看输出里的PID。 - 打开任务管理器 -> 详细信息,按PID排序,找到对应的进程名。
- 如果是之前残留的MySQL进程,用
taskkill /F /PID <PID>强制结束,或者用管理员权限的cmd执行net stop mysql先停掉旧服务。 - 如果确认没有别的MySQL实例,只是某个未知程序占了3306,建议直接在my.ini里把端口改成3307,然后在命令行登录时用
mysql -u root -p -P 3307。
额外提醒: 如果你之前装过MySQL 8.0,又装回5.5,8.0的默认数据目录和5.5并不兼容。最好先把8.0卸载干净(包括服务、程序目录、数据目录、注册表里的HKLM\SOFTWARE\MySQL项),然后重启电脑再装5.5。两个版本共存实验课完全没必要,反而会带来各种端口和配置文件冲突。
5.4 坑四:忘记密码
现象: 第二天上课忘了root密码,mysql -u root -p输什么都进不去。
恢复方案: 使用skip-grant-tables模式绕过权限验证,这是MySQL官方的恢复手段:
- 停止MySQL服务:
net stop MySQL。 - 打开my.ini,在
[mysqld]段末尾添加一行skip-grant-tables。 - 启动服务:
net start MySQL。 - 此时执行
mysql -u root不需要密码就能登录。 - 登录后执行:
sql复制USE mysql; UPDATE user SET password=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES; - 最后务必把my.ini里的
skip-grant-tables删掉或注释掉,重启服务。这行不删,MySQL会一直以“信任所有连接”的模式运行,非常危险。
这个坑的排查链路值得记住,虽然平时不一定用得上,但关键时刻能救命。
从装好到用好:几个值得养成的习惯
装好MySQL 5.5只是万里长征第一步,实验课后面还有建表、查询、事务、权限管理一堆内容。基于我自己的经验,分享三个小习惯:
第一个习惯:每次实验前先备份数据目录。 MySQL的数据都在data文件夹里,实验课操作失误把表删了、数据搞坏了,从备份恢复比手动重建快得多。备份不需要什么高级工具,把data目录复制一份重命名成data_backup_日期,做完实验再删掉老的备份即可。这个习惯在学期后期尤其有用,因为后期实验数据量大了,重建成本很高。
第二个习惯:用SHOW VARIABLES和SHOW STATUS验证配置,而不是靠猜。 很多同学改完my.ini重启服务后,不确定配置是否生效,就反复重启。其实用SHOW VARIABLES LIKE '参数名';一条命令就能看到当前运行时的实际值。比如验证连接数用SHOW VARIABLES LIKE 'max_connections';,验证引擎用SHOW ENGINES;。学会用这个命令,你就有了“MySQL自带的体检仪”。
第三个习惯:留一份自己的安装笔记。 把安装过程中的选项截图、my.ini内容、遇到的问题和解决办法记在实验报告或自己的笔记软件里。原因很简单:你现在的同学里,十有八九过一阵会来问你“为什么我装的MySQL连不上”,你的笔记里如果记录过排查链路,帮别人排错就是几分钟的事。而且期末复习的时候,这份笔记比官方文档更贴合你的实际环境。
我在实际带实验的过程中发现,同样一份安装配置作业,有的同学做完就忘,建库建表全凭死记;有的同学会边装边问自己“这个选项是干什么的”“哪些配置会影响哪些行为”,后者的后续学习效率高出一大截。MySQL 5.5虽然老,但它把“数据库服务端到底由哪些模块组成、每个模块有哪些可调节的参数”这个底层逻辑展现得很清楚。把这份实验吃透,后面学8.0、学MariaDB、学任何基于MySQL生态的产品,思维都是相通的。
