Lorsque vous exécutez une requête sur une base de données MariaDB, MariaDB utilise un ensemble de variables système pour déterminer le jeu de caractères et le classement à utiliser chaque fois que les requêtes sont exécutées. Si le client utilise un jeu de caractères différent de celui du serveur, MariaDB peut le traduire en un jeu de caractères et un classement appropriés.
Lors du renvoi des résultats de la requête au client, MariaDB peut traduire ces résultats dans un jeu de caractères différent si nécessaire. MariaDB utilise des variables système pour déterminer les jeux de caractères et les classements à utiliser à chacune de ces étapes.
Voici trois façons d'afficher le classement des connexions dans MariaDB.
Le @@collation_connection
variables
Ce qui suit renvoie le classement de la connexion (vous pouvez utiliser la même syntaxe pour n'importe laquelle des variables système) :
SELECT @@collation_connection;
Exemple de résultat :
+------------------------+ | @@collation_connection | +------------------------+ | utf8_general_ci | +------------------------+
Le SHOW VARIABLES
Déclaration
Le SHOW VARIABLES
L'instruction affiche les valeurs des variables système MariaDB. Cela peut renvoyer beaucoup de données, il est donc généralement préférable d'utiliser soit un WHERE
ou LIKE
clause pour la réduire aux seules variables qui vous intéressent.
Exemple :
SHOW VARIABLES
WHERE Variable_name = 'collation_connection';
Exemple de résultat :
+----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connection | utf8_general_ci | +----------------------+-----------------+
Alternativement, vous pouvez utiliser le LIKE
clause pour renvoyer les variables qui commencent par collation
:
SHOW VARIABLES LIKE 'collation%';
Exemple de résultat :
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
Par défaut, SHOW VARIABLES
affiche la SESSION
variables. Dans ce cas, il renvoie les valeurs en vigueur pour la connexion en cours.
Par conséquent, l'exemple précédent pourrait être réécrit comme suit :
SHOW SESSION VARIABLES LIKE 'collation%';
Exemple de résultat :
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
Alternativement, vous pouvez remplacer SESSION
avec LOCAL
(qui est synonyme de SESSION
):
SHOW LOCAL VARIABLES LIKE 'collation%';
Vous pouvez également utiliser le GLOBAL
modificateur pour afficher les valeurs utilisées pour les nouvelles connexions à MariaDB.
Exemple :
SHOW GLOBAL VARIABLES LIKE 'collation%';
Exemple de résultat :
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8mb4_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
Dans ce cas, le GLOBAL
variable pour collation_connection
a renvoyé une valeur différente à son LOCAL
contrepartie.
Le mariadb-admin
Utilitaire (alias mysqladmin
)
Il est également possible d'obtenir des informations sur le classement du serveur avec le mariadb-admin
utilitaire.
Vous pouvez utiliser cet utilitaire pour renvoyer toutes les variables. Et vous pouvez restreindre ces variables à celles qui vous intéressent - dans ce cas, le collation_connection
variables.
Pour renvoyer uniquement collation_connection
variable, ouvrez un nouveau terminal et exécutez la commande suivante :
mariadb-admin variables | grep collation_connection
Résultat :
| collation_connection | utf8mb4_general_ci
Notez qu'il s'agit de la même valeur que le GLOBAL
variable renvoyée ci-dessus (et non la SESSION
variable pour la connexion en cours). Il s'agit du classement par défaut pour les nouvelles connexions à MariaDB.
Une autre façon de le faire est de remplacer mariadb-admin
avec mysqladmin
.
Comme ceci :
mysqladmin variables | grep collation_connection
Vous devrez utiliser mysqladmin
si vous utilisez une version antérieure de MariaDB (avant 10.4.6). Depuis MariaDB 10.4.6, mariadb-admin est un lien symbolique vers mysqladmin. À partir de MariaDB 10.5.2, mariadb-admin
est le nom du script, avec mysqladmin
un lien symbolique. Voir la documentation MariaDB pour mysqladmin
pour plus d'informations.