phpmyadmin 服务器变量和会话值

Vah*_*afi 0 mysql server-variables phpmyadmin utf8mb4

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

在此处输入图片说明

当我运行这个命令时:

SHOW VARIABLES WHERE Variable_name LIKE  'character\_set\_%' OR Variable_name LIKE  'collation%'
Run Code Online (Sandbox Code Playgroud)

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

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

Ric*_*mes 6

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

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

流程:

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

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

更新:MySQL 8.0 有一种可选的方式来进行GLOBAL VARIABLES“持久化”的设置,从而绕过步骤 2(重启)。