Linux服务器上Mysql自动更新

Linux服务器上Mysql自动更新

我们正在运行几个共享主机 Linux 服务器和一个私人服务器。我们在这些服务器上运行 cPanel/WHM 许可证。

我面临的困境是:

如何自动运行以下命令?

mysqlcheck -u root -p --自动修复 --检查 --优化 --所有数据库

问题是我被提示输入 root 密码,但我想自动运行此命令,而密码提示会中断此过程。

请帮我。

答案1

将您的根凭据存储在只有根用户可以访问的文件中。然后只需传递凭据文件名即可。

mysqlcheck --defaults-file=/etc/mysql/root.cnf  --auto-repair --check --optimize --all-databases

/etc/mysql/root.cnf

[client]
host     = servername.domain.tld
user     = backup
password = strongpassword

只要/etc/mysql/root.cnf只有 root 可读,这就不会造成巨大的安全漏洞,因为 root 用户可以轻松重置 mysql 密码,而根本不需要任何 mysql 凭据。

答案2

您可以将所需的密码放在[client]~/.my.cnf 部分中,也可以放在您指定的其他配置文件中--defaults-extra-file=path/to/yourconfig.cnf

欲了解更多详情,请参阅选项文件MySQL 文档的一部分。

答案3

您可以在命令行上提供密码。当然,这会带来一些隐私/安全问题。

mysqlcheck -uroot -pPASSWORD --auto-repair --check --optimize --all-databases

相关内容