Windows下MySQL 5.5安装配置完全指南:从环境准备到故障排查

发布时间:2026/9/18 12:07:36
Windows下MySQL 5.5安装配置完全指南:从环境准备到故障排查 很多老机器、老项目、还有学校机房至今还在用 MySQL 5.5。别笑这东西生命力是真的长。我自己前段时间帮朋友维护一个 2014 年的 ERP 系统数据库就是 5.5Windows Server 2008 R2 上跑得好好的压根不敢乱升版本。所以这篇东西不是教大家追新纯粹是把 Windows 下 MySQL 5.5 的安装和配置掰开揉碎讲清楚把当年踩过的坑、试过的错、总结出来的经验一次性写明白。这篇文章适合谁看刚接触数据库、需要在 Windows 上搭本地环境的新手帮公司维护老系统的运维还有那些被“安装失败”“乱码”“服务起不来”折磨到怀疑人生的同学。我会从版本选择、安装包下载、图形化安装逐步拆解再到 my.ini 配置、字符集坑点、root 密码忘记怎么救、端口被占用怎么查最后给一套完整的验证方式。照着走基本能一次过。1. 安装前的准备版本选择与环境检查1.1 为什么还在用 MySQL 5.5版本怎么选先说版本选择。MySQL 5.5 有多个小版本比如 5.5.20、5.5.28、5.5.62其中 5.5.62 是 5.5 系列的最后一个版本2018 年发布的修复了大量累积的 bug 和安全漏洞。如果你必须用 5.5 系列就选 5.5.62别找那些老掉牙的 5.5.20默认配置和稳定性都有差距。安装包分两种一种是 ZIP 压缩包解压后手动初始化、手动注册服务另一种是 MSI 图形化安装包下一步下一步就行。新手优先选 MSI 安装包省心。但要注意MySQL 5.5 的 MSI 安装包和现在 8.0 的 MySQL Installer 不一样它是一个单独的.msi文件文件名类似mysql-5.5.62-win32.msi或mysql-5.5.62-winx64.msi。32 位和 64 位区分清楚别下错了。1.2 安装前必须确认的三件事第一操作系统兼容性。MySQL 5.5 官方支持 Windows XP、Vista、7、Server 2003/2008但在 Windows 10、Windows 11 上也能装只是有些细节要注意比如要用管理员身份运行安装包、可能要手动安装 VC 2010 运行库。我实测过Windows 10 专业版 21H2 上装 5.5.62 没问题。第二VC 2010 运行库。这是我最想提醒新手的。MySQL 5.5 依赖 Microsoft Visual C 2010 Redistributable Package如果系统里没有这个运行库安装过程中会报错或者安装完成后服务启动失败看 Windows 事件日志才发现是缺少 DLL。所以安装前先检查“控制面板-程序和功能”里有没有 Microsoft Visual C 2010 x86/x64 Redistributable没有就先去微软官网下载装上。第三端口和目录规划。MySQL 默认端口是 3306安装前检查一下有没有被占用。打开 CMD 输入下面命令netstat -ano | findstr 3306如果有输出说明端口被占了得找到是哪个程序或者在安装时改成别的端口比如 3307。另外建议规划好安装目录不要装在带空格的路径下比如C:\Program Files\MySQL\MySQL Server 5.5这种默认路径虽然能用但后面改配置文件、写脚本时可能因为路径里的空格出各种奇怪问题。我一般装在D:\mysql\mysql-5.5.62这种纯英文无空格路径下面省心。1.3 下载安装包的注意事项下载时认准官方地址MySQL 的存档站点是downloads.mysql.com/archives选择 Product Version 为 5.5.62Operating System 为 Windows然后根据系统位数选Windows (x86, 32-bit), MSI Installer或Windows (x86, 64-bit), MSI Installer。下载的时候要留意文件大小MSI 安装包一般 30MB 左右过小或者解压报错的包基本可以判定下载不完整。另外下载完先校验一下哈希值官方页面有 MD5 或者 SHA1 值用 PowerShell 算一下确认无误再安装这一步不能省。2. 图形化安装全流程拆解MSI 版2.1 安装向导每个界面怎么选安装包双击运行后如果弹出 UAC 用户账户控制提示点击“是”继续。如果没弹也要确认自己当前登录账户是管理员否则后面注册服务那步会报 1045 或者 5 的错误。第一步是 Welcome 界面直接 Next 进入安装类型选择。这一步有三个选项Typical典型安装、Complete完全安装、Custom自定义安装。新手选 Typical 就行所有组件会装到默认位置想自己控制安装目录和组件的选 Custom 更合适。如果选了 Custom会看到组件列表主要有这几项MySQL Server数据库服务本体必须选Client Programs客户端命令行工具必须选MySQL Documentation文档可选占空间Development Components开发库和头文件如果要用 Connector/C 开发程序就选不用可以不选MySQL Instance Configuration Wizard实例配置向导建议保留点击 MySQL Server 那行会有一个“Browse”按钮可以改安装路径。路径尽量不要有中文和空格。点击 Install 开始安装整个过程比较快一般一两分钟。安装完成后默认勾选了 “Launch the MySQL Instance Configuration Wizard”先取消勾选因为我们要先改配置文件再初始化直接进向导会按默认方式初始化后面改配置可能对不上。2.2 实例配置向导详解重新从开始菜单找到 “MySQL Instance Configuration Wizard” 打开或者在安装目录的bin文件夹下运行MySQLInstanceConfig.exe。配置向导第一步选配置方式有 Detailed Configuration详细配置和 Standard Configuration标准配置两个选项。如果只是本机学习、测试选 Standard Configuration 会直接把服务安装成 Windows 服务并设置 root 密码为空简单粗暴。但我建议选 Detailed Configuration多花一分钟每个参数都看清楚避免后期返工。选 Standard Configuration 后有个大坑它默认不勾选 “Modify Security Settings”root 密码是空的而且如果不勾选 “Enable root access from remote machines”登录时可能会遇到 1045 提示。我遇到过一个人装完 MySQL 5.5 后本地用 root 登录报 1045后来才发现是向导默认 root 密码为空但 root 账号用了 auth_socket 或 skip-grant-tables 相关机制导致密码验证失败。所以我的建议是直接选详细配置手动把密码设置好。具体步骤如下Developer Machine开发者机器表示 MySQL 用于开发测试占用内存相对较低Server Machine服务器服务器用途MySQL 会使用更大内存留给其他应用的空间变少Dedicated MySQL Server Machine专用数据库服务器所有内存几乎都给 MySQL性能最大化根据实际情况选个人学习和测试选 Developer Machine配合 InnoDB 引擎时它会限制 InnoDB 缓冲池大小在几百兆范围内不会吃掉整台机器内存。数据库用途有三个选项Multifunctional Database多功能库InnoDB 和 MyISAM 都支持、Transactional Database Only仅事务型推荐 InnoDB、Non-Transactional Database Only非事务型仅 MyISAM。5.5 时代很多人默认选 InnoDB但我这里建议按实际需求选。如果程序要事务、外键、行级锁那些特性就选第二项如果是老项目只用 MyISAM 表选第三项可以少加载 InnoDB 相关资源。等待 InnoDB 表空间设置那一步会问 “InnoDB Tablespace Settings”这个是指定 InnoDB 表空间文件的位置和大小。默认在 MySQL 数据目录下大小是 10MB 自动扩展。建议直接用默认值不用改以后数据量大了 InnoDB 会自动扩展文件。2.3 关键参数端口、字符集、服务配置接下来是并发连接数和网络选项。第一个选项是 Decision Support决策支持/ OLTP在线事务处理。5.5 的向导根据用途设置最大连接数如果选 OLTP最大连接数会设置得比较高比如 5000选决策支持会相对低一些。个人开发机用默认即可不用纠结。然后是网络配置这步很关键。默认勾选 “Enable TCP/IP Networking”端口是 3306。如果你计划本机开发不远程访问可以不勾选TCP 连接就断开了。但大多数场景建议保留因为很多开发工具比如 Navicat、SQLyog 都是通过 TCP 连接的只靠 localhost 管道有时候会出问题。接着是 “SQL Mode” 和字符集设置界面。强烈建议在这里把字符集手动设置为 utf8而不要用默认的 latin1。MySQL 5.5 的默认字符集是 latin1如果你建库建表的时候不指定字符集就会出现中文乱码。向导里下面有 “Character Set” 下拉菜单选 “Best Support For Multilingualism”也就是 UTF-8。选完后向导会在 my.ini 里写入 default-character-setutf8 这样的配置。然后是 Windows 选项配置。这里要把 MySQL 安装成 Windows 服务才能通过服务管理器启动和停止。勾选 “Install As Windows Service”服务名可以改成自己想用的名字比如 MySQL55这样以后和其他版本的 MySQL 区分。下面还有一个 “Launch the MySQL Server automatically” 选项勾上就是开机自动启动建议勾上省得每次手动启动服务。如果不勾选服务还是装了但不会开机自启需要时手动net start mysql。如果你这一步忘了勾选自动启动后面可以用命令补上sc config MySQL55 start auto再往下是安全选项“Modify Security Settings” 下面填一个 root 密码。注意千万别把密码设为空就继续。5.5 安装向导里有一个常见状况密码设置为空后面程序或工具连接报错因为没有密码也可能被拒绝取决于认证插件和端口模式。密码建议包含字母、数字、特殊符号长度为 8 位以上。下面还有个 “Create An Anonymous Account” 勾选项创建匿名账号这个不要勾会有安全隐患。全部配置完成后点 Execute 执行配置。正常情况下会看到 4 项配置任务依次打勾Prepare configurationWrite configuration fileStart serviceApply security settings如果哪一步打叉后面会详细讲排查办法。配置成功后会弹出完成界面点击 Finish 结束。3. 配置文件的深入解析与参数调优3.1 my.ini 文件位置与基本结构MySQL 5.5 在 Windows 下的配置文件名是my.ini不在安装根目录就是数据目录。如果是默认安装一般在C:\Program Files\MySQL\MySQL Server 5.5\下如果是用向导配置的它可能被写在C:\ProgramData\MySQL\MySQL Server 5.5\my.iniWindows 7 之后 ProgramData 是隐藏目录。用自定义路径安装的一般在安装根目录下。查找方式很简单在 CMD 里执行mysql --help --verbose | findstr my.ini会列出 MySQL 按顺序读取的配置文件路径第一个存在的文件就是当前生效的配置文件。my.ini 用纯文本存储里面分成几大块[client] port3306 default-character-setutf8 [mysql] default-character-setutf8 [mysqld] port3306 basedirD:/mysql/mysql-5.5.62 datadirD:/mysql/mysql-5.5.62/data character-set-serverutf8 collation-serverutf8_general_ci这个例子里的三块分别是客户端配置、MySQL 命令行客户端配置和服务器端配置。新手最容易把字符集配置写错位置后面集中说。3.2 最容易被忽略的坑字符集别只配一半MySQL 5.5 的中文乱码问题80% 是字符集配置不完整导致的。服务端字符集是 utf8但客户端连接的时候用的是 gbk 或其他编码或者建库建表的时候没指定字符集都会乱。服务端字符集设置有两种写法。老版本写法是在[mysqld]段里写default-character-setutf8MySQL 5.5 里这种写法有效。但到了 MySQL 5.6 之后default-character-set 在 mysqld 段里已经被废弃了统一用character-set-server。5.5 两种都能用但为了以后升级方便建议用 character-set-server 和 collation-server。另外[client]段的 default-character-set 影响的是所有客户端程序的默认字符集包括 mysql 命令行、mysqldump 备份程序。如果不设置mysqldump 备份出来的 SQL 文件可能没有显式的 SET NAMES 语句导致恢复到另一个库时中文乱码。所以完整配置至少要有三行[client] default-character-setutf8 [mysql] default-character-setutf8 [mysqld] character-set-serverutf8 collation-serverutf8_general_ci然后创建数据库时也主动指定一次不要偷懒CREATE DATABASE mydb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;MySQL 的 utf8 字符集实际上是 utf8mb3 的别名不支持完整的四字节 Unicode比如 emoji。5.5 里虽然有 utf8mb4但支持不完善很多 5.5 版本用 utf8mb4 会出问题。所以 5.5 上保证中英文不乱码用 utf8 就够了emoji 这种超出基础多语言平面的字符建议不要硬塞进 5.5。如果你的业务必须支持 emoji我会劝你用 5.7 以上版本。3.3 InnoDB 缓冲池和连接数到底设多大MySQL 5.5 里 InnoDB 是默认存储引擎它的缓冲池大小innodb_buffer_pool_size直接影响性能。这个参数决定 InnoDB 缓存数据和索引的内存大小设置太小时会频繁读写磁盘设置太大又可能和操作系统抢内存。个人电脑怎么定我一般这样估算如果机器内存是 4GB系统本身占用 1.5GB 左右那 InnoDB 缓冲池最大也就 1GB给点余量设 512MB 比较稳妥如果是 8GB 内存的开发机可以设 2GB给其他应用和系统留够空间。参数位于[mysqld]段innodb_buffer_pool_size 512M还要注意 5.5 的 32 位版本有内存限制单个进程最多用到 2GB 左右如果用了 32 位版本还往高了设可能直接启动失败。另一个常见参数是 max_connections最大连接数。默认值是 100对于个人开发来说够用但如果跑了一些网页应用比如 PHP-FPM 和 MySQL 在同一台机器上同时跑几百个并发那就要调高。不过一个连接会占用一部分内存设置太高内存不够反而拖垮系统。一般开发机用 100 到 200 就够了服务器按实际并发量调。日志相关的几个参数也值得看一眼log_error D:/mysql/logs/error.log slow_query_log 1 slow_query_log_file D:/mysql/logs/slow.log long_query_time 2错误日志很重要MySQL 启动失败时第一件事就是看 error.log里面会写清楚端口占用、数据库目录权限、存储引擎初始化失败等具体原因。慢查询日志是排查性能问题的利器long_query_time 设为 2 秒超过 2 秒的 SQL 会被记录下来。3.4 配置完成后一定要重启生效my.ini 修改后不会自动加载必须重启 MySQL 服务才能生效。重启有两种方式第一种用 Windows 服务管理器。WinR 输入services.msc找到 MySQL55 这个服务名字是你安装时设置的右键重启。第二种命令行方式管理员 CMD 里执行net stop MySQL55 net start MySQL55重启后检查字符集是否生效SHOW VARIABLES LIKE character_set%;正常状态应该是character_set_client | utf8 character_set_connection | utf8 character_set_database | utf8 character_set_results | utf8 character_set_server | utf8注意改完 my.ini 不代表旧连接就会自动切换所有新建的连接才会使用新字符集。如果正在运行的应用程序还保持旧连接要重启应用程序后重新建连。4. 环境变量配置与命令行工具使用4.1 配置 PATH 环境变量安装完 MySQL 后为了在任何目录下都能直接敲mysql -u root -p进入命令行要把 MySQL 的 bin 目录加入系统 PATH 环境变量。步骤是右键“此电脑” - “属性” - “高级系统设置” - “环境变量”在下方的系统变量里找到 Path 变量点击编辑在末尾加分号然后输入 MySQL 的 bin 目录路径。比如 D 盘安装的就是D:\mysql\mysql-5.5.62\bin。注意Windows 10 和 Windows 11 的 Path 编辑界面换成了列表形式不用加分号直接“新建”一行然后填入路径就行。配置完后重新打开 CMD 窗口输入mysql -V如果能输出 mysql 版本号说明 PATH 配置成功。如果提示“mysql 不是内部或外部命令”说明路径没配对或者 CMD 不是重新打开的环境变量不会自动刷新。还有一种不用配置环境变量的做法直接全路径调用命令D:\mysql\mysql-5.5.62\bin\mysql.exe -u root -p开发时每次敲全路径确实麻烦所以我建议还是配置一下环境变量一劳永逸。4.2 通过 CMD 命令行登录与基本验证配置完环境变量后登录测试mysql -u root -p回车后输入密码注意密码是看不到回显的不是键盘没反应输完直接回车。看到mysql提示符就说明登录成功了。然后依次执行下面几个命令确认安装状态SELECT VERSION(); SELECT CURRENT_USER(); SHOW DATABASES;如果版本号输出 5.5.62说明服务正常。SHOW DATABASES 会列出默认的几个库包括 information_schema、mysql、performance_schema、test 等有这些库就说明初始化完成。4.3 忘记 root 密码的应急处理忘记 root 密码这事我碰到过太多次了。MySQL 5.5 有一个老但好用的恢复办法。第一步停止 MySQL 服务net stop MySQL55第二步用跳过权限表的方式启动 MySQL。在 CMD 里进入 bin 目录执行mysqld --skip-grant-tables --skip-networking这个命令在前台运行窗口不能关。先不要执行第三步先把另外一个 CMD 窗口打开。第三步在新的 CMD 窗口里无密码登录mysql -u root第四步切换到 mysql 库修改 root 密码USE mysql; UPDATE user SET passwordPASSWORD(newpassword) WHERE userroot; FLUSH PRIVILEGES;5.5 的 user 表里密码字段叫 password不是 5.7 之后的 authentication_string版本不同别搞混。第五步回到第一个 CMD 窗口按 CtrlC 停掉 skip-grant-tables 模式的 MySQL然后正常启动服务net start MySQL55再用新密码登录验证。注意跳过权限表模式只用于紧急修复千万别在正常运行时开着否则任何人都能无密码进数据库。5. 安装配置中的高频报错与排查实战5.1 安装向导执行到 Start Service 就卡住或报错这种情况非常典型。安装 MySQL 到 Configure 阶段时其他项都打勾了唯独启动服务那一步报错错误提示一般是Could not start the service MySQL55. Error: 1067或者The service could not be started. The service did not report an error.先看错误日志日志文件在安装目录的 data 文件夹下名字是主机名加上.err后缀。用记事本打开拉到最后几行看到InnoDB: Operating system error ...或者[ERROR] Cant open the mysql.plugin table对应处理方案是不同的。最常见的两个原因是第一个data 目录权限不对。安装时如果用了 Custom 模式并修改了数据目录Windows 用户没有对该目录的完全控制权限MySQL 写不了数据文件就会启动失败。解决办法是右击数据目录选“属性” - “安全” - “编辑”给当前用户或 NETWORK SERVICE 用户加完全控制权限。第二个3306 端口被占用。用前面说的 netstat 命令确认一下如果确实被占了修改 my.ini 里的 port改成 3307 再启动。或者找到占用端口的程序结束它。实际环境中我还遇到过一次是防火墙把 MySQL 服务进程拦了。启动服务时提示失败但看错误日志又没有明显报错最后关掉 Windows 防火墙后服务秒起。如果你确认目录、端口都没问题顺手把防火墙或者安全软件对 mysqld.exe 的拦截排除掉。5.2 登录报 Access denied for user rootlocalhost登录时遇到这个错误先确认密码是否真的输对了。如果确实忘了用上面 4.3 节的办法重置。还有一种情况是 root 账户的 plugin 字段被误改了5.5 的 root 用户默认是空字符串如果你执行过各种网络上的“修复”命令可能把它改成auth_socket或caching_sha2_password。mysql 客户端不认这个插件就会拒绝登录。登录不进去只能再次 skip-grant-tables 进去查看SELECT user, host, plugin FROM mysql.user WHERE userroot;确认 plugin 是空字符串或 mysql_native_password否则改回来。5.3 中文乱码库表字符集排查程序写入中文后读出来是???或者 A基本都是字符集问题。排查顺序是先看服务端全局字符集SHOW VARIABLES LIKE character_set_database; SHOW VARIABLES LIKE character_set_server;如果显示 latin1说明 my.ini 里服务端段配置没生效检查 my.ini 是否改了正确的[mysqld]段、是否重启了服务。再看当前连接的字符集SHOW VARIABLES LIKE character_set_connection; SHOW VARIABLES LIKE character_set_results;如果连接字符集不是 utf8在 MySQL 里执行SET NAMES utf8;但注意这只是临时生效断开连接就还原。要永久生效得靠[client]段和[mysql]段的 default-character-setutf8 保证客户端连接时自动带上。最后看表结构字符集SHOW CREATE TABLE your_table;如果表定义里 CHARSET 不是 utf8说明建表时没指定。5.5 中修改已有表的字符集可以用ALTER TABLE your_table CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;这个命令不仅修改表默认字符集还会把已有 char/varchar 字段的字符集一起转换避免重复操作。5.4 常见报错速查表错误现象可能原因解决方式安装时 1067 错误服务无法启动data 目录权限不足或 my.ini 配置错误检查 .err 日志修复目录权限核对配置项登录报 1045 Access deniedroot 密码错误或 plugin 字段异常skip-grant-tables 模式重置密码修复 plugin中文乱码全局/库/表字符集非 utf8统一设置为 utf8检查客户端连接字符集3306 端口被占用其他程序占用该端口netstat 查找 PID结束进程或改端口服务启动失败日志提示找不到文件data 目录路径不对或损坏核对 datadir 路径必要时备份数据后重新初始化执行 SQL 时提示 Unknown collation排序规则不匹配指定 utf8_general_ci或保持与库一致的 collation5.5 强制修改 my.ini 后还是没生效的排查思路有一种情况是 my.ini 被改了但 MySQL 读的根本不是你改的文件。前面说过用mysql --help --verbose | findstr my.ini查看实际读取路径。常见情况是 MySQL 5.5 安装了多个实例或者之前配置向导生成了多个 my.ini而服务启动时读的是另一个。解决办法是删除或重命名多余配置文件只保留一个然后重启服务。另外注意my.ini 编码建议用 ANSI 或 UTF-8 无 BOM 保存。Windows 自带记事本保存 utf8 时会在文件开头加 BOM 标记MySQL 解析配置文件时可能把 BOM 当作配置的一部分导致启动失败或者参数值异常。写完配置后用记事本另存为编码选 ANSI最稳。6. 附win64 环境下的完整安装演示方案6.1 安装配置文件模板我把一套能直接用的 my.ini 配置贴出来使用的时候根据自身数据的路径来修改路径与缓冲池大小[client] port3306 default-character-setutf8 [mysql] default-character-setutf8 [mysqld] port3306 basedirD:/mysql/mysql-5.5.62 datadirD:/mysql/mysql-5.5.62/data character-set-serverutf8 collation-serverutf8_general_ci max_connections100 innodb_buffer_pool_size512M innodb_log_file_size48M skip-name-resolve这个模板里我特意加了 skip-name-resolve作用是跳过 DNS 反向解析。Windows 机器在部分网络环境下客户端连接进来时 MySQL 会尝试反向解析主机名如果 DNS 配置有问题会导致连接慢或者超时。加上这个参数可以加速连接代价是不能在授权表里使用主机名只能用 IP 或者 localhost。6.2 搭建后的完整验证流程安装配置完成后不要急着写业务代码先跑一遍验证流程确保每个环节都没问题。第一用services.msc确认服务状态为“已启动”。第二CMD 执行mysql -u root -p输入密码能进mysql提示符。第三执行SHOW DATABASES;看到默认库列表就说明基础没问题。第四验证字符集。执行SHOW VARIABLES LIKE %character%;所有 character_set 开头的变量都应该是 utf8 或 utf8_general_cicharacter_set_filesystem 是 binary 除外。第五创建一个测试库和测试表插入中文数据再查询CREATE DATABASE testdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE testdb; CREATE TABLE user ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL ) ENGINEInnoDB DEFAULT CHARSETutf8; INSERT INTO user(name) VALUES(张三); SELECT * FROM user;如果查询结果是“张三”而不是乱码恭喜你字符集链路是通的。第六测试应用程序远程连接如果服务器网络场景适用。关闭 Windows 防火墙或放行 3306 端口用 Navicat 或者应用程序配置好连接信息测试一下远程连接。这里提醒一下MySQL 5.5 在 5.5.6 之前的版本存在认证插件兼容问题但 5.5.62 不存在这个问题可以放心用常规客户端工具连接。6.3 数据备份的两种推荐方式装了 MySQL 后养成备份习惯是必修课。5.5 时代的备份工具是 mysqldump用法和现在区别不大。备份单个库mysqldump -u root -p --default-character-setutf8 testdb testdb_backup.sql恢复mysql -u root -p testdb testdb_backup.sql注意备份文件里要包含建库语句可以在备份命令里加上--databases参数mysqldump -u root -p --databases testdb testdb_backup.sql这样恢复时不用手动先建库。如果是老系统、生产环境我还会在备份命令里加一个--single-transaction参数这样备份时不会锁表业务可以正常读写mysqldump -u root -p --single-transaction --default-character-setutf8 --databases testdb testdb_backup.sql最后提醒一句备份出来的 SQL 文件用记事本打开时看到文件头部有类似/*!40101 SET ... */的注释这是正常现象不要删。6.4 后续扩展从 5.5 迁移到新版本的思路如果你将来需要从 5.5 升级到 5.7 或 8.0最稳妥的路径不是直接原地升级而是逻辑迁移。用 mysqldump 把 5.5 的数据导出成 SQL 文件注意要加上--default-character-setutf8参数然后在目标新版本上建好库表后通过 SQL 文件导入。直接拷贝 5.5 的 data 目录到 8.0 下是不可能启动的数据字典格式完全不兼容。迁移的时候最容易翻车的其实就是字符集。8.0 的默认字符集是 utf8mb4导入 5.5 的 utf8 数据一般没问题但反过来 8.0 里如果有四字节字符导出后再导入 5.5 就会报错。所以老系统如果长期停留在 5.5迁移这件事要专门做字符集梳理和测试不要想当然一键搞定。写在最后这套 Windows 下 MySQL 5.5 的安装配置方法我前后用了很多年从 5.5.20 到 5.5.62从 Windows 7 到 Windows 11原理性的东西基本没变过。如果你后面在配置过程中遇到什么文档里没写清楚的问题先去看 data 目录下的 .err 日志很多所谓“疑难杂症”在日志里都写得很直白。最后再分享一个小技巧安装完的第一周没事就手动备份一次数据顺便把慢查询日志打开等遇到问题往回翻的时候你会感谢当时的自己留下了这些记录。