我想知道在不提示输入密码的情况下执行数据库 mysqldump 的命令。
原因:我想运行一个 cron 作业,它每天需要一次数据库的 mysqldump。因此,当出现提示时,我将无法插入密码。
我怎么能解决这个问题?
由于您使用的是 Ubuntu,因此您只需在主目录中添加一个文件,它将禁用 mysqldump 密码提示。这是通过创建文件来完成的~/.my.cnf(权限需要为 600)。
~/.my.cnf
将此添加到.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