Когато изпълнявате заявка към база данни на MariaDB, MariaDB използва куп системни променливи, за да определи кой набор от знаци и съпоставяне да използва при изпълнение на заявки. Ако клиентът използва различен набор от знаци за сървъра, тогава MariaDB може да го преведе в подходящ набор от знаци и съпоставяне.
Когато изпраща резултатите от заявката обратно на клиента, MariaDB може да преведе тези резултати обратно в различен набор от символи, ако е необходимо. MariaDB използва системни променливи, за да определи кои набори от знаци и съпоставяне да използва при всяка от тези стъпки.
Ето три начина за показване на съпоставянето на връзките в MariaDB.
@@collation_connection
Променлива
Следното връща съпоставянето за връзката (можете да използвате същия синтаксис за всяка от системните променливи):
SELECT @@collation_connection;
Примерен резултат:
+-----------------------+| @@collation_connection |+-----------------------+| utf8_general_ci |+-----------------------+
SHOW VARIABLES
Изявление
SHOW VARIABLES
операторът показва стойностите на системните променливи MariaDB. Това може да върне много данни, така че обикновено е най-добре да използвате или WHERE
или LIKE
клауза, за да я стесните само до онези променливи, които ви интересуват.
Пример:
SHOW VARIABLES
WHERE Variable_name = 'collation_connection';
Примерен резултат:
+---------------------+----------------+| Име на променлива | Стойност |+----------------------+----------------+| връзка_съпоставяне | utf8_general_ci |+---------------------+-----------------+
Като алтернатива можете да използвате LIKE
клауза за връщане на променливи, които започват с collation
:
SHOW VARIABLES LIKE 'collation%';
Примерен резултат:
+----------------------+--------------------+| Име на променлива | Стойност |+----------------------+-------------------+| съпоставяне_връзка | utf8_general_ci || база_данни за съпоставяне | utf8mb4_general_ci || collation_server | utf8mb4_general_ci |+---------------------+--------------------+
По подразбиране SHOW VARIABLES
показва SESSION
променливи. В този случай той връща стойностите, които са в сила за текущата връзка.
Следователно предишният пример може да бъде пренаписан, както следва:
SHOW SESSION VARIABLES LIKE 'collation%';
Примерен резултат:
+----------------------+--------------------+| Име на променлива | Стойност |+----------------------+-------------------+| връзка_съпоставяне | utf8_general_ci || база_данни за съпоставяне | utf8mb4_general_ci || collation_server | utf8mb4_general_ci |+---------------------+--------------------+
Като алтернатива можете да замените SESSION
с LOCAL
(което е синоним на SESSION
):
SHOW LOCAL VARIABLES LIKE 'collation%';
Можете също да използвате GLOBAL
модификатор за показване на стойностите, които се използват за нови връзки към MariaDB.
Пример:
SHOW GLOBAL VARIABLES LIKE 'collation%';
Примерен резултат:
+----------------------+--------------------+| Име на променлива | Стойност |+----------------------+-------------------+| връзка_съпоставяне | utf8mb4_general_ci || база_данни за съпоставяне | utf8mb4_general_ci || collation_server | utf8mb4_general_ci |+---------------------+--------------------+
В този случай GLOBAL
променлива за collation_connection
върна различна стойност на своя LOCAL
колега.
mariadb-admin
Помощна програма (известна още като mysqladmin
)
Също така е възможно да получите информация за съпоставяне на сървъра с mariadb-admin
полезност.
Можете да използвате тази помощна програма, за да върнете всички променливи. И можете да стесните тези променливи само до тези, които ви интересуват – в този случай collation_connection
променлива.
За да върнете само collation_connection
променлива, отворете нов терминал и изпълнете следната команда:
mariadb-admin variables | grep collation_connection
Резултат:
<пред>| съпоставяне_връзка | utf8mb4_general_ci
Имайте предвид, че това е същата стойност като GLOBAL
променлива, върната по-горе (а не SESSION
променлива за текущата връзка). Това е съпоставянето по подразбиране за нови връзки към MariaDB.
Друг начин да го направите е да замените mariadb-admin
с mysqladmin
.
Като това:
mysqladmin variables | grep collation_connection
Ще трябва да използвате mysqladmin
ако използвате по-ранна версия на MariaDB (преди 10.4.6). От MariaDB 10.4.6, mariadb-admin е символна връзка към mysqladmin. От MariaDB 10.5.2, mariadb-admin
е името на скрипта, с mysqladmin
символна връзка. Вижте документацията на MariaDB за mysqladmin
за повече информация.