comp_err creates the errmsg.sys
file that is used by mysqld to determine the error messages to display for different error codes. comp_err normally is run automatically when MySQL is built. It compiles the errmsg.sys
file from text-format error information in MySQL source distributions:
As of MySQL 8.0.19, the error information comes from the messages_to_error_log.txt
and messages_to_clients.txt
files in the share
directory.
For more information about defining error messages, see the comments within those files, along with the errmsg_readme.txt
file.
Prior to MySQL 8.0.19, the error information comes from the errmsg-utf8.txt
file in the sql/share
directory.
comp_err also generates the mysqld_error.h
, mysqld_ername.h
, and mysqld_errmsg.h
header files.
Invoke comp_err like this:
comp_err [options
]
comp_err supports the following options.
--help
, -?
Display a help message and exit.
--charset=
, dir_name
-C
dir_name
The character set directory. The default is ../sql/share/charsets
.
--debug=
, debug_options
-#
debug_options
Write a debugging log. A typical debug_options
string is d:t:O,
. The default is file_name
d:t:O,/tmp/comp_err.trace
.
--debug-info
, -T
Print some debugging information when the program exits.
--errmsg-file=
, file_name
-H
file_name
The name of the error message file. The default is mysqld_errmsg.h
. This option was added in MySQL 8.0.18.
--header-file=
, file_name
-H
file_name
The name of the error header file. The default is mysqld_error.h
.
--in-file=
, file_name
-F
file_name
The name of the input file. The default is ../share/errmsg-utf8.txt
.
This option was removed in MySQL 8.0.19 and replaced by the --in-file-errlog
and --in-file-toclient
options.
--in-file-errlog=
, file_name
-e
file_name
The name of the input file that defines error messages intended to be written to the error log. The default is ../share/messages_to_error_log.txt
.
This option was added in MySQL 8.0.19.
--in-file-toclient=
, file_name
-c
file_name
The name of the input file that defines error messages intended to be written to clients. The default is ../share/messages_to_clients.txt
.
This option was added in MySQL 8.0.19.
--name-file=
, file_name
-N
file_name
The name of the error name file. The default is mysqld_ername.h
.
--out-dir=
, dir_name
-D
dir_name
The name of the output base directory. The default is ../sql/share/
.
--out-file=
, file_name
-O
file_name
The name of the output file. The default is errmsg.sys
.
--version
, -V
Display version information and exit.