Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中的MySQLdump导出0大小_Php_Mysql_Shell_Mysqldump - Fatal编程技术网

php中的MySQLdump导出0大小

php中的MySQLdump导出0大小,php,mysql,shell,mysqldump,Php,Mysql,Shell,Mysqldump,大家好 我想在php中使用shell命令导出数据库,但只得到0字节。没有桌子什么的。代码如下: exec('E:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump --user=$db_user --password=$db_password --host=$db_host accounts > E:\wamp\www\accountsknc\backups\file.sql'); 但是,如果我在命令行中尝试,我会得到一个新行: 这里的一切都是正确的(用

大家好

我想在php中使用shell命令导出数据库,但只得到0字节。没有桌子什么的。代码如下:

exec('E:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump --user=$db_user --password=$db_password --host=$db_host accounts > E:\wamp\www\accountsknc\backups\file.sql');
但是,如果我在命令行中尝试,我会得到一个新行:

这里的一切都是正确的(用户名,密码,数据库名),除了我只有0字节的下载。这里有什么不对劲吗

更新:

好了,伙计们


而不是
exec('E:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump--user=$db\u user--password=$db\u password--host=$db\u host accounts>E:\wamp\www\accountsknc\backups\file.sql'),我删除了变量,并直接在命令中设置用户名、密码和数据库名。谢谢您的帮助。

看起来您正在尝试导出accounts表。但它不知道您要从哪个数据库中提取它。建议

为了澄清,您的代码看起来更像这样:

<?php
$command = 'E:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe';
$password = 'secret';
$host = '127.0.0.1';
$user = 'root';
$dbName = 'accounts';
$fileName = 'E:\wamp\www\accountsknc\backups\20160312.sql';

exec("$command -u $user -p$password -h$host $dbName > $fileName");

看起来您正在尝试导出accounts表。但它不知道您要从哪个数据库中提取它。建议

为了澄清,您的代码看起来更像这样:

<?php
$command = 'E:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe';
$password = 'secret';
$host = '127.0.0.1';
$user = 'root';
$dbName = 'accounts';
$fileName = 'E:\wamp\www\accountsknc\backups\20160312.sql';

exec("$command -u $user -p$password -h$host $dbName > $fileName");

从命令行运行吗?您的意思是
E:\wamp\www\accountsknc\backups\file.sql
为空吗?请尝试使用-u[user]和-p[password]@joksnet,你是correct@Dagon使用命令行更新我的帖子从命令行运行吗?你的意思是
E:\wamp\www\accountsknc\backups\file.sql
为空吗?请尝试使用-u[user]和-p[password]@joksnet,是吗correct@Dagon用命令行更新了我的帖子,应该是mysql_dump而不是mysqldump吗?哎呀,不,我修好了,这只是某种拼写错误。请尝试转到此目录“E:\wamp\bin\mysql\mysql5.6.12\bin\”,然后键入“dir”查找mysqldump.exe(如果有)。如果有一个文件mysqldump.exe,试试这个E:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump-u[user]-p[password][dbname]>[你的输出文件名]应该是mysqldump而不是mysqldump吗?哎呀,不是。我修复了它,那只是一些拼写错误。试试这个转到这个目录“E:\wamp\bin\mysql\mysql5.6.12\bin\”然后键入“dir”如果有,请查找mysqldump.exe。如果有文件mysqldump.exe,请尝试此E:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump-u[user]-p[password][dbname]>[您的输出文件名]