MySQL的初始字符集配置主要通过修改配置文件来实现,确保数据库、表和字段在创建时使用你期望的字符集(如utf8mb4)。以下是具体操作步骤。
1. 编辑MySQL配置文件
找到MySQL的主配置文件my.cnf或my.ini(Windows下为my.ini,Linux/macOS通常位于/etc/my.cnf、/etc/mysql/my.cnf或~/.my.cnf)。
在[mysqld]段落下添加以下配置:
[mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect = 'SET NAMES utf8mb4'
说明:
character-set-server:设置默认服务器字符集为utf8mb4(支持完整UTF-8,包括emoji) collation-server:设置排序规则,推荐使用utf8mb4_unicode_ci,兼容性好 init_connect:为每个连接设置字符集(注意:对已有权限用户无效)2. 设置客户端字符集
为了让客户端连接也使用正确的字符集,在配置文件中加入[client]和[mysql]段:
[client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4
这样命令行工具(如mysql)连接时会自动使用utf8mb4字符集。
3. 重启MySQL服务
保存配置文件后,重启MySQL服务使更改生效:
Linux(systemd):sudo systemctl restart mysql macOS(Homebrew):brew services restart mysql Windows:通过服务管理器重启MySQL服务4. 验证字符集配置
登录MySQL后执行以下命令检查是否生效:
SHOW VARIABLES LIKE 'character_set_server'; SHOW VARIABLES LIKE 'collation_server';
输出应显示:
character_set_server: utf8mb4 collation_server: utf8mb4_unicode_ci也可运行STATUS或\s查看连接字符集信息。
基本上就这些。只要配置正确,新建的数据库和表将默认使用utf8mb4,避免中文乱码或emoji存储问题。
