##mysql_install_db## initializes the MariaDB data directory and creates the
system tables, if they do not exist.
To invoke ##mysql_install_db##, use the following syntax:
<<code lang=bash inline=false>>
shell> mysql_install_db [options]
<</code>>
Because the MariaDB server, ##mysqld##, needs to access the data directory
when it runs later, you should either run ##mysql_install_db## from the same
account that will be used for running ##mysqld## or run it as root and use the
<<code>>--user<</code>> option to indicate the user name that mysqld will run
as. It might be necessary to specify other options such as
<<code>>--basedir<</code>> or <<code>>--datadir<</code>> if
##mysql_install_db## does not use the correct locations for the installation
directory or data directory. For example:
<<code lang=bash inline=false>>
shell> bin/mysql_install_db --user=mysql \
--basedir=/opt/mysql/mysql \
--datadir=/opt/mysql/mysql/data
<</code>>
##mysql_install_db## needs to invoke ##mysqld## with the
<<code>>--bootstrap<</code>> and <<code>>--skip-grant-tables<</code>> options.
If MariaDB was configured with the <<code>>--disable-grant-options<</code>>
option, <<code>>--bootstrap<</code>> and <<code>>--skip-grant-tables<</code>>
will be disabled. To handle this, set the ##MYSQLD_BOOTSTRAP## environment
variable to the full path name of a server that has all options enabled.
##mysql_install_db## will use that server.
##mysql_install_db## supports the following options, which can be specified on
the command line, or in the ##[mysql_install_db]## and (if they are common to
mysqld) ##[mysqld]## option file groups of the ##my.cnf## file.
<<style class="darkheader-nospace-borders">>
|= Option |= Description
| ##--basedir=path## | The path to the MariaDB installation directory.
| ##--force## | Cause ##mysql_install_db## to run even if DNS does not work. In that case, grant table entries that normally use host names will use IP addresses.
| ##--datadir=path##, ##--ldata=path## | The path to the MariaDB data directory.
| ##--rpm## | For internal use. This option is used by RPM files during the MariaDB installation process.
| ##--skip-name-resolve## | Use IP addresses rather than host names when creating grant table entries. This option can be useful if your DNS does not work.
| ##--srcdir=path## | For internal use. 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. This option was added in MySQL 5.1.14.
| ##--user=user_name## | The login user name to use for running ##mysqld##. Files and directories created by ##mysqld## will be owned by this user. You must be root 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## | Verbose mode. Print more information about what the program does.
| ##--windows## | For internal use. This option is used for creating Windows distributions.
<</style>>
== See Also:
* [[installing-system-tables-mysql_install_db|Installing system tables (mysql_install_db)]]
* The Windows version of ##mysql_install_db##: ##[[mysql_install_dbexe|mysql_install_db.exe]]##