使用php备份数据库mysql

时间:2015-07-21 09:01:59

标签: php mysql sql-server database

我找到了这段代码

使用system()函数运行mysqldump

system()函数用于执行外部程序。因为MySQL已经内置了用于创建MySQL数据库备份的工具(mysqldump),所以让我们从我们的PHP脚本中使用它

<?php
include 'config.php';
include 'opendb.php';

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

include 'closedb.php';
?>

来自HERE。它是关于如何备份数据库的。我想按钮点击或每个月备份我的数据库,具体取决于需要,所以我搜索了一个教程我发现了一个,但它没有明显说得像

  1. 如果备份文件已创建,我在哪里可以找到它。
  2. 我是否需要将其保存为.sql文件,或者它已保存为sql
  3. 如果保存为.sql,我可以在哪里找到它
  4. UPDATE

    我用过

        $mysqldump=exec('which mysqldump');
        $command = "$mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname > $dbname.sql";
        exec($command);
    

    但我得到一个空白文件,大小为0 kb

2 个答案:

答案 0 :(得分:0)

我认为编写自定义PHP脚本是过度的。如果您需要每月备份数据库,可以使用cron,其他地方使用phpmyadmin。

答案 1 :(得分:0)

您将在“./”(实际运行脚本的目录)中找到备份文件

它保存的像.sql女巫是gziped

mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip
你可以在.gz文件中找到

.SQL

$backupFile = $dbname . date("Y-m-d-H-i-s") . '.gz';

您可以在cron中使用此脚本进行每月备份,也可以在某些“管理面板”按钮中使用此脚本进行其他备份