'\" t .\" Title: \fBmysql_install_db\fR .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 03/02/2016 .\" Manual: MySQL Database System .\" Source: MySQL 5.6 .\" Language: English .\" .TH "\FBMYSQL_INSTALL_DB\" "1" "03/02/2016" "MySQL 5\&.6" "MySQL Database System" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .\" mysql_install_db .SH "NAME" mysql_install_db \- initialize MySQL data directory .SH "SYNOPSIS" .HP \w'\fBmysql_install_db\ [\fR\fB\fIoptions\fR\fR\fB]\fR\ 'u \fBmysql_install_db [\fR\fB\fIoptions\fR\fR\fB]\fR .SH "DESCRIPTION" .PP \fBmysql_install_db\fR initializes the MySQL data directory and creates the system tables that it contains, if they do not exist\&. It also initializes the system tablespace and related data structures needed to manage InnoDB tables\&. As of MySQL 5\&.6\&.8, \fBmysql_install_db\fR is a Perl script and can be used on any system with Perl installed\&. Before 5\&.6\&.8, it is a shell script and is available only on Unix platforms\&. .PP As of MySQL 5\&.6\&.8, on Unix platforms, \fBmysql_install_db\fR creates a default option file named my\&.cnf in the base installation directory\&. This file is created from a template included in the distribution package named my\-default\&.cnf\&. You can find the template in or under the base installation directory\&. When started using \fBmysqld_safe\fR, the server uses my\&.cnf file by default\&. If my\&.cnf already exists, \fBmysql_install_db\fR assumes it to be in use and writes a new file named my\-new\&.cnf instead\&. .PP With one exception, the settings in the default option file are commented and have no effect\&. The exception is that the file sets the sql_mode system variable to NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES\&. This setting produces a server configuration that results in errors rather than warnings for bad data in operations that modify transactional tables\&. See Section\ \&5.1.7, \(lqServer SQL Modes\(rq\&. .PP To invoke \fBmysql_install_db\fR, use the following syntax: .sp .if n \{\ .RS 4 .\} .nf shell> \fBmysql_install_db [\fR\fB\fIoptions\fR\fR\fB]\fR .fi .if n \{\ .RE .\} .PP Because the MySQL server, \fBmysqld\fR, must access the data directory when it runs later, you should either run \fBmysql_install_db\fR from the same system account that will be used for running \fBmysqld\fR, or run it as root and specify the \fB\-\-user\fR option to indicate the user name that \fBmysqld\fR will run as\&. It might be necessary to specify other options such as \fB\-\-basedir\fR or \fB\-\-datadir\fR if \fBmysql_install_db\fR does not use the correct locations for the installation directory or data directory\&. For example: .sp .if n \{\ .RS 4 .\} .nf shell> \fBscripts/mysql_install_db \-\-user=mysql \e\fR \fB\-\-basedir=/opt/mysql/mysql \e\fR \fB\-\-datadir=/opt/mysql/mysql/data\fR .fi .if n \{\ .RE .\} .sp .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBNote\fR .ps -1 .br .PP After \fBmysql_install_db\fR sets up the InnoDB system tablespace, changes to some tablespace characteristics require setting up a whole new instance\&. This includes the file name of the first file in the system tablespace and the number of undo logs\&. If you do not want to use the default values, make sure that the settings for the innodb_data_file_path and innodb_log_file_size configuration parameters are in place in the MySQL configuration file before running \fBmysql_install_db\fR\&. Also make sure to specify as necessary other parameters that affect the creation and location of InnoDB files, such as innodb_data_home_dir and innodb_log_group_home_dir\&. .PP If those options are in your configuration file but that file is not in a location that MySQL reads by default, specify the file location using the \fB\-\-defaults\-extra\-file\fR option when you run \fBmysql_install_db\fR\&. .sp .5v .RE .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBNote\fR .ps -1 .br .PP If you have set a custom TMPDIR environment variable when performing the installation, and the specified directory is not accessible, \fBmysql_install_db\fR may fail\&. If so, unset TMPDIR or set TMPDIR to point to the system temporary directory (usually /tmp)\&. .sp .5v .RE .PP \fBmysql_install_db\fR 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 \fBmysqld\fR can also be specified in the [mysqld] group\&.) Other options are passed to \fBmysqld\fR\&. For information about option files used by MySQL programs, see Section\ \&4.2.6, \(lqUsing Option Files\(rq\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" mysql_install_db: help option .\" help option: mysql_install_db \fB\-\-help\fR .sp Display a help message and exit\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" mysql_install_db: basedir option .\" basedir option: mysql_install_db \fB\-\-basedir=\fR\fB\fIdir_name\fR\fR .sp The path to the MySQL installation directory\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" mysql_install_db: builddir option .\" builddir option: mysql_install_db \fB\-\-builddir=\fR\fB\fIdir_name\fR\fR .sp For use with \fB\-\-srcdir\fR and out\-of\-source builds\&. Set this to the location of the directory where the built files reside\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" mysql_install_db: cross-bootstrap option .\" cross-bootstrap option: mysql_install_db \fB\-\-cross\-bootstrap\fR .sp For internal use\&. This option is used for building system tables on one host intended for another\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" mysql_install_db: datadir option .\" datadir option: mysql_install_db \fB\-\-datadir=\fR\fB\fIdir_name\fR\fR .sp The path to the MySQL data directory\&. Beginning with MySQL 5\&.6\&.8, \fBmysql_install_db\fR is more strict about the option value\&. Only the last component of the path name is created if it does not exist; the parent directory must already exist or an error occurs\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" defaults-extra-file option \fB\-\-defaults\-extra\-file=\fR\fB\fIfile_name\fR\fR .sp 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\&. \fIfile_name\fR is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" defaults-file option \fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR .sp Use only the given option file\&. If the file does not exist or is otherwise inaccessible, an error occurs\&. \fIfile_name\fR is interpreted relative to the current directory if given as a relative path name rather than a full path name\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" mysql_install_db: force option .\" force option: mysql_install_db \fB\-\-force\fR .sp Cause \fBmysql_install_db\fR to run even if DNS does not work\&. Grant table entries normally created using host names will use IP addresses instead\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" mysql_install_db: keep-my-cnf option .\" keep-my-cnf option: mysql_install_db \fB\-\-keep\-my\-cnf\fR .sp Tell \fBmysql_install_db\fR to preserve any existing my\&.cnf file and not create a new default my\&.cnf file\&. This option was added in MySQL 5\&.6\&.20\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" mysql_install_db: ldata option .\" ldata option: mysql_install_db \fB\-\-ldata=\fR\fB\fIdir_name\fR\fR .sp A synonym for \fB\-\-datadir\fR\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" no-defaults option \fB\-\-no\-defaults\fR .sp Do not read any option files\&. If program startup fails due to reading unknown options from an option file, \fB\-\-no\-defaults\fR can be used to prevent them from being read\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" mysql_install_db: random-passwords option .\" random-passwords option: mysql_install_db \fB\-\-random\-passwords\fR .sp On Unix platforms, this option provides for more secure MySQL installation\&. Invoking \fBmysql_install_db\fR with \fB\-\-random\-passwords\fR causes it to perform the following actions in addition to its normal operation: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} The installation process creates a random password, assigns it to the initial MySQL root accounts, and sets the \(lqpassword expired\(rq flag for those accounts\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" .mysql_secret file The initial random root password is written to the \&.mysql_secret file in the directory named by the HOME environment variable\&. Depending on operating system, using a command such as \fBsudo\fR may cause the value of HOME to refer to the home directory of the root system user\&. .sp If \&.mysql_secret already exists, the new password information is appended to it\&. Each password entry includes a timestamp so that in the event of multiple install operations it is possible to determine the password associated with each one\&. .sp \&.mysql_secret is created with mode 600 to be accessible only to the system user for whom it is created\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} No anonymous\-user MySQL accounts are created\&. .RE .sp As a result of these actions, it is necessary after installation to start the server, connect as root using the password written to the \&.mysql_secret file, and specify a new root password\&. Until this is done, root cannot do anything else\&. This must be done for each root account you intend to use\&. To change the password, you can use the SET PASSWORD statement (for example, with the \fBmysql\fR client)\&. You can also use \fBmysqladmin\fR or \fBmysql_secure_installation\fR\&. .sp New RPM install operations (not upgrades) invoke \fBmysql_install_db\fR with the \fB\-\-random\-passwords\fR option\&. (Install operations using RPMs for Unbreakable Linux Network are unaffected because they do not use \fBmysql_install_db\fR\&.) .sp As of MySQL 5\&.6\&.9, new Solaris PKG install operations (not upgrades) invoke \fBmysql_install_db\fR with the \fB\-\-random\-passwords\fR option\&. .sp For install operations using a binary \&.tar\&.gz distribution or a source distribution, you can invoke \fBmysql_install_db\fR with the \fB\-\-random\-passwords\fR option manually to make your MySQL installation more secure\&. This is recommended, particularly for sites with sensitive data\&. .sp This option was added in MySQL 5\&.6\&.8\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" mysql_install_db: rpm option .\" rpm option: mysql_install_db \fB\-\-rpm\fR .sp For internal use\&. This option is used during the MySQL installation process for install operations performed using RPM packages\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" mysql_install_db: skip-name-resolve option .\" skip-name-resolve option: mysql_install_db \fB\-\-skip\-name\-resolve\fR .sp Use IP addresses rather than host names when creating grant table entries\&. This option can be useful if your DNS does not work\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" mysql_install_db: srcdir option .\" srcdir option: mysql_install_db \fB\-\-srcdir=\fR\fB\fIdir_name\fR\fR .sp For internal use\&. This option specifies the directory under which \fBmysql_install_db\fR looks for support files such as the error message file and the file for populating the help tables\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" mysql_install_db: user option .\" user option: mysql_install_db \fB\-\-user=\fR\fB\fIuser_name\fR\fR .sp The system (login) user name to use for running \fBmysqld\fR\&. Files and directories created by \fBmysqld\fR will be owned by this user\&. You must be the system root user to use this option\&. By default, \fBmysqld\fR runs using your current login name and files and directories that it creates will be owned by you\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" mysql_install_db: verbose option .\" verbose option: mysql_install_db \fB\-\-verbose\fR .sp Verbose mode\&. Print more information about what the program does\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} .\" mysql_install_db: windows option .\" windows option: mysql_install_db \fB\-\-windows\fR .sp For internal use\&. This option is used for creating Windows distributions\&. .RE .SH "COPYRIGHT" .br .PP Copyright \(co 1997, 2016, Oracle and/or its affiliates. All rights reserved. .PP This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. .PP This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/. .sp .SH "SEE ALSO" For more information, please refer to the MySQL Reference Manual, which may already be installed locally and which is also available online at http://dev.mysql.com/doc/. .SH AUTHOR Oracle Corporation (http://dev.mysql.com/).