Wenn Sie eine Abfrage für eine MariaDB-Datenbank ausführen, verwendet MariaDB eine Reihe von Systemvariablen, um zu bestimmen, welcher Zeichensatz und welche Sortierung verwendet werden sollen, wenn Abfragen ausgeführt werden. Wenn der Client einen anderen Zeichensatz als der Server verwendet, kann MariaDB ihn in einen geeigneten Zeichensatz und eine entsprechende Sortierung übersetzen.
Beim Zurücksenden der Abfrageergebnisse an den Client kann MariaDB diese Ergebnisse bei Bedarf vollständig in einen anderen Zeichensatz zurückübersetzen. MariaDB verwendet Systemvariablen, um zu bestimmen, welche Zeichensätze und Sortierungen bei jedem dieser Schritte verwendet werden sollen.
Hier sind drei Möglichkeiten, die Verbindungssortierung in MariaDB anzuzeigen.
Die @@collation_connection
Variable
Folgendes gibt die Sortierung für die Verbindung zurück (Sie können dieselbe Syntax für alle Systemvariablen verwenden):
SELECT @@collation_connection;
Beispielergebnis:
+------------------------+ | @@collation_connection | +------------------------+ | utf8_general_ci | +------------------------+
Die SHOW VARIABLES
Erklärung
Die SHOW VARIABLES
-Anweisung zeigt die Werte der MariaDB-Systemvariablen. Dies kann viele Daten zurückgeben, daher ist es normalerweise am besten, entweder ein WHERE
zu verwenden oder LIKE
-Klausel, um sie auf die Variablen einzugrenzen, die Sie interessieren.
Beispiel:
SHOW VARIABLES
WHERE Variable_name = 'collation_connection';
Beispielergebnis:
+----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connection | utf8_general_ci | +----------------------+-----------------+
Alternativ können Sie auch den LIKE
verwenden -Klausel, um Variablen zurückzugeben, die mit collation
beginnen :
SHOW VARIABLES LIKE 'collation%';
Beispielergebnis:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
Standardmäßig SHOW VARIABLES
zeigt die SESSION
Variablen. In diesem Fall werden die Werte zurückgegeben, die für die aktuelle Verbindung gelten.
Daher könnte das vorherige Beispiel wie folgt umgeschrieben werden:
SHOW SESSION VARIABLES LIKE 'collation%';
Beispielergebnis:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
Alternativ können Sie SESSION
ersetzen mit LOCAL
(was ein Synonym für SESSION
ist ):
SHOW LOCAL VARIABLES LIKE 'collation%';
Sie können auch den GLOBAL
verwenden Modifikator, um die Werte anzuzeigen, die für neue Verbindungen zu MariaDB verwendet werden.
Beispiel:
SHOW GLOBAL VARIABLES LIKE 'collation%';
Beispielergebnis:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8mb4_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
In diesem Fall der GLOBAL
Variable für collation_connection
gab einen anderen Wert an seinen LOCAL
zurück Gegenstück.
Der mariadb-admin
Dienstprogramm (auch bekannt als mysqladmin
)
Es ist auch möglich, Serversortierungsinformationen mit mariadb-admin
abzurufen Nützlichkeit.
Sie können dieses Dienstprogramm verwenden, um alle Variablen zurückzugeben. Und Sie können diese Variablen auf diejenigen einschränken, die Sie interessieren – in diesem Fall die collation_connection
Variable.
Um nur die collation_connection
zurückzugeben Variable, öffnen Sie ein neues Terminal und führen Sie den folgenden Befehl aus:
mariadb-admin variables | grep collation_connection
Ergebnis:
| collation_connection | utf8mb4_general_ci
Beachten Sie, dass dies derselbe Wert wie GLOBAL
ist oben zurückgegebene Variable (und nicht die SESSION
Variable für die aktuelle Verbindung). Dies ist die Standardsortierung für neue Verbindungen zu MariaDB.
Eine andere Möglichkeit besteht darin, mariadb-admin
zu ersetzen mit mysqladmin
.
So:
mysqladmin variables | grep collation_connection
Sie müssen mysqladmin
verwenden wenn Sie eine frühere Version von MariaDB (vor 10.4.6) verwenden. Ab MariaDB 10.4.6 ist mariadb-admin ein symbolischer Link zu mysqladmin. Ab MariaDB 10.5.2, mariadb-admin
ist der Name des Skripts, mit mysqladmin
ein Symlink. Siehe die MariaDB-Dokumentation für mysqladmin
für weitere Informationen.