使用PHP运行`mysqldump`生成的空文件

ale*_*lex 10 php mysql

我一直在运行时生成空文件

$command = 'mysqldump --opt -h localhost -u username -p \'password\' dbname > \'backup 2009-04-15 09-57-13.sql\'';

command($command);
Run Code Online (Sandbox Code Playgroud)

有谁知道这可能导致什么?我的密码中有奇怪的字符,但连接到数据库时工作正常.

我已经运行exec($command, $return)并输出$ return数组,它正在查找命令.我也运行它,mysqldump > file.sql文件包含

Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
Run Code Online (Sandbox Code Playgroud)

所以看起来命令正在运行.

Azi*_*ziz 14

删除-p密码之间的空格.如果它不起作用,请尝试从密码中删除引号

来自MySQL文档:

如果使用短选项表单(-p),则选项和密码之间不能有空格.

但是,有空间-h-u选项是好的


Pet*_*háč 5

我相信 -u 和实际用户名之间没有空格。

host: localhost user: peter password: pwd
Run Code Online (Sandbox Code Playgroud)

会成为:

-hlocalhost -upeter -ppwd
Run Code Online (Sandbox Code Playgroud)