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. Codeforces Round #438 by Sberbank and Barcelona Bootcamp (Div. 1 + Div. 2 combined) A,B,C【真的菜·】

    8说了 #include<bits/stdc++.h> using namespace std; #define int long long signed main(){ string s ...

  2. kalilinux MSF数据库的连接

    需要自动连接数据库.如下设置.

  3. Oracle 通过sqlnet.ora文件控制对Oracle数据库的访问

    一.通过sqlnet.ora文件控制对Oracle数据库的访问 出于数据安全考虑,对Oracle数据库的IP做一些限制,只有固定的IP才能访问.修改$JAVA_HOME/NETWORK/ADMIN/s ...

  4. tsnr--基于vpp+dpdk的高性能防火墙

    tsnr--基于vpp+dpdk的高性能防火墙 2019年01月31日 12:06:00 网络安全研发随想 阅读数:508   版权声明:本文为博主原创文章,未经博主允许不得转载. https://b ...

  5. Hibernate HQL和QBC

    OID查询 一.什么是OID查询 根据对象的OID主键进行检索 二.OID查询方式 1. get方法 当get()方法被调用的时候就会立即发出SQL语句 并且返回的对象也是实际的对象 使用get()和 ...

  6. 常见的可以写入VIM配置文件中的设置参数

    常见的可以写入.vimrc文件中的设置参数 设置参数 含义 :set nu :set nonu 设置与取消行号 :syn on :syn off 是否依据语法显示相关的颜色帮助,在VIM修改相关的配置 ...

  7. 【Java】浅谈Java内部类(转载)

    说得挺细的,不是泛泛而谈.https://blog.csdn.net/weixin_42762133/article/details/82890555

  8. PYNQ系列学习(二)——pynq与zynq对比(一)

    Zynq可扩展处理平台是赛灵思新一代 FPGA的可编程技术的产品系列.与采用嵌入式处理器的FPGA不同,Zynq产品系列的处理系统不仅能在开机时启动,而且还可根据需要配置可编程逻辑.采用这种方法,软件 ...

  9. wordpress插件开发流程梳理

    1.声明一个插件 首先我们必须明白,wordpress的插件可以是单文件,也可以是多文件,css/html都不是必须的,以下举例暂且在单文件模式下 比如我们要创建一个名为 hellophp的插件,那我 ...

  10. 导入GoogleClusterData到MySQL

    本篇随笔记录如何导入google-cluster-data-2011-1-2的 job_events和task_events到MySQL 1. 下载数据 download_job_events: im ...