Når du kører en forespørgsel mod en MariaDB-database, bruger MariaDB en masse systemvariabler til at bestemme, hvilket tegnsæt og sortering, der skal bruges, når der køres forespørgsler. Hvis klienten bruger et andet tegnsæt end serveren, kan MariaDB oversætte det til et passende tegnsæt og sortering.
Når du sender forespørgselsresultaterne tilbage til klienten, kan MariaDB om nødvendigt oversætte disse resultater tilbage til et helt andet tegnsæt. MariaDB bruger systemvariable til at bestemme, hvilke tegnsæt og sorteringer der skal bruges ved hvert af disse trin.
Her er tre måder at vise forbindelsessorteringen i MariaDB.
@@collation_connection
Variabel
Følgende returnerer sorteringen for forbindelsen (du kan bruge den samme syntaks for enhver af systemvariablerne):
SELECT @@collation_connection;
Eksempelresultat:
+------------------------+ | @@collation_connection | +------------------------+ | utf8_general_ci | +------------------------+
SHOW VARIABLES
Erklæring
SHOW VARIABLES
sætning viser værdierne af MariaDB systemvariabler. Dette kan returnere en masse data, så det er normalt bedst at bruge enten en WHERE
eller LIKE
klausul for at indsnævre det til kun de variabler, som du er interesseret i.
Eksempel:
SHOW VARIABLES
WHERE Variable_name = 'collation_connection';
Eksempelresultat:
+----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connection | utf8_general_ci | +----------------------+-----------------+
Alternativt kan du bruge LIKE
klausul for at returnere variabler, der begynder med collation
:
SHOW VARIABLES LIKE 'collation%';
Eksempelresultat:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
Som standard er SHOW VARIABLES
viser SESSION
variabler. I dette tilfælde returnerer den de værdier, der er gældende for den aktuelle forbindelse.
Derfor kunne det foregående eksempel omskrives som følger:
SHOW SESSION VARIABLES LIKE 'collation%';
Eksempelresultat:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
Alternativt kan du erstatte SESSION
med LOCAL
(som er et synonym for SESSION
):
SHOW LOCAL VARIABLES LIKE 'collation%';
Du kan også bruge GLOBAL
modifikator for at vise de værdier, der bruges til nye forbindelser til MariaDB.
Eksempel:
SHOW GLOBAL VARIABLES LIKE 'collation%';
Eksempelresultat:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8mb4_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
I dette tilfælde er GLOBAL
variabel for collation_connection
returnerede en anden værdi til dens LOCAL
modpart.
mariadb-admin
Utility (alias mysqladmin
)
Det er også muligt at få serversorteringsoplysninger med mariadb-admin
nytte.
Du kan bruge dette værktøj til at returnere alle variabler. Og du kan indsnævre disse variabler til kun dem, du er interesseret i - i dette tilfælde collation_connection
variabel.
For kun at returnere collation_connection
variabel, skal du åbne en ny terminal og køre følgende kommando:
mariadb-admin variables | grep collation_connection
Resultat:
| collation_connection | utf8mb4_general_ci
Bemærk, at dette er den samme værdi som GLOBAL
variabel returneret ovenfor (og ikke SESSION
). variabel for den aktuelle forbindelse). Dette er standardsorteringen for nye forbindelser til MariaDB.
En anden måde at gøre det på er at erstatte mariadb-admin
med mysqladmin
.
Sådan:
mysqladmin variables | grep collation_connection
Du skal bruge mysqladmin
hvis du bruger en tidligere version af MariaDB (før 10.4.6). Fra MariaDB 10.4.6 er mariadb-admin et symlink til mysqladmin. Fra MariaDB 10.5.2, mariadb-admin
er navnet på scriptet med mysqladmin
et symbollink. Se MariaDB-dokumentationen for mysqladmin
for mere information.