Quando você executa uma consulta em um banco de dados MariaDB, o MariaDB usa várias variáveis do sistema para determinar qual conjunto de caracteres e agrupamento usar sempre que as consultas forem executadas. Se o cliente usar um conjunto de caracteres diferente do servidor, o MariaDB poderá traduzi-lo em um conjunto de caracteres e agrupamento apropriados.
Ao enviar os resultados da consulta de volta ao cliente, o MariaDB pode traduzir esses resultados de volta para um conjunto de caracteres diferente, se necessário. O MariaDB usa variáveis do sistema para determinar quais conjuntos de caracteres e agrupamentos devem ser usados em cada uma dessas etapas.
Aqui estão três maneiras de mostrar o agrupamento de conexão no MariaDB.
A @@collation_connection Variável
O seguinte retorna o agrupamento para a conexão (você pode usar a mesma sintaxe para qualquer uma das variáveis do sistema):
SELECT @@collation_connection; Exemplo de resultado:
+------------------------+ | @@collation_connection | +------------------------+ | utf8_general_ci | +------------------------+
O SHOW VARIABLES Declaração
O
SHOW VARIABLES A instrução mostra os valores das variáveis do sistema MariaDB. Isso pode retornar muitos dados, então geralmente é melhor usar um WHERE ou LIKE cláusula para reduzi-la apenas às variáveis nas quais você está interessado. Exemplo:
SHOW VARIABLES
WHERE Variable_name = 'collation_connection'; Exemplo de resultado:
+----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connection | utf8_general_ci | +----------------------+-----------------+
Alternativamente, você pode usar o
LIKE cláusula para retornar variáveis que começam com collation :SHOW VARIABLES LIKE 'collation%'; Exemplo de resultado:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
Por padrão,
SHOW VARIABLES mostra a SESSION variáveis. Nesse caso, ele retorna os valores que estão em vigor para a conexão atual. Portanto, o exemplo anterior poderia ser reescrito da seguinte forma:
SHOW SESSION VARIABLES LIKE 'collation%'; Exemplo de resultado:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
Alternativamente, você pode substituir
SESSION com LOCAL (que é sinônimo de SESSION ):SHOW LOCAL VARIABLES LIKE 'collation%'; Você também pode usar o
GLOBAL modificador para exibir os valores que são usados para novas conexões com MariaDB. Exemplo:
SHOW GLOBAL VARIABLES LIKE 'collation%'; Exemplo de resultado:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8mb4_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
Neste caso, o
GLOBAL variável para collation_connection retornou um valor diferente para seu LOCAL contrapartida. O mariadb-admin Utilitário (também conhecido como mysqladmin )
Também é possível obter informações de agrupamento do servidor com o
mariadb-admin Utilitário. Você pode usar este utilitário para retornar todas as variáveis. E você pode restringir essas variáveis apenas às de seu interesse – neste caso, a
collation_connection variável. Para retornar apenas o
collation_connection variável, abra um novo terminal e execute o seguinte comando:mariadb-admin variables | grep collation_connection Resultado:
| collation_connection | utf8mb4_general_ci
Observe que este é o mesmo valor que o
GLOBAL variável retornada acima (e não a SESSION variável para a conexão atual). Este é o agrupamento padrão para novas conexões com o MariaDB. Outra maneira de fazer isso é substituir
mariadb-admin com mysqladmin . Assim:
mysqladmin variables | grep collation_connection Você precisará usar
mysqladmin se você usar uma versão anterior do MariaDB (antes de 10.4.6). Do MariaDB 10.4.6, mariadb-admin é um link simbólico para mysqladmin. Do MariaDB 10.5.2, mariadb-admin é o nome do script, com mysqladmin um link simbólico. Veja a documentação do MariaDB para mysqladmin Para maiores informações.