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

显示版本信息并退出。