comp_err创建一个errmsg.sys文件,mysqld使用该文件来确定需要为不同的错误代码显示的错误消息。当前更新到MySQL之后,错误信息来自共享目录中的messages_to_error_log.txt和messages_to_clients.txt文件。
在MySQL 8.0.19之前,错误信息曾经来自sql / share目录中的errmsg-utf8.txt文件。comp_err还会生成mysqld_error.h,mysqld_ername.h和mysqld_errmsg.h头文件。
可以通过以下方式调用comp_err-
shell> comp_err [options]
它支持以下选项-
--charset =目录名,-C目录名
它是字符集目录。默认值为../sql/share/charsets。
--debug = debug_options,-#debug_options
它写入调试日志。典型的debug_options字符串如下所示:d:t:O,file_name。默认值为d:t:O,/ tmp / comp_err.trace。
--debug-info,-T
程序退出时,它会打印一些调试信息。
--errmsg-file =文件名,-H文件名
它是错误消息文件的名称。默认值为mysqld_errmsg.h。此选项是在MySQL 8.0.18版本中添加的。
--header-file =文件名,-H文件名
它是错误头文件的名称。默认值为mysqld_error.h。
--in-file-errlog =文件名,-e文件名
它是输入文件的名称,用于定义要写入错误日志的错误消息。默认值为../share/messages_to_error_log.txt。
--name-file =文件名,-N文件名
它是错误名称文件的名称。默认值为mysqld_ername.h。
--out-dir = dir_name,-D目录名
它是输出基本目录的名称。默认值为../sql/share/。
--out-file =文件名,-O文件名
它是输出文件的名称。默认值为errmsg.sys。
--version,-V
它显示版本信息并退出。