温馨提示×

ubuntu mariadb如何设置编码

小樊
36
2026-10-25 04:34:26
栏目: 云计算

在 Ubuntu 上设置 MariaDB 编码(通常推荐 UTF-8 / utf8mb4),一般分三步:修改配置文件、重启服务、验证和建库设置。


一、修改 MariaDB 配置文件

Ubuntu 上 MariaDB 的配置文件通常位于:

/etc/mysql/mariadb.conf.d/50-server.cnf

(也可能是 /etc/mysql/my.cnf 或 /etc/mysql/conf.d/ 下)

用编辑器打开:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

在 [mysqld] 下添加或修改:

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

在 [client] 和 [mysql] 下添加(如果没有就新建):

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

✅ 推荐使用 utf8mb4(支持 emoji),而不是旧版 utf8


二、重启 MariaDB

sudo systemctl restart mariadb

或:

sudo service mariadb restart

三、验证编码设置

登录 MariaDB:

mysql -u root -p

执行:

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

正常情况下应看到:

character_set_server = utf8mb4
collation_server = utf8mb4_unicode_ci

四、已有数据库修改编码(如需要)

修改数据库

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

修改表

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

五、新建数据库时指定编码(推荐)

CREATE DATABASE mydb
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

六、常见问题

1. 连接仍是 latin1?

请在客户端连接时指定:

SET NAMES utf8mb4;

或在应用连接配置中设置(如 PHP、Java、Python)。

2. Ubuntu + MariaDB 版本差异

  • MariaDB 10.1+ 推荐 utf8mb4
  • 旧版本可能默认 latin1

如果你告诉我:

  • Ubuntu 版本
  • MariaDB 版本
  • 使用语言(PHP / Python / Java)

我可以给你更精确的配置示例。

0 踩