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.