mysql_install_db
mysql_install_db
initializes the MariaDB data directory and creates the
system and help tables, if they do not exist.
There is a version specifically for Windows, mysql_install_db.exe
.
To invoke mysql_install_db
, use the following syntax:
shell> mysql_install_db [options]
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
--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
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.
Option | Description |
---|---|
--basedir=path | The path to the MariaDB installation directory. |
--builddir=path | If using --srcdir with out-of-directory builds, you will need to set this to the location of the build directory where built files reside. |
--cross-bootstrap | For internal use. Used when building the MariaDB system tables on a different host than the target. |
--datadir=path , --ldata=path | The path to the MariaDB data 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. |
--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. |
Using a server compiled with --disable-grant-options
The following only apply in the exceptional case that you are using a mysqld server which is configured with the --disable-grant-options
option:
mysql_install_db
needs to invoke mysqld
with the
--bootstrap
and --skip-grant-tables
options.
A MariaDB configured with the --disable-grant-options
option has --bootstrap
and --skip-grant-tables
disabled. To handle this case, set the MYSQLD_BOOTSTRAP
environment
variable to the full path name of a mysqld server that is configured without --disable-grant-options
. mysql_install_db
will use that server.
See also
- Installing system tables (mysql_install_db)
- The Windows version of
mysql_install_db
:mysql_install_db.exe