mysql_install_db - 初始化 MySQL 数据目录
mysql_install_db 处理在 MySQL 服务器(即 mysqld)准备就绪之前需要执行的初始化任务。它初始化 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 在其下运行的用户名称。