php中的MySQLdump导出0大小
大家好 我想在php中使用shell命令导出数据库,但只得到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'); 但是,如果我在命令行中尝试,我会得到一个新行: 这里的一切都是正确的(用
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]>[您的输出文件名]