MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

3 Möglichkeiten, die Sortierung für Ihre Verbindung in MariaDB anzuzeigen

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.