デフォルトでは、mysqld は英語でエラーメッセージを生成しますが、他のいくつかの言語では表示できます: チェコ語、デンマーク語、オランダ語、エストニア語、フランス語、ドイツ語、ギリシャ語、ハンガリー語、イタリア語、日本語、韓国語、ノルウェー語、ノルウェー語、ニュージー語、ポーランド語、ポルトガル語、ルーマニア語、ロシア語、スロバキア語、スペイン語またはスウェーデン語。 これは、サーバーがエラーログに書き込み、クライアントに送信するメッセージに適用されます。
サーバーがエラーメッセージを書き込む言語を選択するには、このセクションの手順に従います。 エラーメッセージの (言語ではなく) 文字セットの変更の詳細は、セクション10.6「エラーメッセージ文字セット」を参照してください。 エラーロギングの構成に関する一般情報は、セクション5.4.2「エラーログ」 を参照してください。
サーバーは、次のルールを使用してエラーメッセージファイルを検索します:
-
ファイルは、
lc_messages_dir
およびlc_messages
の 2 つのシステム変数値から作成されたディレクトリ内で検索され、後者は言語名に変換されます。 次のコマンドを使用してサーバーを起動するとします。mysqld --lc_messages_dir=/usr/share/mysql --lc_messages=fr_FR
この場合、mysqld は、ロケール
fr_FR
を言語french
にマップし、/usr/share/mysql/french
ディレクトリでエラーファイルを検索します。デフォルトでは、言語ファイルは、MySQL ベースディレクトリ下の
share/mysql/
ディレクトリにあります。LANGUAGE
前述のように構築されたディレクトリでメッセージファイルが見つからない場合、サーバーは、
lc_messages
値を無視し、検索する場所としてlc_messages_dir
値だけを使用します。構成されたメッセージファイルが見つからない場合は、問題を示すメッセージがエラーログに書き込まれ、デフォルトで組込み英語メッセージに設定されます。
lc_messages_dir
システム変数は、サーバーの起動時にのみ設定でき、実行時にはグローバルな読取り専用値のみを持ちます。lc_messages
はサーバーの起動時に設定でき、実行時に変更できるグローバル値およびセッション値を持ちます。 したがって、エラーメッセージの言語はサーバーの実行中に変更でき、各クライアントはセッション lc_messages
値を目的のロケール名に設定することで、独自のエラーメッセージの言語を持つことができます。 たとえば、サーバーがエラーメッセージに fr_FR
ロケールを使用している場合、クライアントは、次のステートメントを実行すると、英語でエラーメッセージを受信できます。
SET lc_messages = 'en_US';