mysql_install_db-初始化MySQL数据目录

mysql_install_db处理在MySQL服务器i.emysqld准备就绪之前需要执行的初始化任务。它初始化MySQL数据目录并帮助创建它包含的系统表。它初始化需要使用的系统表空间和相关数据结构来管理InnoDB表。

默认安全部署

当前版本的mysql_install_db将产生一个默认情况下安全的MySQL部署。具有以下特征。

  • 将使用随机生成的密码创建一个名为“ root” @“ localhost”的管理帐户,并将其标记为已过期。

  • 没有创建匿名用户帐户。

  • 没有创建所有用户都可以访问的测试数据库。

  • “ --admin-xxx”选项可用,有助于控制管理帐户的特征。

  • “ --random-password-file”选项可用于控制写入随机密码的位置。

  • “ -insecure”选项可用于禁止生成随机密码。

如果mysql_install_db可以生成一个随机的管理密码,它将把密码写入文件并显示文件名。

调用语法

现在让我们了解调用语法-

将位置更改为MySQL安装目录,并使用下面提到的语法-

shell> bin/mysql_install_db --datadir=path/to/datadir [other_options]

--datadir选项是强制性的。mysql_install_db创建数据目录,该目录不应该已经存在。如果数据目录已经存在,则说明正在执行升级操作,而不是安装操作。它应该运行mysql_upgrade而不是mysql_install_db。如果数据目录不存在,但mysql_install_db失败,则应在再次运行mysql_install_db之前删除任何部分创建的数据目录。

由于MySQL服务器mysqld稍后运行时必须访问数据目录,因此用户应从用于运行mysqld的同一系统帐户运行mysql_install_db,或以root用户身份运行它并指定--user选项以指示用户名。 mysqld在下运行。