mysql_install_db man page on SmartOS
[printable version]
MYSQL_INSTALL_DB() MYSQL_INSTALL_DB()
NAME
mysql_install_db - initialize MySQL data directory
SYNOPSIS
mysql_install_db [options]
DESCRIPTION
mysql_install_db 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, mysql_install_db 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.
As of MySQL 5.6.8, on Unix platforms, mysql_install_db 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 mysqld_safe, the server
uses my.cnf file by default. If my.cnf already exists, mysql_install_db
assumes it to be in use and writes a new file named my-new.cnf instead.
With one exception, the settings in the default option file are
commented and have no effect. The exception is that the file changes
the sql_mode system variable from its default of NO_ENGINE_SUBSTITUTION
to also include 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,
“Server SQL Modes”.
To invoke mysql_install_db, use the following syntax:
shell> mysql_install_db [options]
Because the MySQL server, mysqld, needs to access the data directory
when it runs later, you should either run mysql_install_db from the
same system 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 needs to invoke mysqld with the --bootstrap and
--skip-grant-tables options.
Note
If you have set a custom TMPDIR environment variable when
performing the installation, and the specified directory is not
accessible, mysql_install_db may fail. If so, unset TMPDIR or set
TMPDIR to point to the system temporary directory (usually /tmp).
After mysql_install_db sets up the InnoDB system tablespace,
changes to some of 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
options are in place in the MySQL configuration file before running
mysql_install_db.
mysql_install_db 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 mysqld can also be specified in the
[mysqld] group.) Other options are passed to mysqld. For information
about option files, see Section 4.2.3.3, “Using Option Files”.
mysql_install_db also supports the options for processing option files
described at Section 4.2.3.4, “Command-Line Options that Affect Option-
File Handling”.
· --basedir=path
The path to the MySQL installation directory.
· --datadir=path, --ldata=path
The path to the MySQL data directory. Beginning with MySQL 5.6.8,
mysql_install_db 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.
· --force
Cause mysql_install_db to run even if DNS does not work. Grant
table entries that normally use host names will use IP addresses.
· --random-passwords
On Unix platforms, this option provides for more secure MySQL
installation. Invoking mysql_install_db with --random-passwords
causes it to perform the following actions in addition to its
normal operation:
· Create a random password, assign it to the initial MySQL root
accounts, and set the “password expired” flag for those
accounts.
· Write the initial password file to the .mysql_secret file in
the directory named by the HOME environment variable. Depending
on operating system, using a command such as sudo may cause the
value of HOME to refer to the home directory of the root system
user.
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.
.mysql_secret is created with mode 600 to be accessible only to
the system user for whom it is created.
· Not create anonymous-user MySQL accounts.
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 to assign 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 mysql client).
You can also use mysqladmin or mysql_secure_installation.
New RPM install operations (not upgrades) invoke mysql_install_db
with the --random-passwords option. (Install operations using RPMs
for Unbreakable Linux Network are unaffected because they do not
use mysql_install_db.)
As of MySQL 5.6.9, new Solaris PKG install operations (not
upgrades) invoke mysql_install_db with the --random-passwords
option.
For install operations using a binary .tar.gz distribution or a
source distribution, you can invoke mysql_install_db with the
--random-passwords option manually to make your MySQL installation
more secure. This is recommended, particularly for sites with
sensitive data.
This option was added in MySQL 5.6.8.
· --rpm
For internal use. This option is used during the MySQL installation
process for install operations performed using RPM packages.
· --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. This option specifies 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.
· --user=user_name
The system (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.
COPYRIGHT
Copyright © 1997, 2014, Oracle and/or its affiliates. All rights
reserved.
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.
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.
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/.
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/.
AUTHOR
Oracle Corporation (http://dev.mysql.com/).
MYSQL_INSTALL_DB()
[top]
List of man pages available for SmartOS
Copyright (c) for man pages and the logo by the respective OS vendor.
For those who want to learn more, the polarhome community provides shell access and support.
[legal]
[privacy]
[GNU]
[policy]
[cookies]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
|
Vote for polarhome
|