Answer Diff [204]
##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]]## ¶
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>> ¶
¶
¶
* [[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]]## ¶