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 [选项]
它支持以下选项 –
--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
它会显示版本信息并退出。
阅读更多:MySQL 教程