10.12 设置错误消息语言

默认情况下,mysqld会以英语生成错误消息,但可以改用其他几种语言来显示它们:捷克语,丹麦语,荷兰语,爱沙尼亚语,法语,德语,希腊语,匈牙利语,意大利语,日语,韩语,挪威语,挪威语-ny ,波兰语,葡萄牙语,罗马尼亚语,俄语,斯洛伐克语,西班牙语或瑞典语。这适用于服务器写入错误日志并发送给 Client 端的消息。

要选择服务器用来编写错误消息的语言,请按照本节中的说明进行操作。有关更改错误消息的字符集(而不是语言)的信息,请参见第 10.6 节“错误消息字符集”。有关配置错误日志记录的一般信息,请参见第 5.4.2 节“错误日志”

服务器使用以下规则搜索错误消息文件:

  • 它在由两个系统变量值lc_messages_dirlc_messages构造的目录中查找文件,后者被转换为语言名称。假设您使用以下命令启动服务器:
mysqld --lc_messages_dir=/usr/share/mysql --lc_messages=fr_FR

在这种情况下,mysqld将语言环境fr_FRMap 到语言french并在/usr/share/mysql/french目录中查找错误文件。

默认情况下,语言文件位于 MySQL 基本目录下的share/mysql/LANGUAGE目录中。

  • 如果在如上所述的目录中找不到消息文件,则服务器将忽略lc_messages值,而仅使用lc_messages_dir值作为查找位置。

只能在服务器启动时设置lc_messages_dir系统变量,并且在运行时仅具有全局只读值。 lc_messages可以在服务器启动时设置,并且具有可以在运行时修改的全局值和会话值。因此,可以在服务器运行时更改错误消息语言,并且每个 Client 端可以通过将其会话lc_messages值设置为所需的语言环境名称来拥有自己的错误消息语言。例如,如果服务器使用fr_FR语言环境来显示错误消息,则 Client 端可以执行以下语句来接收英语的错误消息:

SET lc_messages = 'en_US';