如何使用.mylogin.cnf自动执行mysqladmin和mysql_secure_installation查询?

时间:2018-05-02 16:20:04

标签: mysql percona

我正在考虑使用Chef服务器将MySQL安装到新主机时自动执行一些操作。其中包括:

  • mysqladmin -u root password {password_here}
  • mysql_secure_installation

我创建了一个带有两个登录路径的.mylogin.cnf文件,admin(root用户)和mysqluser(非root用户)。

我的问题是我无法获取(或了解如何).mylogin.cnf来创建数据库用户和密码;并且我无法使用--defaults-file = .mylogin.cnf自动化mysql_secure_installation(假设--defaults文件的工作原理),即使它没有指定登录路径。最初我通过命令行运行mysql查询来强化服务,但是被告知mysql_secure_installation使用--no-defaults和--defaults-file来自动完成这个特定的任务,但是在网上找不到这些参数。

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

选项--defaults-file不用于在您运行的任何工具中设置/更改选项。此文件仅用于指定连接选项(即:主机,用户名,套接字等)。具体而言,对于mysql_secure_installation,您可以尝试--use-default,根据手册,它用于无人值守执行。在MySQL 5.7中,生成随机root密码并在错误日志中打印。只需在您的Chef脚本中为该密码grep这个文件,然后连接到MySQL并运行创建新用户,dbs等所需的任何命令。仅供参考,生成的root密码已过期,因此当您连接时,您必须先更改它在你做任何其他事情之前。