Spec-Zone.ru › MySQL 5.7

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

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

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

mysqld
mysqld --character-set-server=latin1
mysqld --character-set-server=latin1 \
  --collation-server=latin1_swedish_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-5.7-en/charset-server.html

Spec-Zone.ru

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