On Unix and Unix-like systems, mysqld uses the
--log-error option to determine whether mysqld writes the error log to the console or a file, and, if to a file, the file name:
--log-error is not given, mysqld writes the error log to the console.
--log-error is given without naming a file, mysqld writes the error log to a file named
in the data directory.
--log-error is given to name a file, mysqld writes the error log to that file (with an
.err suffix added if the name has no suffix), located under the data directory unless an absolute path name is given to specify a different location.
--log-error is given in an option file in a
[mysqld_safe] section, mysqld_safe finds and uses the option, and passes it to mysqld.
It is common for Yum or APT package installations to configure an error log file location under
/var/log with an option like
log-error=/var/log/mysqld.log in a server configuration file. Removing the file name from the option causes the
file in the data directory to be used.
If the server writes the error log to the console, it sets the
log_error system variable to
stderr. Otherwise, the server writes the error log to a file and sets
log_error to the file name.