首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >php ()- mysqldump创建一个空文件

php ()- mysqldump创建一个空文件
EN

Stack Overflow用户
提问于 2012-08-17 10:44:01
回答 8查看 20.1K关注 0票数 13

我想从数据库中创建一个备份,但是我只得到一个空白文件。

代码语言:javascript
运行
复制
include('config.php');

$command = "mysqldump --opt -h ".$_host." -u ".$_user." -p ".$_pass." ".$_db." > test.sql";
exec($command);

echo "<br />".$command;

test.sql是在.php文件所在位置创建的。

编辑:

注意!我在用XAMPP窗口!

解决方案:

因为我使用的是Windows Web Server (XAMPP),所以需要指定路径:

代码语言:javascript
运行
复制
$command = 'd:\xampp\mysql\bin\mysqldump --opt -u '.$_user.' -p'.$_pass.' '.$_db.' > test.sql';
  1. 我删除了-p和通行证之间的空间。看起来像:-pMYPASSWORD
  2. "替换为'

我认为,如果您使用的是基于Linux的web服务器,则不必为mysqldump指定路径。

干杯!:-)

EN

回答 8

Stack Overflow用户

发布于 2012-08-17 10:51:14

这些是参数

-uROOT -pPASSWORD --数据库DB --结果文件=FILE.SQL

票数 4
EN

Stack Overflow用户

发布于 2013-10-04 19:42:02

试试这个:

代码语言:javascript
运行
复制
$command = 'd:\xampp\mysql\bin\mysqldump --opt -u '.$_user.' -p'.$_pass.' '.$_db.' > test.sql 2>&1';

关于权限问题的-its。

票数 4
EN

Stack Overflow用户

发布于 2012-08-17 10:47:47

您应该删除-p和密码之间的空格。

最近版本的mysql不需要--opt

除此之外,您的语法是正确的,因此如果它不适用于-p修复程序,您应该检查参数和生成的命令。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12004292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档