(mysql.info.gz) mysqld_safe
Info Catalog
(mysql.info.gz) mysqld-max
(mysql.info.gz) Server-Side Scripts
(mysql.info.gz) mysql
5.1.3 The `mysqld_safe' Server Startup Script
---------------------------------------------
`mysqld_safe' is the recommended way to start a `mysqld' server on Unix
and NetWare. `mysqld_safe' adds some safety features such as
restarting the server when an error occurs and logging runtime
information to an error log file. NetWare-specific behaviors are listed
later in this section.
* Before MySQL 4.0, `mysqld_safe' is named `safe_mysqld'. To
preserve backward compatibility, MySQL binary distributions for some
time will include `safe_mysqld' as a symbolic link to `mysqld_safe'.
By default, `mysqld_safe' tries to start an executable named
`mysqld-max' if it exists, or `mysqld' otherwise. Be aware of the
implications of this behavior:
* On Linux, the `MySQL-Max' RPM relies on this `mysqld_safe'
behavior. The RPM installs an executable named `mysqld-max', which
causes `mysqld_safe' to automatically use that executable from that
point on.
* If you install a MySQL-Max distribution that includes a server
named `mysqld-max', then upgrade later to a non-Max version of
MySQL, `mysqld_safe' will still attempt to run the old `mysqld-max'
server. If you perform such an upgrade, you should manually
remove the old `mysqld-max' server to ensure that `mysqld_safe'
runs the new `mysqld' server.
To override the default behavior and specify explicitly which server you
want to run, specify a `--mysqld' or `--mysqld-version' option to
`mysqld_safe'.
Many of the options to `mysqld_safe' are the same as the options to
`mysqld'. Server options.
All options specified to `mysqld_safe' on the command line are passed
to `mysqld'. If you want to use any options that are specific to
`mysqld_safe' and that `mysqld' doesn't support, do not specify them on
the command line. Instead, list them in the `[mysqld_safe]' group of an
option file. Option files.
`mysqld_safe' reads all options from the `[mysqld]', `[server]', and
`[mysqld_safe]' sections in option files. For backward compatibility,
it also reads `[safe_mysqld]' sections, although you should rename such
sections to `[mysqld_safe]' when you begin using MySQL 4.0 or later.
`mysqld_safe' supports the following options:
`--help'
Display a help message and exit. (New in 5.0.3)
`--basedir=PATH'
The path to the MySQL installation directory.
`--core-file-size=SIZE'
The size of the core file `mysqld' should be able to create. The
option value is passed to `ulimit -c'.
`--datadir=PATH'
The path to the data directory.
`--defaults-extra-file=PATH'
The name of an option file to be read in addition to the usual
option files.
`--defaults-file=PATH'
The name of an option file to be read instead of the usual option
files.
`--err-log=PATH'
The old form of the `--log-error' option, to be used before MySQL
4.0.
`--ledir=PATH'
The path to the directory containing the `mysqld' program. Use
this option to explicitly indicate the location of the server.
`--log-error=PATH'
Write the error log to the given file. Error log.
`--mysqld=PROG_NAME'
The name of the server program (in the `ledir' directory) that you
want to start. This option is needed if you use the MySQL binary
distribution but have the data directory outside of the binary
distribution.
`--mysqld-version=SUFFIX'
This option is similar to the `--mysqld' option, but you specify
only the suffix for the server program name. The basename is
assumed to be `mysqld'. For example, if you use
`--mysqld-version=max', `mysqld_safe' will start the `mysqld-max'
program in the `ledir' directory. If the argument to
`--mysqld-version' is empty, `mysqld_safe' uses `mysqld' in the
`ledir' directory.
`--nice=PRIORITY'
Use the `nice' program to set the server's scheduling priority to
the given value. This option was added in MySQL 4.0.14.
`--no-defaults'
Do not read any option files.
`--open-files-limit=COUNT'
The number of files `mysqld' should be able to open. The option
value is passed to `ulimit -n'. Note that you need to start
`mysqld_safe' as `root' for this to work properly!
`--pid-file=PATH'
The path to the process ID file.
`--port=PORT_NUM'
The port number to use when listening for TCP/IP connections.
`--socket=PATH'
The Unix socket file to use for local connections.
`--timezone=ZONE'
Set the `TZ' time zone environment variable to the given option
value. Consult your operating system documentation for legal time
zone specification formats.
`--user={USER_NAME | USER_ID}'
Run the `mysqld' server as the user having the name USER_NAME or
the numeric user ID USER_ID. ("User" in this context refers to a
system login account, not a MySQL user listed in the grant tables.)
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 MySQL, even though these types of distributions typically install
the server in slightly different locations. ( Installation
layouts.) `mysqld_safe' expects one of the following conditions to
be true:
* The server and databases can be found relative to the directory
from which `mysqld_safe' is invoked. For binary distributions,
`mysqld_safe' looks under its working directory for `bin' and
`data' directories. For source distributions, it looks for
`libexec' and `var' directories. This condition should be met if
you execute `mysqld_safe' from your MySQL installation directory
(for example, `/usr/local/mysql' for a binary distribution).
* If the server and databases cannot be found relative to the working
directory, `mysqld_safe' attempts to locate them by absolute
pathnames. Typical locations are `/usr/local/libexec' and
`/usr/local/var'. The actual locations are determined from the
values configured into the distribution at the time it was built.
They should be correct if MySQL is installed in the location
specified at configuration time.
Because `mysqld_safe' will try to find the server and databases relative
to its own working directory, you can install a binary distribution of
MySQL anywhere, as long as you run `mysqld_safe' from the MySQL
installation directory:
shell> cd mysql_installation_directory
shell> bin/mysqld_safe &
If `mysqld_safe' fails, even when invoked from the MySQL 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.
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 MySQL 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 does the following:
1. Runs a number of system and option checks.
2. Runs a check on `MyISAM' and `ISAM' tables.
3. Provides a screen presence for the MySQL 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.
Info Catalog
(mysql.info.gz) mysqld-max
(mysql.info.gz) Server-Side Scripts
(mysql.info.gz) mysql
automatically generated byinfo2html