MySQL 8.0 参考手册  / 第 10 章字符集、排序规则、Unicode  /  10.12 设置错误信息语言

10.12 设置错误信息语言

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

要选择服务器写入错误消息所用的语言,请按照本节中的说明进行操作。有关更改错误消息字符集(而不是语言)的信息,请参阅第 10.6 节,“错误消息字符集”。有关配置错误日志记录的一般信息,请参阅 第 5.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';