This section describes how start the server on Unix and Unix-like systems. (For Windows, see Section 2.3.7.4, “Starting the Server for the First Time”.) For some suggested commands that you can use to test whether the server is accessible and working properly, see Section 2.10.3, “Testing the Server”.
Start the MySQL server like this:
shell> bin/mysqld_safe --user=mysql &
It is important that the MySQL server be run using an unprivileged
(non-root) login account. To ensure this if you
run mysqld_safe as root,
include the --user option as
shown. Otherwise, execute the program while logged in as
mysql, in which case you can omit the
--user option from the
command.
For further instructions for running MySQL as an unprivileged user, see Section 6.1.5, “How to Run MySQL as a Normal User”.
If the command fails immediately and prints mysqld
ended, look for information in the error log (which by
default is the
file
in the data directory).
host_name.err
If the server is unable to access the data directory it starts or
read the grant tables in the mysql database, it
writes a message to its error log. Such problems can occur if you
neglected to create the grant tables by initializing the data
directory before proceeding to this step, or if you ran the
command that initializes the data directory without the
--user option. Remove the
data directory and run the command with the
--user option.
If you have other problems starting the server, see Section 2.10.2.1, “Troubleshooting Problems Starting the MySQL Server”. For more information about mysqld_safe, see Section 4.3.2, “mysqld_safe — MySQL Server Startup Script”.
You can set up new accounts using the
bin/mysql_setpermission script if you install
the DBI and DBD::mysql Perl
modules. See Section 4.6.13, “mysql_setpermission — Interactively Set Permissions in Grant
Tables”. For Perl
module installation instructions, see
Section 2.12, “Perl Installation Notes”.
If you would like to use mysqlaccess and have
the MySQL distribution in some nonstandard location, you must
change the location where mysqlaccess expects
to find the mysql client. Edit the
bin/mysqlaccess script at approximately line
18. Search for a line that looks like this:
$MYSQL = '/usr/local/bin/mysql'; # path to mysql executable
Change the path to reflect the location where
mysql actually is stored on your system. If you
do not do this, a Broken pipe error will occur
when you run mysqlaccess.