一尘不染

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

mysql

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

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

我该如何解决?


阅读 433

收藏
2020-05-17

共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命令查看整个命令(包括密码)。

2020-05-17