MySQL Server にはサーバキャラクタセットとサーバ照合順序があり、いずれもヌルにすることはできません。
MySQL では、サーバキャラクタセットとサーバ照合順序が次のように決定されます。
サーバ起動時に有効なオプション設定に従います。
このレベルでは、決定は簡単です。サーバのキャラクタセットと照合順序は、mysqld の起動時に使用するオプションに依存します。--default-character-set=character_set_name をキャラクタセットに対して使用でき、--default-collation=collation_name を照合順序に対して追加することもできます。文字コードを指定しないのは、--default-character-set=latin1 を指定した場合と同じです。キャラクタセット(たとえば latin1)のみを指定して照合順序を指定しないのは、--default-charset=latin1 --collation=latin1_swedish_ci を指定した場合と同じです。これは latin1 のデフォルト照合順序が latin1_swedish_ci であるためです。
したがって、以下の 3 つのコマンドを実行すると、いずれも同じ結果になります。
shell> mysqld
shell> mysqld --default-character-set=latin1
shell> mysqld --default-character-set=latin1
--default-collation=latin1_swedish_ci
設定を変更する手段の 1 つは再コンパイルです。ソースからのビルド時にデフォルトのサーバキャラクタセットと照合順序を変更するには、--with-character-set と --with-collation を configure の引数として使用してください。例:
shell> ./configure --with-character-set=latin1
または
shell> ./configure --with-character-set=latin1
--with-collation=latin1_german1_ci
mysqld と configure では、キャラクタセットと照合順序の有効性がチェックされます。組み合わせが有効でない場合、各プログラムによってエラーメッセージが表示され、強制終了されます。