mysqld_safe - Man Page

MariaDB server startup script (mysqld_safe is now a symlink to mariadbd-safe)

Synopsis

mysqld_safe options

Description

mysqld_safe is the recommended way to start a mysqld server on Unix​. mysqld_safe adds some safety features such as restarting the server when an error occurs and logging runtime information to an error log file​. Descriptions of error logging is given later in this section​.

mysqld_safe tries to start an executable named mysqld​. To override the default behavior and specify explicitly the name of the server you want to run, specify a --mysqld or --mysqld-version option to mysqld_safe​. You can also use --ledir to indicate the directory where mysqld_safe should look for the server​.

Many of the options to mysqld_safe are the same as the options to mysqld​.

Options unknown to mysqld_safe are passed to mysqld if they are specified on the command line, but ignored if they are specified in the [mysqld_safe] or [mariadb_safe] groups of an option file​.

mysqld_safe reads all options from the [mysqld], [server], [mysqld_safe], and [mariadb_safe] sections in option files​. For example, if you specify a [mysqld] section like this, mysqld_safe will find and use the --log-error option:

[mysqld]
log-error=error​.log

For backward compatibility, mysqld_safe also reads [safe_mysqld] sections, although you should rename such sections to [mysqld_safe] in current installations​.

mysqld_safe supports the options in the following list​. It also reads option files and supports the options for processing them.

If you execute mysqld_safe with the --defaults-file or --defaults-extra-file option to name an option file, the option must be the first one given on the command line or the option file will not be used​. For example, this command will not use the named option file:

mysql> mysqld_safe --port=port_num --defaults-file=file_name

Instead, use the following command:

mysql> mysqld_safe --defaults-file=file_name --port=port_num

The mysqld_safe script is written so that it normally can start a server that was installed from either a source or a binary distribution of MariaDB, even though these types of distributions typically install the server in slightly different locations​. mysqld_safe expects one of the following conditions to be true:

Because mysqld_safe tries to find the server and databases relative to its own working directory, you can install a binary distribution of MariaDB anywhere, as long as you run mysqld_safe from the MariaDB installation directory:

shell> cd mysql_installation_directory
shell> bin/mysqld_safe &

If mysqld_safe fails, even when invoked from the MariaDB installation directory, you can specify the --ledir and --datadir options to indicate the directories in which the server and databases are located on your system​.

When you use mysqld_safe to start mysqld, mysqld_safe arranges for error (and notice) messages from itself and from mysqld to go to the same destination​.

There are several mysqld_safe options for controlling the destination of these messages:

If none of these options is given, the default is --skip-syslog​.

Note

If --syslog and --log-error are both given, a warning is issued and --log-error takes precedence​.

When mysqld_safe writes a message, notices go to the logging destination (syslog or the error log file) and stdout​. Errors go to the logging destination and stderr​.

Normally, you should not edit the mysqld_safe script​. Instead, configure mysqld_safe by using command-line options or options in the [mysqld_safe] section of a my​.cnf option file​. In rare cases, it might be necessary to edit mysqld_safe to get it to start the server properly​. However, if you do this, your modified version of mysqld_safe might be overwritten if you upgrade MariaDB in the future, so you should make a copy of your edited version that you can reinstall​.

On NetWare, mysqld_safe is a NetWare Loadable Module (NLM) that is ported from the original Unix shell script​. It starts the server as follows:

  1. Runs a number of system and option checks​.
  2. Runs a check on MyISAM tables​.
  3. Provides a screen presence for the MariaDB server​.
  4. Starts mysqld, monitors it, and restarts it if it terminates in error​.
  5. Sends error messages from mysqld to the host_name​.err file in the data directory​.
  6. Sends mysqld_safe screen output to the host_name​.safe file in the data directory​.

See Also

For more information, please refer to the MariaDB Documentation, available online at https://mariadb.com/docs/

Author

MariaDB Foundation (http://www.mariadb.org/).

Info

15 May 2020 MariaDB 10.11 MariaDB Database System