預設情況下,mysqld 會產生英文的錯誤訊息,但它們可以改用其他幾種語言顯示:捷克語、丹麥語、荷蘭語、愛沙尼亞語、法語、德語、希臘語、匈牙利語、義大利語、日語、韓語、挪威語、挪威語-尼諾斯克語、波蘭語、葡萄牙語、羅馬尼亞語、俄語、斯洛伐克語、西班牙語或瑞典語。這適用於伺服器寫入錯誤記錄和傳送給用戶端的訊息。
若要選取伺服器寫入錯誤訊息時使用的語言,請依照本節中的指示進行。如需變更錯誤訊息字元集(而不是語言)的相關資訊,請參閱第 12.6 節,「錯誤訊息字元集」。如需設定錯誤記錄的一般資訊,請參閱第 7.4.2 節,「錯誤記錄」。
伺服器使用下列規則搜尋錯誤訊息檔案
它會從兩個系統變數值
lc_messages_dir
和lc_messages
建立的目錄中尋找檔案,後者會轉換為語言名稱。假設您使用此命令啟動伺服器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';