小编典典

如何在没有密码提示的情况下执行 mysqldump?

all

我想知道在不提示输入密码的情况下执行数据库 mysqldump 的命令。

原因:我想运行一个 cron 作业,它每天需要一次数据库的 mysqldump。因此,当出现提示时,我将无法插入密码。

我怎么能解决这个问题?


阅读 94

收藏
2022-04-27

共1个答案

小编典典

由于您使用的是 Ubuntu,因此您只需在主目录中添加一个文件,它将禁用 mysqldump
密码提示。这是通过创建文件来完成的~/.my.cnf(权限需要为 600)。

将此添加到.my.cnf文件中

[mysqldump]
user=mysqluser
password=secret

这使您可以作为需要密码的 MySQL 用户进行连接,而无需实际输入密码。您甚至不需要 -p 或 –password。

对于编写 mysql 和 mysqldump 命令的脚本非常方便。

可以在此链接中找到实现此目的的步骤。

或者,您可以使用以下命令:

mysqldump -u [user name] -p[password] [database name] > [dump file]

但请注意,它本质上是不安全的,因为在转储运行时,系统上的任何其他用户都可以通过一个简单的ps ax命令查看整个命令(包括密码)。

2022-04-27