Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2832993
  • 博文数量: 200
  • 博客积分: 2413
  • 博客等级: 大尉
  • 技术积分: 3067
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-01 22:07
文章分类

全部博文(200)

文章存档

2018年(2)

2017年(8)

2016年(35)

2015年(14)

2014年(20)

2013年(24)

2012年(53)

2011年(44)

分类: Mysql/postgreSQL

2015-11-24 13:22:44


mysql_install_db文件位于$BASE_DIR/scripts目录下(也就是mysql安装目录下),它是scripts目录下的唯一文件。

作用:主要是生成datadir下的文件
1、用来初始化MySQL的数据目录(data directory)和创建系统表(当data directory和系统表不存在的时候)。
2、也用来初始化innodb引擎管理使用的系统表空间(system tablespace)和数据结构(data structure)。

从5.6.8开始,mysql_install_db变为perl脚本,可以在任何系统使用perl语言安装。
在5.6.8之前,它是shell,只能在unix平台使用。

在unix平台从5.6.8开始,执行mysql_install_db会在mysql安装目录下产生一个默认的my.cnf文件,这个my.cnf文件是根据安装目录下的support-files/my-default.cnf创建的。
使用mysqld_safe启动时,默认使用这个my.cnf文件(/etc/my.cnf不存在的时候);如果这个my.cnf文件已经存储,mysql_install_db假设这个my.cnf在被使用,然后写一个新文件叫做my-new.cnf。
如果不想在安装目录下产生my.cnf文件,那么在mysql_install_db后加上--keep-my-cnf选项。


 mysql_install_db Options

Format Description Introduced Deprecated
--basedir Path to base directory
--builddir Path to build directory (for out-of-source builds)
--cross-bootstrap For internal use
--datadir Path to data directory
--defaults-extra-file Read named option file in addition to usual option files
--defaults-file Read only named option file
--force Run even if DNS does not work
--help Display help message and exit
--keep-my-cnf Keep existing my.cnf file, do not create new one 5.6.20 5.6.20
--ldata Synonym for --datadir
--no-defaults Read no option files
--random-passwords Generate administrative account random password 5.6.8
--rpm For internal use
--skip-name-resolve Use IP addresses rather than host names in grant tables
--srcdir For internal use
--user System login user under which to execute mysqld
--verbose Verbose mode
--windows For internal use

 

  • --help

    Display a help message and exit.

  •  --basedir=dir_name

    The path to the MySQL installation directory.

  •  --builddir=dir_name

    For use with --srcdir and out-of-source builds. Set this to the location of the directory where the built files reside.

  •  --cross-bootstrap

    For internal use. This option is used for building system tables on one host intended for another.

  •  --datadir=dir_name

    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.

  •  --defaults-extra-file=file_name

    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. file_name is interpreted relative to the current directory if given as a relative path name rather than a full path name.

  •  --defaults-file=file_name

    Use only the given option file. If the file does not exist or is otherwise inaccessible, an error occurs. file_name is interpreted relative to the current directory if given as a relative path name rather than a full path name.

  •  --force

    Cause mysql_install_db to run even if DNS does not work. Grant table entries normally created using host names will use IP addresses instead.

  •  --keep-my-cnf

    Tell mysql_install_db 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.

  •  --ldata=dir_name

    A synonym for --datadir.

  •  --no-defaults

    Do not read any option files. If program startup fails due to reading unknown options from an option file, --no-defaults can be used to prevent them from being read.

  •  --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:

    • The installation process creates a random password, assigns it to the initial MySQL root accounts, and sets the password expiredflag for those accounts.

    •  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 sudo may cause the value of HOME to refer to the home directory of theroot 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.

    • No anonymous-user MySQL accounts are created.

    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 rootaccount 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=dir_name

    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 the system root user 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.


     

转载请注明:
十字螺丝钉
http://blog.chinaunix.net/uid/23284114.html

QQ:463725310
E-MAIL:houora#gmail.com(#请自行替换为@)




阅读(4078) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~