### 4.4.1 比较\_err - 编译 MySQL 错误消息文件

[](<>)

[**补偿\_呃**](comp-err.html)创建`错误信息系统`使用的文件[**mysqld**](mysqld.html)确定要针对不同错误代码显示的错误消息。[**补偿\_呃**](comp-err.html)通常在构建 MySQL 时自动运行。它编译`错误信息系统`来自 MySQL 源代码分发中的文本格式错误信息的文件：

-   从 MySQL 8.0.19 开始，错误信息来自`messages_to_error_log.txt`和`messages_to_clients.txt`中的文件`分享`目录。

    有关定义错误消息的更多信息，请参阅这些文件中的注释以及`errmsg_readme.txt`文件。

-   在 MySQL 8.0.19 之前，错误信息来自`errmsg-utf8.txt`文件中`sql/共享`目录。

[**补偿\_呃**](comp-err.html)还生成`mysqld_error.h`, `mysqld_ername.h`， 和`mysqld_errmsg.h`头文件。

调用[**补偿\_呃**](comp-err.html)像这样：

```
comp_err [options]
```

[**补偿\_呃**](comp-err.html)支持以下选项。

-   [](<>) [`- 帮助`](comp-err.html#option_comp_err_help), `-？`

    [](<>)[](<>)

    显示帮助信息并退出。

-   [](<>) [`--charset=*`目录名`*`](comp-err.html#option_comp_err_charset), `-C *`目录名`*`

    [](<>)[](<>)

    字符集目录。默认是`../sql/share/字符集`.

-   [](<>) [`--调试=*`调试选项`*`](comp-err.html#option_comp_err_debug),`-# *`调试选项`*`

    [](<>)[](<>)

    编写调试日志。一个典型的*`调试选项`*字符串是`d:t:O,*`文件名`*`.默认是`d:t:O,/tmp/comp_err.trace`.

-   [](<>) [`- 调试信息`](comp-err.html#option_comp_err_debug-info),`-T`

    [](<>)[](<>)

    程序退出时打印一些调试信息。

-   [](<>) [`--errmsg-文件=*`文件名`*`](comp-err.html#option_comp_err_errmsg-file),`-H *`文件名`*`

    [](<>)[](<>)

    错误消息文件的名称。默认是`mysqld_errmsg.h`.此选项是在 MySQL 8.0.18 中添加的。

-   [](<>) [`--头文件=*`文件名`*`](comp-err.html#option_comp_err_header-file),`-H *`文件名`*`

    [](<>)[](<>)

    错误头文件的名称。默认是`mysqld_error.h`.

-   [](<>) [`--in-file=*`文件名`*`](comp-err.html#option_comp_err_in-file),`-F *`文件名`*`

    [](<>)[](<>)

    输入文件的名称。默认是`../share/errmsg-utf8.txt`.

    此选项在 MySQL 8.0.19 中被删除并由[`--in-file-errlog`](comp-err.html#option_comp_err_in-file-errlog)和[`--in-file-toclient`](comp-err.html#option_comp_err_in-file-toclient)选项。

-   [](<>) [`--in-file-errlog=*`文件名`*`](comp-err.html#option_comp_err_in-file-errlog),`-e *`文件名`*`

    [](<>)[](<>)

    定义要写入错误日志的错误消息的输入文件的名称。默认是`../share/messages_to_error_log.txt`.

    此选项是在 MySQL 8.0.19 中添加的。

-   [](<>) [`--in-file-toclient=*`文件名`*`](comp-err.html#option_comp_err_in-file-toclient),`-c *`文件名`*`

    [](<>)[](<>)

    定义要写入客户端的错误消息的输入文件的名称。默认是`../share/messages_to_clients.txt`.

    此选项是在 MySQL 8.0.19 中添加的。

-   [](<>) [`--name-file=*`文件名`*`](comp-err.html#option_comp_err_name-file),`-N *`文件名`*`

    [](<>)[](<>)

    错误名称文件的名称。默认是`mysqld_ername.h`.

-   [](<>) [`--out-dir=*`目录名`*`](comp-err.html#option_comp_err_out-dir),`-D *`目录名`*`

    [](<>)[](<>)

    输出基目录的名称。默认是`../sql/share/`.

-   [](<>) [`--out-file=*`文件名`*`](comp-err.html#option_comp_err_out-file),`-O *`文件名`*`

    [](<>)[](<>)

    输出文件的名称。默认是`错误信息系统`.

-   [](<>) [`- 版本`](comp-err.html#option_comp_err_version),`-V`

    [](<>)[](<>)

    显示版本信息并退出。
