我想知道在不提示输入密码的情况下执行数据库mysqldump的命令。
原因:我想运行一个cron作业,该作业每天执行一次mysqldump数据库的转储。因此,出现提示时,我将无法插入密码。
我该如何解决?
由于您正在使用Ubuntu,因此您所要做的只是在主目录中添加一个文件,这将禁用mysqldump密码提示。这是通过创建文件来完成的~/.my.cnf(权限需要为600)。
~/.my.cnf
将此添加到.my.cnf文件
[mysqldump] user=mysqluser password=secret
这样,您就可以以需要密码的MySQL用户身份进行连接,而无需实际输入密码。您甚至不需要-p或–password。
对于编写mysql&mysqldump命令脚本非常方便。
可在此链接中找到实现此目标的步骤。
或者,您可以使用以下命令:
mysqldump -u [user name] -p[password] [database name] > [dump file]
但请注意,它本质上是不安全的,因为转储运行时,系统上的任何其他用户都可以使用简单的ps ax命令查看整个命令(包括密码)。
ps ax