Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MARIADBD-SAFE(1)	     MariaDB Database System		MARIADBD-SAFE(1)

NAME
     mariadbd-safe  - MariaDB server startup script (mariadbd-safe is now a sym-
     link to mariadbd-safe)

SYNOPSIS
     mariadbd-safe options

DESCRIPTION
     mariadbd-safe is the recommended way to start a mariadbd  server  on  Unix.
     mariadbd-safe  adds some safety features such as restarting the server when
     an error occurs and logging runtime information to an error log  file.  De-
     scriptions of error logging is given later in this section.

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

     Many  of  the options to mariadbd-safe are the same as the options to mari-
     adbd.

     Options unknown to mariadbd-safe are passed to mariadbd if they are  speci-
     fied  on  the command line, but ignored if they are specified in the [mari-
     adbd-safe] or [mariadbd_safe] groups of an option file.

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

	 [mariadbd]
	 log-error=error.log

     For backward compatibility, mariadbd-safe also reads  [safe_mariadbd]  sec-
     tions,  although you should rename such sections to [mariadbd-safe] in cur-
     rent installations.

     mariadbd-safe supports the options in the following list. It also reads op-
     tion files and supports the options for processing them.

     *	 --help

	 Display a help message and exit.

     *	 --basedir=path

	 The path to the MariaDB installation directory.

     *	 --core-file-size=size

	 The size of the core file that mariadbd should be able to  create.  The
	 option value is passed to ulimit -c.

     *	 --crash-script=file

	 Script to call in the event of mariadbd crashing.

     *	 --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. This must be the first option on the command line if it is used.
	 If the file does not exist or is  otherwise  inaccessible,  the  server
	 will exit with an error.

     *	 --defaults-file=file_name

	 The  name  of	an  option  file  to be read instead of the usual option
	 files. This must be the first option on the command line if it is used.

     *	 --flush-caches

	 Flush and purge buffers/caches before starting the server.

     *	 --ledir=path

	 If mariadbd-safe cannot find the server, use this  option  to	indicate
	 the path name to the directory where the server is located.

     *	 --log-error=file_name

	 Write the error log to the given file.

     *	 --malloc-lib=lib

	 Preload shared library lib if available.

     *	 --mariadbd=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 MariaDB binary distribu-
	 tion but have the data directory outside of the binary distribution. If
	 mariadbd-safe cannot find the server, use the --ledir option  to  indi-
	 cate the path name to the directory where the server is located.

     *	 --mariadbd-version=suffix

	 This  option  is similar to the --mariadbd option, but you specify only
	 the suffix for the server program name. The basename is assumed  to  be
	 mariadbd.  For  example, if you use --mariadbd-version=debug, mariadbd-
	 safe starts the mariadbd-debug program in the ledir directory.  If  the
	 argument to --mariadbd-version is empty, mariadbd-safe uses mariadbd in
	 the ledir directory.

     *	 --nice=priority

	 Use  the  nice  program  to set the server's scheduling priority to the
	 given value.

     *	 --no-auto-restart, --nowatch, --no-watch

	 Exit after starting mariadbd.

     *	 --no-defaults

	 Do not read any option files. This must be the first option on the com-
	 mand line if it is used.

     *	 --numa-interleave

	 Run mariadbd with its memory interleaved on all NUMA nodes.

     *	 --open-files-limit=count

	 The number of files that mariadbd should be able to  open.  The  option
	 value is passed to ulimit -n. Note that you need to start mariadbd-safe
	 as root for this to work properly!

     *	 --pid-file=file_name

	 The path name of the process ID file.

     *	 --plugin-dir=dir_name

	 Directory for client-side plugins.

     *	 --port=port_num

	 The  port  number  that the server should use when listening for TCP/IP
	 connections. The port number must be 1024 or higher unless  the  server
	 is started by the root system user.

     *	 --skip-kill-mariadbd

	 Do  not  try  to  kill stray mariadbd processes at startup. This option
	 works only on Linux.

     *	 --socket=path

	 The Unix socket file that the server should use when listening for  lo-
	 cal connections.

     *	 --syslog, --skip-syslog

	 --syslog  causes  error  messages  to be sent to syslog on systems that
	 support the logger program.  --skip-syslog suppresses the use	of  sys-
	 log; messages are written to an error log file.

     *	 --syslog-tag=tag

	 For  logging  to  syslog,  messages from mariadbd-safe and mariadbd are
	 written with a tag of	mariadbd-safe  and  mariadbd,  respectively.  To
	 specify  a suffix for the tag, use --syslog-tag=tag, which modifies the
	 tags to be mariadbd-safe-tag and mariadbd-tag.

     *	 --timezone=timezone

	 Set the TZ time zone environment variable to the  given  option  value.
	 Consult  your operating system documentation for legal time zone speci-
	 fication formats.

     *	 --user={user_name|user_id}

	 Run the mariadbd server as the user having the name  user_name  or  the
	 numeric user ID user_id. ("User" in this context refers to a system lo-
	 gin account, not a MariaDB user listed in the grant tables.)

     If  you  execute  mariadbd-safe  with the --defaults-file or --defaults-ex-
     tra-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:

	 mariadb> mariadbd-safe --port=port_num --defaults-file=file_name

     Instead, use the following command:

	 mariadb> mariadbd-safe --defaults-file=file_name --port=port_num

     The  mariadbd-safe script is written so that it normally can start a server
     that was installed from either a source or a binary distribution  of  Mari-
     aDB,  even though these types of distributions typically install the server
     in slightly different locations.  mariadbd-safe expects one of the  follow-
     ing conditions to be true:

     *	 The server and databases can be found relative to the working directory
	 (the directory from which mariadbd-safe is invoked). For binary distri-
	 butions,  mariadbd-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 mariadbd-
	 safe from your MariaDB installation directory	(for  example,	/usr/lo-
	 cal/mysql for a binary distribution).

     *	 If the server and databases cannot be found relative to the working di-
	 rectory,  mariadbd-safe attempts to locate them by absolute path names.
	 Typical locations are /usr/local/libexec and /usr/local/var. The actual
	 locations are determined from the values configured into the  distribu-
	 tion at the time it was built. They should be correct if MariaDB is in-
	 stalled in the location specified at configuration time.

     Because  mariadbd-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 mariadbd-safe from  the  MariaDB  installation
     directory:

	 shell> cd mysql_installation_directory
	 shell> bin/mariadbd-safe &

     If mariadbd-safe fails, even when invoked from the MariaDB installation di-
     rectory,  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 mariadbd-safe to start mariadbd,  mariadbd-safe  arranges  for
     error (and notice) messages from itself and from mariadbd to go to the same
     destination.

     There  are several mariadbd-safe options for controlling the destination of
     these messages:

     *	 --syslog: Write error messages to syslog on systems  that  support  the
	 logger program.

     *	 --skip-syslog:  Do  not  write  error	messages to syslog. Messages are
	 written to the default error log file (host_name.err in the data direc-
	 tory), or to a named file if the --log-error option is given.

     *	 --log-error=file_name: Write error messages to the named error file.

     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  mariadbd-safe writes a message, notices go to the logging destination
     (syslog or the error log file) and stdout. Errors go to the logging  desti-
     nation and stderr.

     Normally,	you should not edit the mariadbd-safe script. Instead, configure
     mariadbd-safe by using command-line options or options  in  the  [mariadbd-
     safe] section of a my.cnf option file. In rare cases, it might be necessary
     to  edit  mariadbd-safe to get it to start the server properly. However, if
     you do this, your modified version of mariadbd-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, mariadbd-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 mariadbd, monitors it, and restarts it if it terminates  in  er-
	 ror.

       5. Sends  error	messages  from mariadbd to the host_name.err file in the
	 data directory.

      6. Sends mariadbd-safe screen output to the  host_name.safe  file  in  the
	 data directory.

COPYRIGHT
     Copyright	2007-2008  MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2025
     MariaDB Foundation

     This documentation is free software; you can redistribute it and/or  modify
     it  only  under the terms of the GNU General Public License as published by
     the Free Software Foundation; version 2 of the License.

     This documentation is distributed in the hope that it will be  useful,  but
     WITHOUT  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
     more details.

     You should have received a copy of the GNU  General  Public  License  along
     with  the	program; if not, write to the Free Software Foundation, Inc., 51
     Franklin  Street,	Fifth  Floor,  Boston,	MA   02110-1335   USA	or   see
     http://www.gnu.org/licenses/.

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/).

MariaDB 11.8			  5 March 2025			MARIADBD-SAFE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mariadbd-safe&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help