Khi bạn chạy một truy vấn đối với cơ sở dữ liệu MariaDB, MariaDB sử dụng một loạt các biến hệ thống để xác định bộ ký tự và đối chiếu nào sẽ sử dụng bất cứ khi nào truy vấn được chạy. Nếu máy khách sử dụng bộ ký tự khác cho máy chủ, thì MariaDB có thể dịch nó thành bộ ký tự và đối chiếu thích hợp.
Khi gửi lại kết quả truy vấn cho máy khách, MariaDB có thể dịch hoàn toàn các kết quả này sang một bộ ký tự khác nếu được yêu cầu. MariaDB sử dụng các biến hệ thống để xác định bộ ký tự và đối chiếu nào sẽ sử dụng ở mỗi bước này.
Dưới đây là ba cách để hiển thị đối chiếu kết nối trong MariaDB.
@@collation_connection
Biến
Phần sau trả về đối chiếu cho kết nối (bạn có thể sử dụng cùng một cú pháp cho bất kỳ biến hệ thống nào):
SELECT @@collation_connection;
Kết quả ví dụ:
+------------------------+ | @@collation_connection | +------------------------+ | utf8_general_ci | +------------------------+
SHOW VARIABLES
Tuyên bố
SHOW VARIABLES
câu lệnh hiển thị các giá trị của biến hệ thống MariaDB. Điều này có thể trả về nhiều dữ liệu, vì vậy tốt nhất bạn nên sử dụng WHERE
hoặc LIKE
để thu hẹp nó lại chỉ những biến mà bạn quan tâm.
Ví dụ:
SHOW VARIABLES
WHERE Variable_name = 'collation_connection';
Kết quả ví dụ:
+----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connection | utf8_general_ci | +----------------------+-----------------+
Ngoài ra, bạn có thể sử dụng LIKE
mệnh đề trả về các biến bắt đầu bằng collation
:
SHOW VARIABLES LIKE 'collation%';
Kết quả ví dụ:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
Theo mặc định, SHOW VARIABLES
hiển thị SESSION
biến. Trong trường hợp này, nó trả về các giá trị có hiệu lực cho kết nối hiện tại.
Do đó, ví dụ trước có thể được viết lại như sau:
SHOW SESSION VARIABLES LIKE 'collation%';
Kết quả ví dụ:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
Ngoài ra, bạn có thể thay thế SESSION
với LOCAL
(là từ đồng nghĩa với SESSION
):
SHOW LOCAL VARIABLES LIKE 'collation%';
Bạn cũng có thể sử dụng GLOBAL
sửa đổi để hiển thị các giá trị được sử dụng cho các kết nối mới với MariaDB.
Ví dụ:
SHOW GLOBAL VARIABLES LIKE 'collation%';
Kết quả ví dụ:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8mb4_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+
Trong trường hợp này, GLOBAL
biến cho collation_connection
đã trả về một giá trị khác cho LOCAL
của nó đối tác.
mariadb-admin
Tiện ích (hay còn gọi là mysqladmin
)
Cũng có thể lấy thông tin đối chiếu máy chủ với mariadb-admin
tính thiết thực.
Bạn có thể sử dụng tiện ích này để trả về tất cả các biến. Và bạn có thể thu hẹp các biến đó xuống chỉ những biến mà bạn quan tâm - trong trường hợp này là collation_connection
biến.
Để chỉ trả về collation_connection
, mở một thiết bị đầu cuối mới và chạy lệnh sau:
mariadb-admin variables | grep collation_connection
Kết quả:
| collation_connection | utf8mb4_general_ci
Lưu ý rằng đây là giá trị giống với GLOBAL
biến được trả về ở trên (và không phải là SESSION
biến cho kết nối hiện tại). Đây là đối chiếu mặc định cho các kết nối mới với MariaDB.
Một cách khác để làm điều đó là thay thế mariadb-admin
với mysqladmin
.
Như thế này:
mysqladmin variables | grep collation_connection
Bạn sẽ cần sử dụng mysqladmin
nếu bạn sử dụng phiên bản MariaDB cũ hơn (trước 10.4.6). Từ MariaDB 10.4.6, mariadb-admin là một liên kết tượng trưng đến mysqladmin. Từ MariaDB 10.5.2, mariadb-admin
là tên của tập lệnh, với mysqladmin
một liên kết tượng trưng. Xem tài liệu MariaDB cho mysqladmin
để biết thêm thông tin.