使用mysqldump的Mysql PHP备份数据库 [英] Mysql PHP backup database using mysqldump

查看:44
本文介绍了使用mysqldump的Mysql PHP备份数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试为我的数据库创建备份.我的数据库是 MySQL.我正在使用 PHP.我每小时使用一个 cron 作业来执行此代码.

I try to create a backup for my database. My database is MySQL. I am using PHP. I use a cron job to execute this code every hour.

这是我的代码:

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname='stock';
$backup_file = $dbname . date("Y-m-d-H-i-s") . '.sql';
$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass ". "stock | gzip > $backup_file";
system($command);

问题是我的代码给了我一个空文件我怎样才能拥有我的所有数据库?!

The problem is that my code give me an empty file How can i have my all database ?!

推荐答案

几年前我也遇到过同样的问题/情况.请参阅此处.以下是一些需要注意的事项:-

I also encounter same problem/situation years back. Refer here. Here are a few things that need to TAKE NOTE:-

  1. 必须对 MySQL 转储使用绝对路径.
  2. 尝试使用 --opt(MySQL 转储的默认选项).可以参考http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
  3. 对于选项,如果使用简写形式,则不需要 (--).例如:--p.使用完整形式时使用 (--).例如:--密码.因此,请使用-p"而不是--p"(也适用于其他选项).
  4. 如果 MySQL 转储在exec"上不起作用,请尝试shell_exec"或system".
  5. 尽量避免选项和变量之间有空格.例如:-p$dbpass

*还要记住,系统命令是否可以从PHP执行,这涉及到权限.

*Also bear in mind, it involves with permission whether system command can be executed from PHP or not.

这篇关于使用mysqldump的Mysql PHP备份数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆