1

我要使用utf8mb4. 我的一些变量也必须是这里提到的 utf8mb4 。我从 phpmyadminVariables菜单设置它们。但是对 utf8mb4 进行了一些更改,但它的会话值仍然是uft8.

在此处输入图像描述

当我运行这个命令时:

SHOW VARIABLES WHERE Variable_name LIKE  'character\_set\_%' OR Variable_name LIKE  'collation%'

那给我看 utf8,而不是 utf8mb4。任何想法?

编辑:当我将 a 变量设置为 时utf8,会话值消失。

4

1 回答 1

6

要对这些或任何其他“变量”进行永久性更改:

  1. 编辑my.cnf
  2. 重启服务器(mysqld)
  3. (显然)然后您将需要再次登录。

流量:

  • 当服务器启动时,my.cnf 用于覆盖内置默认值;组合变成GLOBAL VARIABLES.
  • 连接时,全局变量用于初始化SESSION VARIABLES; 这些由您的连接使用。
  • 如果您执行 a SET,它将仅修改您的会话变量。当连接关闭时,该值将丢失。

CHARACTER SET关于 utf8mb4 的另一个注意事项...大多数客户端软件(php、phpmyadmin等)都有一种设置COLLATION连接的方法。 是您应该确定“客户端中的字节是“UTF-8”编码的时候。(外界称其为 UTF-8;MySQL 称其为 utf8mb4。)

更新:MySQL 8.0 有一个可选的方式来设置GLOBAL VARIABLES“persist”,从而绕过第 2 步(重启)。

于 2016-11-01T01:25:24.890 回答