comp_err 创建 errmsg.sys 文件,mysqld 使用该文件来确定需要为不同错误代码显示的错误消息。当前MySQL更新后,错误信息来自共享目录下的messages_to_error_log.txt和messages_to_clients.txt文件。
在MySQL 8.0.19之前,错误信息曾经来自errmsg-utf8 sql/share 目录中的 .txt 文件。 comp_err 还生成 mysqld_error.h、mysqld_ername.h 和 mysqld_errmsg.h 头文件。
comp_err 可以通过以下方式调用 -
shell> comp_err [options]
它支持以下选项 -
--charset=dir_name, -C dir_name
它是字符集目录。默认为../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=file_name, -H file_name
错误消息文件名。默认为 mysqld_errmsg.h。该选项是MySQL 8.0.18版本中添加的。
--header-file=file_name, -H file_name
这是错误的名称头文件。默认为mysqld_error.h。
--in-file-errlog=file_name, -e file_name
这是输入文件的名称用于定义要写入错误日志的错误消息。默认为 ../share/messages_to_error_log.txt。
--name-file=file_name, -N file_name
这是错误名称文件。默认为mysqld_ername.h。
--out-dir=dir_name, -D dir_name
是输出基目录的名称。默认是../sql/share/。
--out-file=file_name, -O file_name
是输出的名称文件。默认为errmsg.sys。
--version, -V
显示版本信息并退出。