Po uruchomieniu zapytania w bazie danych MariaDB, MariaDB używa wielu zmiennych systemowych w celu określenia, który zestaw znaków i sortowanie mają być używane przy każdym uruchomieniu zapytań. Jeśli klient używa innego zestawu znaków niż serwer, MariaDB może go przetłumaczyć na odpowiedni zestaw znaków i sortowanie.
Wysyłając wyniki zapytania z powrotem do klienta, MariaDB może w razie potrzeby przetłumaczyć te wyniki z powrotem na inny zestaw znaków. MariaDB używa zmiennych systemowych do określenia, które zestawy znaków i sortowania mają być używane w każdym z tych kroków.
Oto trzy sposoby na pokazanie sortowania połączeń w MariaDB.
@@collation_connection
Zmienna
Następujące zwraca sortowanie dla połączenia (możesz użyć tej samej składni dla dowolnej zmiennej systemowej):
SELECT @@collation_connection;
Przykładowy wynik:
+------------------------+ | @@collation_connection | +------------------------+ | utf8_general_ci | +------------------------+
SHOW VARIABLES
Oświadczenie
SHOW VARIABLES
instrukcja pokazuje wartości zmiennych systemowych MariaDB. Może to zwrócić wiele danych, więc zwykle najlepiej jest użyć opcji WHERE
lub LIKE
klauzulę, aby zawęzić ją tylko do tych zmiennych, które Cię interesują.
Przykład:
SHOW VARIABLES
WHERE Variable_name = 'collation_connection';
Przykładowy wynik:
+----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connection | utf8_general_ci | +----------------------+-----------------+
Alternatywnie możesz użyć LIKE
klauzula zwracająca zmienne zaczynające się od collation
:
SHOW VARIABLES LIKE 'collation%';
Przykładowy wynik:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
Domyślnie SHOW VARIABLES
pokazuje SESSION
zmienne. W takim przypadku zwraca wartości obowiązujące dla bieżącego połączenia.
Dlatego poprzedni przykład można przepisać w następujący sposób:
SHOW SESSION VARIABLES LIKE 'collation%';
Przykładowy wynik:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
Alternatywnie możesz zastąpić SESSION
z LOCAL
(który jest synonimem SESSION
):
SHOW LOCAL VARIABLES LIKE 'collation%';
Możesz także użyć GLOBAL
modyfikator, aby wyświetlić wartości używane dla nowych połączeń z MariaDB.
Przykład:
SHOW GLOBAL VARIABLES LIKE 'collation%';
Przykładowy wynik:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8mb4_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
W tym przypadku GLOBAL
zmienna dla collation_connection
zwrócił inną wartość do swojego LOCAL
odpowiednik.
Administrator mariadb-admin
Narzędzie (aka mysqladmin
)
Możliwe jest również uzyskanie informacji o sortowaniu serwerów za pomocą mariadb-admin
pożytek.
Możesz użyć tego narzędzia do zwrócenia wszystkich zmiennych. I możesz zawęzić te zmienne do tylko tych, które Cię interesują – w tym przypadku collation_connection
zmienna.
Aby zwrócić tylko collation_connection
zmienna, otwórz nowy terminal i uruchom następujące polecenie:
mariadb-admin variables | grep collation_connection
Wynik:
| collation_connection | utf8mb4_general_ci
Zauważ, że jest to ta sama wartość, co GLOBAL
zmienna zwrócona powyżej (a nie SESSION
zmienna dla bieżącego połączenia). To jest domyślne sortowanie dla nowych połączeń z MariaDB.
Innym sposobem na to jest zastąpienie mariadb-admin
z mysqladmin
.
Tak:
mysqladmin variables | grep collation_connection
Będziesz musiał użyć mysqladmin
jeśli używasz wcześniejszej wersji MariaDB (przed 10.4.6). Od MariaDB 10.4.6 mariadb-admin jest dowiązaniem symbolicznym do mysqladmin. Z MariaDB 10.5.2, mariadb-admin
to nazwa skryptu, z mysqladmin
dowiązanie symboliczne. Zobacz dokumentację MariaDB dla mysqladmin
aby uzyskać więcej informacji.