inf*_*toz 1 mysql command-line scripts
我写了一个批处理文件,它建立到我能够这样做的 linux 服务器的连接,之后我试图将 mysqldump 带到某个目录,它具有所有 777 权限,但 linux 系统要求我“输入密码”只是空的,我需要手动按Enter,我只需要执行我的脚本,只需按一下Enter,执行就会自动发生。下面是一些细节。
批处理文件:
plink.exe -ssh user@host -m command.txt
Run Code Online (Sandbox Code Playgroud)
command.txt:
mysqldump -uve -p -R -E --single-transaction --databases mydb|gzip > /home/user/mydb_bkup.gz
Run Code Online (Sandbox Code Playgroud)
这是提示我输入密码的图像:

请为我提供一些输入,以便我可以输入密码并自动执行我的命令。
据我了解,您正在运行的命令要求输入密码。你的线路是:
mysqldump -uve -p -R -E --single-transaction --databases mydb|gzip > /home/user/mydb_bkup.gz
Run Code Online (Sandbox Code Playgroud)
如果我们转到man mysql,我们会阅读以下内容:
连接到服务器时使用的密码。如果使用短选项形式 (-p),则选项和密码之间不能有空格。如果在命令行中省略 --password 或 -p 选项后面的密码值,mysql 会提示输入一个。
您没有指定任何内容 - 因为外壳威胁空间作为参数分隔符。为 mysql 用户设置密码,-p从 command.txt 文件中删除,或者...将您的命令修改为以下内容:
mysqldump -uve --password="" -R -E --single-transaction --databases mydb|gzip > /home/user/mydb_bkup.gz
Run Code Online (Sandbox Code Playgroud)
这里我们明确指定了一个空白密码。