phpmyadmin 服务器变量和会话值

phpmyadmin server variables and session values

我要使用 utf8mb4。另外我的一些变量必须是提到 here 的 utf8mb4。我从 phpmyadmin Variables 菜单中设置它们。但是 utf8mb4 的一些变化但是它的 session value 仍然是 uft8.

当我 运行 这个命令时:

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

给我看的是 utf8,不是 utf8mb4。有什么想法吗?

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

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

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

流量:

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

另一个关于 utf8mb4 的说明...大多数客户端软件(php、phpmyadmin 等)都有一种方法可以设置 CHARACTER SETCOLLATION联系。 这个是你应该建立“客户端中的字节是”UTF-8“编码的时候。(外界称它为UTF-8; MySQL称同一个东西utf8mb4.)

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