comp_err - 编译 MySQL 错误消息文件
comp_err 创建 errmsg.sys 文件,该文件由 mysqld 用于确定需要为不同的错误代码显示的错误消息。在对 MySQL 进行当前更新后,错误信息来自 share 目录中的 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=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
它显示版本信息并退出。