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 \

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.

--basedir=pathThe path to the MariaDB installation directory.
--builddir=pathIf 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-bootstrapFor internal use. Used when building the MariaDB system tables on a different host than the target.
--datadir=path, --ldata=pathThe path to the MariaDB data directory.
--defaults-extra-file=nameRead this file after the global files are read. Must be given as the first option.
--defaults-file=nameOnly read default options from the given file name Must be given as the first option.
--forceCause 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.
--no-defaultsDon't read default options from any option file. Must be given as the first option.
--print-defaultsPrint the program argument list and exit. Must be given as the first option.
--rpmFor internal use. This option is used by RPM files during the MariaDB installation process.
--skip-name-resolveUse IP addresses rather than host names when creating grant table entries. This option can be useful if your DNS does not work.
--srcdir=pathFor 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. Added in MySQL 5.1.14.
--user=user_nameThe 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.
--verboseVerbose mode. Print more information about what the program does.
--windowsFor internal use. This option is used for creating Windows distributions.

Using mysql_install_db from source tree

Using mysql_install_db from a MariaDB source tree that you have just compiled can be done without having to install MariaDB and is useful if you want to test your MariaDB server without disturbing any old installation of MariaDB.

./scripts/mysql_install_db --srcdir=. --datadir=path-to-temporary-data-dir

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


Comments loading...