首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP运行`mysqldump`生成的空文件

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

Stack Overflow用户
提问于 2009-04-15 00:07:38
回答 7查看 17.1K关注 0票数 14

我不断得到运行时生成的空文件

代码语言:javascript
复制
$command = 'mysqldump --opt -h localhost -u username -p \'password\' dbname > \'backup 2009-04-15 09-57-13.sql\'';

command($command);

有人知道这可能是什么原因吗?我的密码中有奇怪的字符,但在连接到数据库时可以正常工作。

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

代码语言:javascript
复制
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

因此,该命令看起来是有效的。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-04-15 00:15:49

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

来自MySQL documentation

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

但是,可以为-h-u选项留出空间

票数 16
EN

Stack Overflow用户

发布于 2009-04-15 00:15:42

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

代码语言:javascript
复制
host: localhost user: peter password: pwd

会变成:

代码语言:javascript
复制
-hlocalhost -upeter -ppwd
票数 5
EN

Stack Overflow用户

发布于 2010-05-24 15:09:24

这就是我所做的-输出是最大的gzip压缩:

代码语言:javascript
复制
<?php exec("/usr/bin/mysqldump --opt --host=MYSQLHOSTNAME --user=MYSQLUSER --password=PASSWORD DATABASENAME | gzip -v -9 >DATABASENAME.". date("Y-m-d_H-i-s") . ".sql.gz");?>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/749803

复制
相关文章

相似问题

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