mysql_install_db是一个默认放在.../mysql/scripts的一个初始化脚本。
该脚本可以在任何装有perl的操作系统上被使用,在5.6.8之前的版本,该脚本是一个shell脚本,并只能在unix平台上使用。

5.7.6以后的版本,该脚本也将被移除。

官方对它的介绍是:

Initialize MySQL Data Directory

安装完mysql server时,一般要执行这个脚本对数据库初始化。

运行这个脚本,会初始化mysql的data目录,并且创建那些系统表。
同样也会初始化系统表空间并且关联innodb表与数据结构。

截至5.6.8版本,在unix平台,mysql_install_db创建一个被命名为“my.cnf”默认的参数文件在base安装目录。
该my.cnf是根据.../mysql/support-files/my-default.cnf所创建的。
如果my.cnf已经存在,脚本会假定my.cnf正在被使用,并会创建一个被命名为“my-new.cnf”的文件。

用法举例:
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql3306

其中--user为mysqld服务的运行用户
--basedir和--datadir则分别代表mysql的安装目录和数据存放目录

在5.6.8之后的版本,用此种方式初始化后,root密码将会存放在 /root/.mysql_secret中
详细见 --random-passwords 参数。

其他选项:(博主手动翻译可能存在出入,详情请参考手册)

--help
显示帮助信息

--basedir=path
mysql 安装目录的路径

--builddir=path
build 目录的路径,用于out-of-source构建。

--cross-bootstrap
供内部使用。

--datadir=path
mysql 数据目录的路径

--defaults-extra-file=file_name
在读取全局选项文件和在读取用户选项文件之前,读取这个文件(选项文件),如果该文件不存在,将会抛出错误。(仅限unix平台)

--defaults-file=file_name
用被提供的选项文件,如果该文件不存在,将会抛出提示。

--force
当dns无法用时将通过ip地址代替。

--keep-my-cnf
在5.6.20中被添加,mysql_install_db保存任何已经存在的my.cnf文件,并且不创建新的默认my.cnf文件。

--ldata=path
与--datadir同义。

--no-defaults
不读取任何选项文件,该选项在mysql_install_db启动时,若因为读取了未知的参数而启动失败时使用。

--random-passwords
5.6.8中加入该选项,在unix平台,该选项在mysql安装时增添了更多安全性。
程序会给root初始化一个随机密码,被写入.mysql_secret文件,并且放置在对应用户的home目录下
如果.mysql_secret文件已经存在,新密码信息会被追加上去,每一个密码都会有时间戳信息,该文件默认权限是600。
并且没有匿名mysql用户存在。
通过RPM新安装mysql并使用mysql_install_db时,将会默认调用--random-passwords选项。(升级除外)
在5.6.9,solaris PKG新安装并且使用mysql_install_db时,同样也会调用--random-passwords。(升级除外)

用二进制或者源码安装时,可以在使用mysql_install_db时手动的添加--random-passwords选项。

--rpm
供内部使用。

--skip-name-resolve
当创建授权表时,用ip地址而不是host名,这个选项在你的DNS不起作用时,非常有用。

--srcdir=path
供内部使用。

--user=user_name
运行mysqld的系统用户名,通过mysqld创建的文件和目录的归属者将为该用户。

--verbose
Verbose模式,打印更多关于这个程序的信息。

--windows
供内部使用,5.7.5将移除。

MySQL初始化脚本mysql_install_db使用简介及选项参数的更多相关文章

  1. 分析MariaDB初始化脚本mysql_install_db

    在初始化MySQL的过程中经常会碰到各种问题,如 FATAL ERROR: Could not find ./bin/my_print_defaults ERROR: Can't create/wri ...

  2. mysql 初始化脚本

    脚本须知: 1. 确认mysql的数据目录,二进制日志目录,中继日志的目录,安装目录的位置 2. 初始化会对前三个目录执行清空操作,不过清空前该脚本对其进行了压缩打包统一存放在/tmp目录下 3. 脚 ...

  3. MySQL for OPS 01:简介 / 安装初始化 / 用户授权管理

    写在前面的话 取这个标题的目的很简单,MySQL 在中小型企业中一般都是由运维来维护的,除非数据很重要的公司可能会聘请 DBA. 但是运维一般存在由于所需要了解的东西很多很杂,导致学习过程中很多东西只 ...

  4. jeecg安装——mysql数据库创建+手动执行初始化脚本

    国产的开源项目官方文档写得那么详细,已经是很厚道了,可惜俺这种菜鸟还是会碰到各种"小"问题,做个笔记先! 1.新建数据库: CREATE DATABASE jeecg DEFAUL ...

  5. docker mysql初始化多个sql脚本

    一.概述 现有一台服务器,需要部署mysql.其中mysql容器,需要在第一次启动时,执行多个sql文件. 文件名 说明 执行顺序 init.sql 创建数据库以及用户 1 users.sql 用户表 ...

  6. MySQL初始化以及客户端工具的使用

    MySQL初始化以及客户端工具的使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是关系型数据库 关系型数据库通常是把所有的数据都组织成二维关系.之所以称为关系型数据库是 ...

  7. 【转】【MySql】脚本备份数据库

    #!/bin/bash #this is a script of mysql backup if [ ! -d /mydata/data1/backup ] ;then mkdir /mydata/d ...

  8. centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课

    centos   shell编程6一些工作中实践脚本   nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志  直接送给bc做计算  gzip  innobacku ...

  9. MySQL安装脚本0104-亲试ok

    #!/bin/bash export host_ip=192.168.7.79 export password=123456   echo '#1.取master主机ip的后三位作为master的se ...

随机推荐

  1. WebService操作

    webservice是一种服务器通信技术,封装了socket.

  2. 网络OSI和TCP/IP参考模型详解

    网络模型 对应协议 转载自: https://www.2cto.com/kf/201612/576253.html

  3. Linux 理解 %iowait (%wio)

    理解 %iowait (%wio) 2016/02/25 %iowait 是 “sar -u” 等工具检查CPU使用率时显示的一个指标,在Linux上显示为 %iowait,在有的Unix版本上显示为 ...

  4. jQuery相关方法8-----解绑事件

    一.解绑事件方法unbind() 用什么方式绑定的事件,最好用对应的方式解绑事件 unbind("事件名字")括号里写上事件名字,就会解除这个事件 unbind()括号里没有参数就 ...

  5. 可持久化数据结构(平衡树、trie树、线段树) 总结

    然而好像没有平衡树 还是题解包: T1:森林 树上主席树+启发式合并. 然而好像知道标签就没啥了.在启发式合并时可以顺手求lca 然而这题好像可以时间换空间(回收空间) T2:影魔 难点在于考虑贡献的 ...

  6. PHP全栈学习笔记31

    伪类:未被访问状态,已被访问状态,鼠标悬停状态,活动状态 :link 未被访问的链接添加样式 :visited 向已被访问链接添加样式 :hover 向鼠标悬停时向元素添加样式 :active 向被激 ...

  7. Python3循环

    Python中while语句的一般形式: while 判断条件: 语句 同样需要注意冒号和缩进,另外在Python中没有do…while循环 下面的实例计算1到100总和 ##calc.py n = ...

  8. hbuilder mui html vue ul li 自定义循环赋值ID

    <ul class="mui-table-view mui-table-view-chevron"> <li class="mui-table-view ...

  9. Java并发编程示例代码-----ReentrantLock

    public class ReenterLock implements Runnable{ public static ReentrantLock lock=new ReentrantLock(); ...

  10. python学习:模块(第一节)

    1.什么是模块? 如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了.为此 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这 ...