温馨提示×

ubuntu mysql怎样设置编码

小樊
46
2026-09-22 07:45:26
栏目: 云计算

在 Ubuntu 上设置 MySQL 编码(通常推荐 UTF-8 / utf8mb4),一般分为服务器配置数据库/表级别两部分。下面按常见场景说明。


一、修改 MySQL 服务器默认编码(推荐 utf8mb4)

1. 编辑 MySQL 配置文件

Ubuntu 下通常是:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

(有些版本是 /etc/mysql/my.cnf/etc/mysql/conf.d/mysql.cnf

2. 添加或修改以下内容

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

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

3. 重启 MySQL

sudo systemctl restart mysql

4. 验证

登录 MySQL:

mysql -u root -p

执行:

SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';

应看到类似:

character_set_server = utf8mb4
collation_server = utf8mb4_unicode_ci

二、已有数据库修改编码(重要)

如果数据库在改配置前已存在,需要手动修改。

1. 修改数据库

ALTER DATABASE 数据库名
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;

2. 修改表

ALTER TABLE 表名
CONVERT TO CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

3. 修改字段(可选)

ALTER TABLE 表名
MODIFY 字段名 VARCHAR(255)
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

三、新建数据库时指定编码

CREATE DATABASE 数据库名
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

四、常见说明

  • utf8mb4 支持 emoji,推荐替代旧 utf8
  • 修改配置后,已有数据不会自动转换
  • 应用连接 MySQL 时也要指定编码(如 JDBC、PHP PDO)

如果你告诉我:

  • MySQL 版本
  • 是否是新装 / 已有数据
  • 使用哪种语言连接(PHP / Java / Python)

我可以给你更精确的步骤。

0