sql >> Base de Datos >  >> RDS >> MariaDB

3 formas de mostrar la intercalación de su conexión en MariaDB

Cuando ejecuta una consulta en una base de datos de MariaDB, MariaDB usa un conjunto de variables del sistema para determinar qué conjunto de caracteres y colación usar cada vez que se ejecutan las consultas. Si el cliente usa un juego de caracteres diferente al del servidor, MariaDB puede traducirlo a un juego de caracteres y una intercalación apropiados.

Al enviar los resultados de la consulta al cliente, MariaDB puede traducir estos resultados a un conjunto de caracteres diferente si es necesario. MariaDB usa variables del sistema para determinar qué conjuntos de caracteres y colaciones usar en cada uno de estos pasos.

Aquí hay tres formas de mostrar la intercalación de conexiones en MariaDB.

La @@collation_connection variables

Lo siguiente devuelve la intercalación de la conexión (puede usar la misma sintaxis para cualquiera de las variables del sistema):

SELECT @@collation_connection;

Resultado de ejemplo:

+------------------------+
| @@collation_connection |
+------------------------+
| utf8_general_ci        |
+------------------------+

El SHOW VARIABLES Declaración

El SHOW VARIABLES La instrucción muestra los valores de las variables del sistema MariaDB. Esto puede devolver una gran cantidad de datos, por lo que generalmente es mejor usar un WHERE o LIKE cláusula para restringirlo a solo aquellas variables que le interesen.

Ejemplo:

SHOW VARIABLES 
WHERE Variable_name = 'collation_connection';

Resultado de ejemplo:

+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
+----------------------+-----------------+

Alternativamente, puede usar el LIKE cláusula para devolver variables que comienzan con collation :

SHOW VARIABLES LIKE 'collation%';

Resultado de ejemplo:

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

Por defecto, SHOW VARIABLES muestra la SESSION variables En este caso, devuelve los valores que están en vigor para la conexión actual.

Por lo tanto, el ejemplo anterior podría reescribirse de la siguiente manera:

SHOW SESSION VARIABLES LIKE 'collation%';

Resultado de ejemplo:

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

Alternativamente, puede reemplazar SESSION con LOCAL (que es un sinónimo de SESSION ):

SHOW LOCAL VARIABLES LIKE 'collation%';

También puede utilizar el GLOBAL modificador para mostrar los valores que se utilizan para las nuevas conexiones a MariaDB.

Ejemplo:

SHOW GLOBAL VARIABLES LIKE 'collation%';

Resultado de ejemplo:

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

En este caso, el GLOBAL variable para collation_connection devolvió un valor diferente a su LOCAL contraparte.

El mariadb-admin Utilidad (también conocida como mysqladmin )

También es posible obtener información de colación del servidor con mariadb-admin utilidad.

Puede utilizar esta utilidad para devolver todas las variables. Y puede limitar esas variables a las que le interesen, en este caso, collation_connection variables.

Para devolver solo la collation_connection variable, abre una nueva terminal y ejecuta el siguiente comando:

mariadb-admin variables | grep collation_connection

Resultado:

| collation_connection      | utf8mb4_general_ci

Tenga en cuenta que este es el mismo valor que el GLOBAL variable devuelta arriba (y no la SESSION variable para la conexión actual). Esta es la intercalación predeterminada para las nuevas conexiones a MariaDB.

Otra forma de hacerlo es reemplazar mariadb-admin con mysqladmin .

Así:

mysqladmin variables | grep collation_connection

Deberá usar mysqladmin si usa una versión anterior de MariaDB (antes de 10.4.6). Desde MariaDB 10.4.6, mariadb-admin es un enlace simbólico a mysqladmin. Desde MariaDB 10.5.2, mariadb-admin es el nombre del script, con mysqladmin un enlace simbólico. Consulte la documentación de MariaDB para mysqladmin para más información.