12.12 设置错误消息语言
默认情况下,mysqld 生成的错误消息是英文,但是可以在多种语言中显示:捷克语、丹麦语、荷兰语、爱沙尼亚语、法语、德语、希腊语、匈牙利语、意大利语、日本语、韩国语、挪威语、挪威-新语、波兰语、葡萄牙语、罗马尼亚语、俄罗斯语、斯洛伐克语或瑞典语。这适用于服务器写入错误日志和发送给客户端的消息。
要选择服务器写入错误消息的语言,请按照本节中的说明进行操作。关于更改错误消息字符集(而不是语言),请参阅第12.6节,“错误消息字符集”。关于配置错误日志的总体信息,请参阅第7.4.2节,“错误日志”.
服务器使用以下规则搜索错误消息文件:
-
它首先在由两个系统变量值
lc_messages_dir
和lc_messages
构造的目录中查找文件,后者被转换为语言名称。假设您使用以下命令启动服务器:mysqld --lc_messages_dir=/usr/share/mysql --lc_messages=fr_FR
在这种情况下,mysqld 将locale
fr_FR
映射到语言法语
,并在/usr/share/mysql/法语
目录中查找错误文件。默认情况下,语言文件位于 MySQL 基础目录下的
share/mysql/
目录下。语言
-
如果按照上述描述构造的目录中找不到消息文件,服务器忽略
lc_messages
值,并使用lc_messages_dir
值作为查找位置。 -
如果服务器找不到配置的消息文件,它将在错误日志中写入问题信息,并使用内置的英文消息。
系统变量lc_messages_dir
只能在服务器启动时设置,并且在运行时只有全局只读值。 变量lc_messages
可以在服务器启动时设置,具有全局和会话值,可以在运行时修改。因此,在服务器运行时,可以更改错误消息语言,每个客户端也可以通过将其会话lc_messages
值设置为所需的locale名称来接收错误消息。例如,如果服务器使用fr_FR
locale 发送错误消息,那么客户端可以执行以下语句以接收英文错误消息:
SET lc_messages = 'en_US';