Comp err
comp_err用于创建errmsg.sys文件,该文件由mysqld在显示不同错误代码的错误消息时使用。通常在构建MySQL时会自动运行comp_err。它从MySQL源代码分发版中的文本格式错误信息编译errmsg.sys文件。
从MySQL 8.0.19开始,错误信息来自share目录中的messages_to_error_log.txt和messages_to_clients.txt文件。
关于定义错误消息的更多信息,请参阅这些文件中的注释,以及errmsg_readme.txt文件。
在MySQL 8.0.19之前,错误信息来源于sql/share目录中的errmsg-utf8.txt文件。
comp_err还生成mysqld_error.h、mysqld_ername.h和mysqld_errmsg.h头文件。
调用comp_err的方式如下:
comp_err [选项]
comp_err支持以下选项。
- --help, -?
显示帮助消息并退出。
- --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=file_name, -F file_name
输入文件的名称。默认为../share/errmsg-utf8.txt。
此选项在MySQL 8.0.19中已被移除,并由--in-file-errlog和--in-file-toclient选项代替。
- --in-file-errlog=file_name, -e file_name
定义要写入错误日志的错误消息的输入文件的名称。默认为../share/messages_to_error_log.txt。
此选项在MySQL 8.0.19中添加。
- --in-file-toclient=file_name, -c file_name
定义要写入客户端的错误消息的输入文件的名称。默认为../share/messages_to_clients.txt。
此选项在MySQL 8.0.19中添加。
- --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
显示版本信息并退出。