mysqldump提示密码,即使凭据保存在/home/user/.my.cnf
我的最终目标是创建一个mysqldump提示密码,即使凭据保存在/home/user/.my.cnf,mysql,database,dump,Mysql,Database,Dump,我的最终目标是创建一个cron脚本,每天自动转储一次选定的MySQL数据库(ngsRunStats\u FK)。请注意,MySQL用户ngs\u run\u stats拥有MySQL的所有权限 虽然我在终端上运行时,我希望富兰克林的回答能够完成这项工作 mysqldump --defaults-extra-file=/home/user/.my.cnf -S /nexus/cliniphenome/mysql.sock -u ngs_run_stats -p ngsRunStats_FK --
cron
脚本,每天自动转储一次选定的MySQL数据库(ngsRunStats\u FK
)。请注意,MySQL用户ngs\u run\u stats
拥有MySQL的所有权限
虽然我在终端上运行时,我希望富兰克林的回答能够完成这项工作
mysqldump --defaults-extra-file=/home/user/.my.cnf -S /nexus/cliniphenome/mysql.sock -u ngs_run_stats -p ngsRunStats_FK --lock-tables=false > test.sql
我仍然需要提示我的密码。如果我正确输入密码,转储将按预期工作。但是,如前所述,这应该自动完成,即不提示输入密码
我假设,如果在终端上调用命令时要求我提示密码,我的cron
(此处未显示)脚本将无法工作。还是这个假设是错误的
My/home/user/.My.cnf
看起来是这样的:
[mysqldump]
user = ngs_run_stats
password = mypassword
并且具有权限600
请尝试以下操作:
mysqldump --defaults-extra-file=/home/user/.my.cnf -S /nexus/cliniphenome/mysql.sock -u ngs_run_stats -pngsRunStats_FK --lock-tables=false > test.sql
在-p标志和输入密码之间应该没有空格
但是,请注意,这是一种连接到数据库的不安全方式,因为密码将在命令中以明文形式显示,并且可以通过日志看到。错误在于我正在传递将提示密码的
-p
标志。我误读了你的信息。因此我应该省略-p
标志,而数据库实际上是由--databases
标志指定的
mysqldump --defaults-extra-file=/home/user/.my.cnf -S /nexus/cliniphenome/mysql.sock -u ngs_run_stats --databases ngsRunStats_FK --lock-tables=false > test4.sql
您可以在-p标志和密码之间没有空格的情况下进行尝试吗-p[password]这就是为什么我首先尝试将凭据存储在
/home/user/.my.cnf
,它只能由我访问(600
),我不确定您的问题是什么。ngsRunStats_FK做什么?这就是我正在转储的数据库