在 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