mysql安装时如何选择合适的版本_mysql版本选择与配置

来源:这里教程网 时间:2026-02-28 20:48:48 作者:

MySQL 8.0 还是 5.7?看你的应用是否依赖
mysql_native_password

绝大多数新项目直接选

MySQL 8.0
,但如果你用的是老版本 PHP(
php 7.2
及更早)、旧版 Navicat、或某些 Python 的
mysql-connector-python
8.0.11
之前),连接会失败,报错:
Authentication plugin 'caching_sha2_password' cannot be loaded
。这不是配置问题,是认证插件不兼容。

解决办法有两个:

安装时勾选「Use Legacy Authentication Method」(推荐给开发测试环境) 装完后手动执行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
或者升级客户端驱动(如把
mysql-connector-python
升到
8.0.12+

社区版(Community)够用吗?别被「企业版」名字吓住

MySQL Community Server
是官方免费、开源、更新最及时的版本,包含全部核心功能:InnoDB、JSON、窗口函数、CTE、角色管理、并行查询优化等。所谓「企业版」只是多了备份加密、审计日志、线程池监控等运维增强模块,普通业务完全不需要。

注意两个常见误判点:

MySQL Installer
页面里标「Web Community」不是单独版本,只是带了
MySQL Workbench
Connector/ODBC
的安装包组合
下载页看到的
MySQL Server
+
MySQL Shell
+
MySQL Router
是同一套生态组件,不是多个版本
Windows 下避免选
MSI
全自动安装包——它默认把服务名设为
MySQL80
,改名麻烦;建议选
ZIP Archive
手动解压部署

配置文件
my.cnf
放哪?Windows 和 Linux 路径完全不同

MySQL 启动时按固定顺序查找配置文件,找不到就用内置默认值。路径不对,改了配置也无效。

关键路径:

Linux:优先读
/etc/my.cnf
,然后是
/etc/mysql/my.cnf
,再是
$MYSQL_HOME/my.cnf
,最后是
~/.my.cnf
macOS(Homebrew 安装):通常是
/opt/homebrew/etc/my.cnf
/usr/local/etc/my.cnf
Windows:注册表中
HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB\MySQL Server 8.0\Location
指定路径,或默认找
C:\my.ini
(不是
my.cnf
!)

验证是否生效:启动后执行

SELECT @@global.config_file;
(8.0.21+ 支持),或运行
mysqld --verbose --help | grep "Default options"
看加载顺序。

字符集别只改
utf8mb4
,还要同步设好排序规则

只在

my.cnf
里加
character-set-server = utf8mb4
不够,
collation-server
必须匹配,否则建库建表时仍可能用
utf8mb4_0900_ai_ci
(8.0 默认)或
utf8mb4_general_ci
(5.7 默认),导致大小写敏感行为不一致、索引失效等问题。

稳妥写法:

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

注意:

utf8mb4_unicode_ci
utf8mb4_0900_ai_ci
兼容性更好,尤其涉及多语言排序时
已存在的库/表不会自动变更,需手工执行:
ALTER DATABASE db_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
连接层也要统一,比如 JDBC URL 加上
?characterEncoding=utf8mb4&useUnicode=true
配置真正起效的关键,往往卡在路径没对上、插件不兼容、或字符集和排序规则没配对——这些地方不报错,但行为异常,查起来特别费时间。

相关推荐