ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

MySQL 8.0 Windows 免安装版配置指南:从下载到远程连接

MySQL 8.0 Windows 免安装版配置指南:从下载到远程连接 1. 安装前的准备版本选择与安装包下载1.1 我为什么推荐你装 MySQL 8.0 而不是 5.7先说版本选择。很多人第一次接触 MySQL 时网上搜到的教程五花八门有的让你装 5.7有的说 8.0 不兼容老项目结果白白浪费大量时间在踩版本坑上。根据我这些年实际使用和帮别人排错的经验新项目直接选 MySQL 8.0 版本没有特殊兼容性需求就别回头看 5.7 了。8.0 相比 5.7 在底层架构上做了很多实打实的改进。比如默认存储引擎 InnoDB 的优化在并发读写、事务处理上更稳支持了窗口函数和公共表表达式CTE写复杂统计查询时不再需要绕一大圈子临时表数据字典也从文件系统迁移到了统一的事务存储元数据管理更规范备份恢复的坑少了不少。更重要的是8.0 已经发布多年社区反馈和官方迭代都非常成熟网上遇到问题基本一搜就有答案实际上没有理由再去选一个老版本。另外我要特别提醒一点MySQL 8.0 默认的认证插件是caching_sha2_password跟老客户端工具比如某些老版本的 Navicat、老版本驱动存在兼容性问题后面我会专门讲怎么处理这个坑。第一次装的人如果不知道这一点很容易出现“明明密码输对了却死活连不上”的情况然后开始怀疑人生。这篇教程里我会把这个问题一起解决掉。1.2 安装包从哪里下官网下载与国内镜像下载地址这块建议直接通过搜索引擎找 MySQL 官方下载页面下载地址一般指向https://dev.mysql.com/downloads/mysql/。如果你在内网或者访问官网速度慢可以用国内几个大的开源镜像站例如清华、阿里、华为的镜像源都是同步官方版本的下载速度快得多。我自己实测下来从国内镜像下完整安装包通常只需要几秒钟到十几秒体验比直连官网好很多。下载时你会看到两种格式格式文件名示例特点MSI 安装包图形向导mysql-installer-community-8.0.xx.msi全程有界面引导自动处理依赖适合新手ZIP 压缩包免安装版mysql-8.0.xx-winx64.zip解压后手动配置干净无残留方便管理和迁移如果你追求省事、对命令不熟选 MSI 安装包跟着向导点下一步就行。但我个人更推荐 ZIP 免安装版。原因有两个第一ZIP 版所有文件都在一个目录里卸载时删除目录再清理一下服务和环境变量就干干净净不会像 MSI 那样在注册表里留下一堆残留第二ZIP 版配置步骤很清楚你能真正理解 MySQL 的目录结构、配置文件和服务之间的关系以后部署到 Linux 服务器上也更容易触类旁通。这篇教程以Windows 10/11 ZIP 免安装版 MySQL 8.0为主线来写因为我测试过绝大多数实际场景都是这个组合。1.3 安装前这几件事一定要先确认正式开始前先用两三分钟做一个环境自查可以省掉后边一大半的幺蛾子。首先确认你的系统是 64 位还是 32 位。现在主流的 MySQL 8.0 版本基本都只提供 64 位安装包如果你的电脑还在用老掉牙的 32 位系统建议先升级系统再说。查看方法很简单右键“此电脑” → “属性”在“系统类型”里就能看到。其次检查端口 3306 是否被占用。MySQL 默认监听 3306 端口如果之前装过其他数据库比如 SQL Server 也可能占用 3306或者运行了其他 Web 服务到时候服务会起不来。提前确认的方法是在命令行输入netstat -ano | findstr :3306这条命令如果有输出说明端口被占用了需要找到对应的进程并处理。我后边会详细说这个问题怎么解决。最后如果你电脑上已经装过旧版 MySQL建议先卸载干净。很多人“安装失败”其实都是旧版本的残留服务、配置文件、环境变量在捣乱。卸载的时候不仅要卸载软件本身还要手动删除C:\Program Files\MySQL或C:\ProgramData\MySQL目录检查 Windows 服务管理器里有没有残留的mysql服务如果有则用管理员命令行执行sc delete mysql把旧服务删掉再继续。还有下好的安装包和解压后的目录尽量不要放到带中文、带空格的路径里比如D:\软件\mysql这种后边配置环境变量和初始化数据目录时会引发各种莫名其妙的问题。用D:\mysql、C:\mysql或者D:\dev\mysql这类纯英文路径最稳妥。2. 完整安装流程从解压到服务启动2.1 目录规划拷贝文件与建立数据目录安装包下载好之后把 ZIP 压缩包解压。解压后你会看到一个类似mysql-8.0.xx-winx64的文件夹里面包含了bin、docs、include、lib、share等目录以及LICENSE和README文件——注意ZIP 版里面默认没有data目录和my.ini配置文件这两个东西需要你自己创建。先把整个文件夹放到你规划好的安装路径下然后给它改一个简短一点的名字方便后边配置。比如我习惯把mysql-8.0.36-winx64改名为mysql最终完整路径就是D:\mysql。这样做的好处是后续在配置文件和环境变量里输入的路径不会太冗长也能减少因路径拼写错误导致的低级问题。接下来在D:\mysql目录下新建一个data文件夹这个文件夹用来存放数据库的数据文件。虽然理论上mysqld --initialize命令在某些情况下会自动创建数据目录但我还是建议手动建好避免因为权限问题导致初始化失败。另外直接复制一份my.ini配置文件到安装目录下如果没有现成的新建一个纯文本文件然后重命名成my.ini即可。文件编码格式记得选ANSI 编码我遇到过用 UTF-8 编码保存my.ini后 MySQL 直接读不了的情况记下这个教训。2.2 my.ini 配置文件逐行拆解my.ini是整个 MySQL 实例的“总开关”绝大部分服务启动失败、字符集不对、端口冲突问题都能在这里找到原因。我从实际使用出发给出一份可以直接套用的最小配置并逐个参数解释它为什么要这么设置。[mysqld] # 设置 MySQL 的安装目录 basedirD:/mysql # 设置 MySQL 的数据存放目录 datadirD:/mysql/data # 设置端口号 port3306 # 服务端字符集 character-set-serverutf8mb4 # 默认存储引擎 default-storage-engineINNODB # 服务端默认排序规则 collation-serverutf8mb4_unicode_ci # 可选最大并发连接数 max_connections200 [client] # 客户端连接端口 port3306 # 客户端默认字符集 default-character-setutf8mb4这里有几个容易踩坑的细节我一个个说。路径写法在 Windows 上路径既可以用正斜杠D:/mysql也可以用双反斜杠D:\\mysql但千万不要写成单个反斜杠比如D:\mysql因为在 ini 文件里反斜杠会被当成转义字符处理导致路径解析错误。我见过太多人栽在这个细节上服务启动后日志里报 “basedir” 相关的错误排查半天才发现是路径写错了。utf8mb4 与排序规则character-set-server 一定用utf8mb4而不是utf8。原因很简单utf8在 MySQL 里最多只支持 3 个字节的字符遇到 emoji 表情或者一些生僻字4 字节时存入数据库会直接报错或者变成乱码。utf8mb4才是真正的“完整版 UTF-8”。排序规则我选的是utf8mb4_unicode_ci它基于 Unicode 标准排序比较准确另一种常见选择是utf8mb4_general_ci速度稍快但排序规则比较简单。一般情况下追求通用性和准确性选前者追求极致性能的场景也不差这一点点差异所以直接unicode_ci就行。max_connections默认值是 151对于开发环境、个人博客、小型业务系统基本够用。如果你的应用并发量上来了可以根据实际情况调整到 200、500 甚至更高。但是注意这个值不是越大越好每次连接都需要消耗内存连接数太高会导致数据库内存占用暴涨反而拖垮性能。我一般建议中小型项目先保持 200 左右等压测有数据了再精确调整。2.3 配置系统环境变量环境变量的作用只有一个让你在任意目录下的命令行窗口直接敲mysql、mysqld这些命令不用每次先手输完整路径。配置步骤如下右键“此电脑” → “属性” → “高级系统设置” → “环境变量”。在“系统变量”里找到Path变量双击打开点击“新建”输入你的 MySQL bin 目录路径例如D:\mysql\bin。一路点“确定”保存。这里有个很多教程没讲到的点Windows 系统变量里如果有多个版本的 MySQL 目录命令行执行mysql命令时只认排在最前面的那一个。所以如果你之前配过其他版本记得把新版本 bin 目录的优先级提到前面。在“编辑环境变量”窗口里可以通过“上移”“下移”按钮调整顺序。另外配置完环境变量后如果之前已经打开了命令行窗口需要关掉重新打开一次才能生效这个问题也经常有人问。设置好之后验证方式非常直观——重新打开一个 CMD 窗口输入mysql --version如果看到类似mysql Ver 8.0.xx for Win64 on x86_64的输出说明环境变量配置成功了。2.4 初始化数据目录mysqld --initialize 两种方式的区别这一步是整个安装流程的分水岭也是很多新手第一次“翻车”的地方。初始化数据目录的作用是生成 MySQL 运行所必需的系统库比如mysql、performance_schema、sys以及 root 用户的初始密码信息。以管理员身份打开命令行窗口右键开始菜单 → “Windows PowerShell (管理员)” 或 “命令提示符(管理员)”切换到 MySQL 的 bin 目录cd /d D:\mysql\bin然后执行初始化命令。这里有两个选择mysqld --initialize-insecure和mysqld --initialize两个命令都会创建数据目录区别在于--initialize-insecure会生成一个 root 用户密码为空。这样可以跳过找初始密码的步骤直接mysql -u root -p回车不输入密码登录适合第一次使用的人。--initialize会生成一个临时随机密码这个密码会以日志形式写到数据目录下的错误日志文件中比如D:\mysql\data\主机名.err。密码在类似[Note] A temporary password is generated for rootlocalhost: xxxxxxxx的一行里。你需要去这个文件里找密码才能登录。我的建议是新手用--initialize-insecure。因为空密码意味着登录环节少一个变量排错更容易登录成功后你立刻去修改 root 密码就行安全性上没有实质差别。我自己配环境时也基本都用这个方式省去翻日志找密码的功夫。初始化成功的话命令行没有明显报错并且data目录下会多出大量文件。如果你执行初始化时报错“由于找不到 VCRUNTIME140_1.dll”或类似字样说明系统缺少 Visual C 运行库去微软官网下载安装最新的“Microsoft Visual C Redistributable”即可。这是 Windows 版 MySQL 一个很常见的依赖问题。2.5 注册 Windows 服务并启动 MySQL数据目录初始化完成之后接下来要把 MySQL 注册成 Windows 服务。注册成服务的好处有两个一是 MySQL 可以随系统开机自启不用每次手动启动二是可以通过net start/stop mysql命令统一管理方便又规整。继续在管理员命令行里进入 bin 目录后执行mysqld --install执行成功会提示Service successfully installed.。如果看到Install/Remove of the Service Denied说明你的命令行没有以管理员身份运行关掉重开一个管理员窗口再试。注册完服务后直接启动net start mysql看到MySQL 服务正在启动、MySQL 服务已经启动成功这类提示就说明服务已经正常运转了。如果没有启动成功先不要慌八成是my.ini配置或数据目录有问题后边“常见问题”部分我会给出完整的排查方法。补充一个问题如果你下载的 MySQL 版本比较新比如 8.0.30 以上执行mysqld --install时有可能会遇到提示缺少 MSVCP140.dll 之类的依赖错误同样的思路装上对应版本的 Visual C 运行库就能解决。3. 登录验证与基础配置3.1 命令行第一次登录服务启动成功后验证数据库是否能正常连接这一步能带给你最直接的“安装成功”的感觉。重新打开一个普通命令行窗口不必是管理员直接输入mysql -u root -p因为之前用了--initialize-insecure初始化密码是空的所以它会提示Enter password:这时候什么都不输入直接按回车就能进入 MySQL 命令行提示符mysql。看到这个提示符恭喜你MySQL 已经安装成功了。如果你用的是--initialize方式那就要先去data目录下的.err文件里找临时密码。打开方式可以用记事本直接打开也可以用命令type D:\mysql\data\*.err | findstr password找到临时密码后复制粘贴到登录提示处注意Windows 命令行里粘贴密码是看不到任何回显的这很正常不要怀疑自己没输进去。3.2 修改 root 密码与安全加固不管是用空密码还是临时密码登录的接下来第一件要做的事就是设置一个可靠的 root 密码。在mysql提示符下执行ALTER USER rootlocalhost IDENTIFIED BY 你自己设定的密码;然后执行FLUSH PRIVILEGES;让权限变更立即生效。注意MySQL 8.0 里设置 root 密码不能再用老版本的SET PASSWORD FOR rootlocalhost PASSWORD(xxx)语法因为PASSWORD()函数在 8.0 里已经被移除了。用上面说的ALTER USER方式是官方推荐的做法。关于密码强度MySQL 8.0 默认安装了密码校验组件validate_password要求密码里至少包含大写字母、小写字母、数字和特殊字符中的三类并且长度不少于 8 位。如果你只是想搭个本地开发环境密码设得比较随意修改时会收到类似ERROR 1819 (HY000): Your password does not satisfy the current policy requirements的报错。这种情况下你可以降低验证强度也可以设一个满足规则的密码我建议直接设一个稍微复杂点的密码省得以后麻烦。出于安全考虑root 用户一般只建议在本地使用远程连接时最好创建一个权限受控的专用账号。创建用户的命令如下-- 创建一个允许从任何主机连接的用户 CREATE USER dev% IDENTIFIED BY Dev2024pass; -- 给这个用户授予所有库的所有权限仅作演示生产环境建议按需授权 GRANT ALL PRIVILEGES ON *.* TO dev% WITH GRANT OPTION; FLUSH PRIVILEGES;这里dev%中的%表示不限主机如果你的业务只在特定 IP 上连接最好把%换成具体 IP比如dev192.168.1.100减小暴露面。3.3 远程连接还需要处理的两道关卡如果你需要从别的机器连接到这台 MySQL 服务器光创建远程用户还不够还有两关要过。第一关是 MySQL 自身的监听地址。默认情况下my.ini里没有配置bind-address时MySQL 8.0 默认监听所有网卡问题不大。但如果你的my.ini里有bind-address127.0.0.1这一行那就只能本机访问了远程连接一律连不上。解决办法是把这一行注释掉或者指定成0.0.0.0表示监听所有地址。第二关是 Windows 防火墙。连接远程 MySQL 时如果一直卡住不响应或者直接报连接超时大概率是防火墙拦截了 3306 端口。解决办法是去“Windows 防火墙 → 高级设置 → 入站规则”里新建一条规则放行 TCP 3306 端口。操作路径虽然有点长但很直观入站规则 → 新建规则 → 端口 → 下一步 → 协议选 TCP、特定本地端口填 3306 → 允许连接 → 应用到所有配置文件 → 给规则起个名字比如“MySQL 3306” → 完成。做完这两步远程客户端才能正常连上。当然生产环境的服务器端口暴露面越小越好如果没有远程需求保持防火墙拦截状态反而是更安全的选择。4. 常用连接工具与图形化配置4.1 命令行快速验证确认安装没有问题安装完成后强烈建议先在命令行里做一次全面的快速验证确保服务状态、版本、字符集、存储引擎这些核心指标都符合预期。进入 MySQL 命令行后依次输入下面几行检查输出-- 查看当前版本 SELECT VERSION(); -- 查看默认字符集 SHOW VARIABLES LIKE character_set_server; -- 查看默认存储引擎 SHOW VARIABLES LIKE default_storage_engine; -- 查看当前连接数等状态 STATUS;执行结果显示8.0.xx、utf8mb4、InnoDB基本可以确认你的安装和配置是完整可用的。另外建议顺手执行一条简单的查询SELECT NOW();能正常返回当前时间说明数据库的读写链路也是通的。4.2 图形化工具推荐Workbench 与 Navicat 的差异命令行虽然“硬核”但日常开发调试时用图形化工具会更直观。官方推荐的MySQL Workbench是免费开源的功能完整支持 ER 图设计、SQL 开发、数据库迁移等适合不介意界面稍微朴素一点的用户。它的下载地址在 MySQL 官方页面就能找到安装流程一路下一步没有任何暗坑。如果你更习惯Navicat这类商业化工具也能正常使用但我遇到的绝大多数连接问题反而出现在这里——因为老版本的 Navicat 客户端不兼容 MySQL 8.0 的默认认证插件。连接时如果报错Authentication plugin caching_sha2_password cannot be loaded可以参考 2059 错误场景逐一排查错误场景核心问题解决方案连接报 2059 错误客户端不兼容 MySQL 8.0 默认认证插件升级客户端到最新版或改动密码认证方式为mysql_native_password密码确认无误但连接被拒绝认证插件不匹配在 MySQL 中执行ALTER USER 用户名主机 IDENTIFIED WITH mysql_native_password BY 密码;网络连接超时防火墙/安全组拦截检查 3306 端口防火墙规则确认服务器是否监听对应网卡关于认证插件我再多说一句。caching_sha2_password是 MySQL 8.0 默认的认证方式安全性和性能都比老版本的mysql_native_password好。但因为兼容性原因很多老工具只认识后者。我的建议是优先考虑升级工具版本让工具去适配新标准如果由于某些原因工具版本没法升级比如公司内部强制使用老版本客户端再通过ALTER USER ... IDENTIFIED WITH mysql_native_password BY ...的方式把用户的认证插件改回去。这里要注意改回去之后密码也会跟着重置需要同步更新业务系统的连接配置。4.3 使用 Workbench 连接并验证如果你选择用 Workbench打开后点击主界面的加号图标新建连接填写Connection Name随意起个名字比如Local MySQLHostname127.0.0.1Port3306UsernamerootPassword点击 “Store in Vault” 输入之前设置的 root 密码填完后点 “Test Connection”正常会弹出一个绿色的 “Successfully made the MySQL connection” 提示。如果测试失败先对照上面那张表格排查认证插件和防火墙问题。连接进入主界面后你可以看到左侧的SCHEMAS面板右键新建一个测试数据库跑几条 SQL确认一切正常后整个安装配置流程就算圆满结束了。5. 常见问题与排查技巧实录这一部分我整理了在实际安装和使用 MySQL 过程中遇到频率最高的几个问题每一个都是我亲自踩过坑或者帮别人排查过的按出现频率排序方便你直接对照速查。5.1 服务启动失败错误日志到底在哪里看无论你用net start mysql还是直接在服务管理器里启动一旦失败第一反应不应该是重启电脑或者重装软件而是去看错误日志。MySQL 的日志文件位置一般在初始化时指定的datadir目录下文件名形如主机名.err。比如我的电脑主机名是DESKTOP-ABC123那日志文件就是D:\mysql\data\DESKTOP-ABC123.err。用记事本或者命令行查看日志末尾内容type D:\mysql\data\DESKTOP-ABC123.err | findstr ERROR最常见的几种启动失败原因包括my.ini 里 basedir 或 datadir 路径写错了。比如用了单个反斜杠或者指向了一个不存在的目录。日志里会明确提示找不到路径。data 目录权限不足。Windows 下偶尔会有这种情况给 data 目录添加当前用户的完全控制权限即可。端口冲突。错误信息会提示Error: bind failed或者Port already in use。此时用netstat -ano | findstr :3306找到占用进程的 PID再到任务管理器里确认是什么程序一般就能解决。上次异常关闭导致数据文件损坏。如果初始化后第一次启动成功过突然某次启动失败检查日志里是否有innodb_force_recovery的相关信息必要时可以临时加一行innodb_force_recovery1把库读起来再备份修复但恢复正常后要立刻移除这个参数它只在恢复模式下使用。5.2 root 密码忘记或丢失怎么重置这个场景太常见了项目对接时发现 root 密码没人记得或者换人交接时没留密码文档。重置密码的核心思路是在跳过权限验证的模式下启动 MySQL修改密码后再恢复权限验证。具体步骤首先停止 MySQL 服务net stop mysql以跳过权限验证的方式启动 mysqld。打开管理员命令行执行mysqld --skip-grant-tables注意执行后这个命令行窗口会一直挂着不要关相当于 MySQL 进入了单机维护模式。重新打开一个命令行窗口无密码登录mysql -u root -p遇到密码提示直接回车。在 MySQL 命令行里清空 root 密码并刷新权限FLUSH PRIVILEGES; ALTER USER rootlocalhost IDENTIFIED BY 新密码; FLUSH PRIVILEGES;关闭维护模式的窗口正常启动服务net start mysql这里要特别提醒--skip-grant-tables模式下任何本机用户都可以无密码登录非常危险千万不要在公网或者生产环境使用这个参数最好只在内网维护窗口期内临时使用改完密码后立即恢复。另外重置密码时如果系统报错说 root 账户的认证插件需要显式指定可以在ALTER USER语句中加上IDENTIFIED WITH mysql_native_password BY 新密码试试。5.3 端口被占用怎么安全地换一个端口如果你的 3306 端口被其他程序占用比如同时装了两个版本的 MySQL或者安装了带有内嵌数据库的软件有两种处理方式杀掉占用进程或者给 MySQL 换一个端口。杀进程的方式就是找到 PID 后结束任务netstat -ano | findstr :3306 taskkill /PID 进程号 /F如果是其他数据库实例占用一定要确认可以安全结束再执行别把正在跑的业务停了。如果更希望保留原有程序那就换端口。修改my.ini中的port3306为其他端口比如 3307同时确保[client]部分的 port 也改成一样的。改完后重启 MySQL 服务后续连接时在客户端工具里填新端口就行。我的习惯是如果一台机器只跑一个 MySQL 实例坚持用默认 3306减少不必要的记忆成本如果是多实例部署则每个实例各用一个独立端口并在命名上区分清楚防止混淆。5.4 字符集不对导致中文乱码怎么一次性解决中文乱码的根因几乎都是“写入时的编码”和“读取时的编码”不一致。如果你在建库建表之前就按我前面那样配置了my.ini里的character-set-serverutf8mb4和客户端default-character-setutf8mb4一般不会出问题。但如果你在配置之前就建好了库表要注意以下几个方面确认数据库、表、字段三级字符集SHOW CREATE DATABASE 库名; SHOW CREATE TABLE 表名;如果显示的是latin1或者其他非 utf8mb4 的字符集需要用ALTER DATABASE和ALTER TABLE语句转换。确认连接字符集SHOW VARIABLES LIKE character_set_connection;在命令行里最好在登录后执行SET NAMES utf8mb4;确保本次会话的字符集正确。使用 Connector/JJava或 mysql-connector-python 时也要在连接 URL 或 DSN 中显式指定字符集参数比如?characterEncodingutf8。应用层入口文件的编码也要统一。比如 Java 项目的.java文件、Python 项目的.py文件统一保存为 UTF-8避免向数据库写入时中文已经被转成了未知字符。这套组合拳打下来中文乱码问题基本可以根治。如果还有个别字段乱码多半是历史数据本身已经“脏”了需要清理后再按正确编码重灌。5.5 初始化时报错、安装服务失败等问题的快速排查表为了让你排查得更高效我把前面提到的问题和对应的解法整理成一张速查表遇到问题时逐行对照命中率非常高。症状可能原因快速解法mysqld命令提示“不是内部或外部命令”环境变量未配置或未重新打开窗口确认Path包含bin目录重新打开命令行mysqld --initialize报缺少 DLL系统缺少 Visual C 运行库安装最新版 VC Redistributablemysqld --install提示拒绝访问未使用管理员身份执行以管理员身份重新打开命令行net start mysql启动后立即停止my.ini路径不对或data目录异常查看.err日志修正路径必要时删除data重新初始化mysql -u root -p输入密码回车后报 1045密码错误或认证插件问题确认密码必要时用--skip-grant-tables重置远程连接超时或拒绝防火墙拦截 / MySQL 地址未监听配置防火墙入站规则检查bind-address图形工具连不上报 2059认证插件兼容性问题升级客户端或改用mysql_native_password排查问题最忌讳上来就“重装大法”绝大多数 MySQL 安装问题都可以通过查看错误日志和逐步缩小范围的方式解决。日志永远是第一排查入口磨刀不误砍柴工。6. 写在最后的一点实战经验这篇教程写到这里核心的安装配置流程和常见问题都已经覆盖了。最后再分享一个我每次装完 MySQL 后都会做的小动作在my.ini中开启通用查询日志general-log1和数据目录的备份计划。通用日志在开发阶段能帮你看到所有实际执行的 SQL排查业务调用的 bug 时特别好用等项目稳定上线前再关掉避免日志膨胀拖慢磁盘。另外如果你是给团队搭建统一的数据库环境强烈建议把my.ini、初始化和授权命令整理成一个 markdown 文档放进项目仓库里人工“口口相传”的配置方式最容易出错也最容易因为时间久远而变得不可追溯。标准化、文档化、版本化这三件套远比单独一次安装成功更有长期价值。MySQL 的安装配置只是个起点真正花时间的永远在后边的索引设计、查询优化、备份恢复这些领域。希望这篇教程能让你在一开始就少走弯路把有限的精力留给真正值得研究的问题。
返回列表