MySQL离线安装时,若需默认使用utf8编码,必须在初始化配置文件中明确设置字符集参数。跳过此步骤可能导致数据库、表或字段默认使用latin1编码,引发中文乱码问题。
修改my.cnf配置文件
在MySQL安装目录或系统配置路径下(如/etc/my.cnf 或 /etc/mysql/my.cnf),编辑主配置文件,加入以下内容:
[client]:设置客户端连接默认字符集 default-character-set = utf8 [mysqld]:服务端核心配置段 character-set-server = utf8 collation-server = utf8_general_ci 确保skip-character-set-client-handshake未被启用,否则会忽略客户端请求的字符集初始化数据库前确认配置生效
在执行 mysqld --initialize 或 mysql_install_db 前,务必检查配置文件是否被正确加载:
启动前运行 mysqld --verbose --help | grep -A 15 'Default options' 查看配置读取情况 确认输出中 character-set-server 的值为 utf8验证字符集设置
MySQL服务启动后,登录数据库执行以下命令:
SHOW VARIABLES LIKE 'character\_set\_%'; — 检查各项字符集是否为utf8 SHOW VARIABLES LIKE 'collation\_%'; — 确认排序规则为utf8_general_ci或其他utf8变种 新建数据库时无需指定CHARSET,应自动继承服务器设置基本上就这些。只要在配置文件中提前定义好字符集,并在初始化前验证,离线安装也能稳定使用utf8编码。
