mysql_install_db initializes the MySQL data directory and creates the system tables that it contains, if they do not exist. mysql_install_db is a shell script and is available only on Unix platforms. (As of MySQL 5.6, mysql_install_db is a Perl script and can be used on any system with Perl installed.)
To invoke mysql_install_db, use the following syntax:
shell> mysql_install_db [options]
Because the MySQL server, mysqld, must access
the data directory when it runs later, you should either run
mysql_install_db from the same system account
that will be used for running mysqld, or run
it as root and specify the
--user option to
indicate the user name that mysqld will run
as. It might be necessary to specify other options such as
--basedir or
--datadir if
mysql_install_db does not use the correct
locations for the installation directory or data directory. For
example:
shell>scripts/mysql_install_db --user=mysql \--basedir=/opt/mysql/mysql \--datadir=/opt/mysql/mysql/data
If you have set a custom TMPDIR environment
variable when performing the installation, and the specified
directory is not accessible,
mysql_install_db may fail. If so, unset
TMPDIR or set TMPDIR to
point to the system temporary directory (usually
/tmp).
mysql_install_db supports the following
options, which can be specified on the command line or in the
[mysql_install_db] group of an option file.
(Options that are common to mysqld can also
be specified in the [mysqld] group.) Other
options are passed to mysqld. For information
about option files used by MySQL programs, see
Section 4.2.6, “Using Option Files”.
Table 4.5 mysql_install_db
Options
| Format | Description |
|---|---|
| --basedir | Path to base directory |
| --builddir | Path to build directory (for out-of-source builds) |
| --cross-bootstrap | For internal use |
| --datadir | Path to data directory |
| --defaults-extra-file | Read named option file in addition to usual option files |
| --defaults-file | Read only named option file |
| --force | Run even if DNS does not work |
| --help | Display help message and exit |
| --ldata | Synonym for --datadir |
| --no-defaults | Read no option files |
| --rpm | For internal use |
| --skip-name-resolve | Use IP addresses rather than host names in grant tables |
| --srcdir | For internal use |
| --user | System login user under which to execute mysqld |
| --verbose | Verbose mode |
| --windows | For internal use |
Display a help message and exit.
The path to the MySQL installation directory.
For use with
--srcdir and
out-of-source builds. Set this to the location of the
directory where the built files reside.
For internal use. This option is used for building system tables on one host intended for another.
The path to the MySQL data directory.
--defaults-extra-file=
file_name
Read this option file after the global option file but (on
Unix) before the user option file. If the file does not
exist or is otherwise inaccessible, an error occurs.
file_name is interpreted relative
to the current directory if given as a relative path name
rather than a full path name.
Use only the given option file. If the file does not exist
or is otherwise inaccessible, an error occurs.
file_name is interpreted relative
to the current directory if given as a relative path name
rather than a full path name.
Cause mysql_install_db to run even if DNS does not work. Grant table entries normally created using host names will use IP addresses instead.
A synonym for
--datadir.
Do not read any option files. If program startup fails due
to reading unknown options from an option file,
--no-defaults can
be used to prevent them from being read.
For internal use. This option is used during the MySQL installation process for install operations performed using RPM packages.
Use IP addresses rather than host names when creating grant table entries. This option can be useful if your DNS does not work.
For internal use. This option specifies the directory under which mysql_install_db looks for support files such as the error message file and the file for populating the help tables.
The system (login) user name to use for running
mysqld. Files and directories created by
mysqld will be owned by this user. You
must be the system root user to use this
option. By default, mysqld runs using
your current login name and files and directories that it
creates will be owned by you.
Verbose mode. Print more information about what the program does.
For internal use. This option is used for creating Windows distributions.