Server and Server-Startup Programs 4.3 Server and Server-Startup Programs 4.3.1 mysqld — The MySQL Server This section describes  mysqld , the MySQL server, and several programs that are used to start the server. mysqld , also known as MySQL Server, is a single multithreaded program that does most of the work in a MySQL installation. It does not spawn additional processes. MySQL Server manages access to the MySQL data directory that contains databases and tables. The data directory is also the default location for other information such as log files and status files. Some installation packages contain a debugging version of the server named mysqld-debug . Invoke this version instead of  mysqld  for debugging support, memory allocation checking, and trace file support (see Section 5.9.1.2, “Creating Trace Files” ). When MySQL server starts, it listens for network connections from client programs and manages access to databases on behalf of those clients. The  mysqld  program has many options that can be specified at startup. For a complete list of options, run this command: mysqld --verbose --help MySQL Server also has a set of system variables that affect its operation as it runs. System variables can be set at server startup, and many of them can be changed at runtime to effect dynamic server reconfiguration. MySQL Server also has a set of status variables that provide information about its operation. You can monitor these status variables to access runtime performance characteristics. For a full description of MySQL Server command options, system variables, and status variables, see Section 5.1, “The MySQL Server” . For information about installing MySQL and setting up the initial configuration, see Chapter 2,  Installing and Upgrading MySQL . 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. A description of error logging is given later in this section. For some Linux platforms, MySQL installation from RPM or Debian packages includes systemd support for managing MySQL server startup and shutdown. On these platforms,  mysqld_safe  is not installed because it is unnecessary. For more information, see Section 2.5.9, “Managing MySQL Server with systemd” . 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 . See Section 5.1.7, “Server Command Options” . 382 Note 4.3.2 mysqld_safe — MySQL Server Startup Script Note