在 MariaDB 中显示连接的排序规则的 3 种方法

发布于

当您对 MariaDB 数据库运行查询时,MariaDB 使用一堆系统变量来确定在运行查询时使用的字符集和排序规则。如果客户端使用与服务器不同的字符集,则 MariaDB 可以将其转换为适当的字符集和排序规则。

将查询结果发送回客户端时,如果需要,MariaDB 可以将这些结果完全转换回不同的字符集。MariaDB 使用系统变量来确定在每个步骤中使用哪些字符集和排序规则。

以下是在 MariaDB 中显示连接排序规则的三种方法。

变量@@collation_connection

下面返回连接的排序规则(可以对任何系统变量使用相同的语法):

SELECT @@collation_connection;

示例结果:

+————————+ | @@collation_connection | +————————+ | utf8_general_ci | +————————+

声明SHOW VARIABLES

该语句显示 MariaDB 系统变量的值。这可能会返回大量数据,因此通常最好使用任一 aorclause 将其缩小到您感兴趣的变量。SHOW VARIABLES``WHERELIKE

例:

SHOW VARIABLES 
WHERE Variable_name = 'collation_connection';

示例结果:

+———————-+—————–+ | Variable_name | Value | +———————-+—————–+ | collation_connection | utf8_general_ci | +———————-+—————–+

或者,您可以使用子句返回以以下内容开头的变量:LIKE``collation

SHOW VARIABLES LIKE 'collation%';

示例结果:

+———————-+——————–+ | Variable_name | Value | +———————-+——————–+ | collation_connection | utf8_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +———————-+——————–+

默认情况下,显示变量。在这种情况下,它返回对当前连接有效的值。SHOW VARIABLES``SESSION

因此,前面的示例可以重写如下:

SHOW SESSION VARIABLES LIKE 'collation%';

示例结果:

+———————-+——————–+ | Variable_name | Value | +———————-+——————–+ | collation_connection | utf8_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +———————-+——————–+

或者,您可以替换(这是以下的同义词):SESSION``LOCAL``SESSION

SHOW LOCAL VARIABLES LIKE 'collation%';

您还可以使用主题符号来显示用于与 MariaDB 的新连接的值。GLOBAL

例:

SHOW GLOBAL VARIABLES LIKE 'collation%';

示例结果:

+———————-+——————–+ | Variable_name | Value | +———————-+——————–+ | collation_connection | utf8mb4_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +———————-+——————–+

在这个示例中,变量for返回了与其对应项不同的值。GLOBAL``collation_connection``LOCAL

TheUtility(又名mariadb-admin``mysqladmin)

也可以使用实用程序获取服务器排序规则信息。mariadb-admin

您可以使用此实用程序返回所有变量。您可以将这些变量缩小到您感兴趣的变量 - 在本例中为变量。collation_connection

要仅返回变量,请打开一个新终端并运行以下命令:collation_connection

mariadb-admin variables | grep collation_connection

输出:

| collation_connection      | utf8mb4_general_ci

请注意,这与上面返回的变量值相同(而不是当前连接的变量)。这是与 MariaDB 的新连接的默认排序规则。GLOBAL``SESSION

另一种方法是替换。mariadb-admin``mysqladmin

示例如下:

mysqladmin variables | grep collation_connection

如果您使用的是早期版本的 MariaDB(10.4.6 之前),则需要使用。从MariaDB 10.4.6开始,mariadb-admin是mysqladmin的符号链接。从MariaDB 10.5.2开始,是脚本的名称,带有符号链接。有关更多信息,请参阅mysqladmin的 MariaDB 文档。mysqladmin``mariadb-admin``mysqladmin