Spec-Zone .ru
спецификации, руководства, описания, API

10.1.3.1. Набор символов сервера и Сопоставление

У MySQL Server есть набор символов сервера и сопоставление сервера. Они могут быть установлены при запуске сервера на командной строке или в файле опции и изменены во времени выполнения.

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

shell> mysqldshell> mysqld --character-set-server=latin1shell> mysqld --character-set-server=latin1 \           --collation-server=latin1_swedish_ci

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

shell> cmake .
        -DDEFAULT_CHARSET=latin1

Или:

shell> cmake . -DDEFAULT_CHARSET=latin1
        \           -DDEFAULT_COLLATION=latin1_german1_ci

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

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

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