Spec-Zone.ru › MySQL 8.4

12.3.2 Набор символов и сортировка сервера

Сервер MySQL имеет набор символов сервера и сортировку сервера. По умолчанию они являются utf8mb4 и utf8mb4_0900_ai_ci, но их можно явно установить во время запуска сервера в командной строке или в файле параметров, а также изменить во время работы.

Изначально набор символов и сортировка сервера зависят от параметров, которые вы используете при запуске mysqld. Вы можете использовать --character-set-server для набора символов. Вместе с ним вы можете добавить --collation-server для сортировки. Если вы не укажете набор символов, это эквивалентно указанию --character-set-server=utf8mb4. Если вы укажете только набор символов (например, utf8mb4), но не сортировку, это эквивалентно указанию --character-set-server=utf8mb4 --collation-server=utf8mb4_0900_ai_ci, потому что utf8mb4_0900_ai_ci — это сортировка по умолчанию для utf8mb4. Следовательно, следующие три команды имеют одинаковый эффект:

mysqld
mysqld --character-set-server=utf8mb4
mysqld --character-set-server=utf8mb4 \
  --collation-server=utf8mb4_0900_ai_ci

Один из способов изменить настройки — перекомпиляция. Чтобы изменить набор символов и сортировку по умолчанию сервера при построении из исходного кода, используйте параметры DEFAULT_CHARSET и DEFAULT_COLLATION для CMake. Например:

cmake . -DDEFAULT_CHARSET=latin1

Или:

cmake . -DDEFAULT_CHARSET=latin1 \
  -DDEFAULT_COLLATION=latin1_german1_ci

И mysqld, и CMake проверяют, что комбинация набора символов/сортировки является допустимой. В противном случае каждая программа отображает сообщение об ошибке и завершается.

Набор символов и сортировка сервера используются в качестве значений по умолчанию, если набор символов и сортировка базы данных не указаны в операторах CREATE DATABASE. Они не имеют другой цели.

Текущий набор символов и сортировка сервера могут быть определены по значениям системных переменных character_set_server и collation_server. Эти переменные можно изменить во время выполнения.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/charset-server.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API