离线下载
PDF版 ePub版

极客学院团队出品 · 更新于 2018-11-28 11:00:43

使用 PHP 备份 MySQL 数据库

定期备份你的数据库总是一种好的做法。有三种方法可以使用备份你的 MySQL 数据库。

  • 通过 PHP 使用 SQL 命令。
  • 使用 MySQL 二进制通过 PHP mysqldump。
  • 使用 phpMyAdmin 的用户界面。

通过 PHP 使用 SQL 命令

可以执行 SQL SELECT 命令完成任何表的备份。把一个完整的数据库存储您需要为单独的表编写单独的查询。每个表将存储到单独的文本文件中。

例子

试试以下的例子使用 SELECT INTO OUTFILE 查询用于创建表的备份:

    <?php
    $dbhost = 'localhost:3036';
    $dbuser = 'root';
    $dbpass = 'rootpassword';
    $conn = mysql_connect($dbhost, $dbuser, $dbpass);
    if(! $conn )
    {
      die('Could not connect: ' . mysql_error());
    }
    $table_name = "employee";
    $backup_file  = "/tmp/employee.sql";
    $sql = "SELECT * INTO OUTFILE '$backup_file' FROM $table_name";

    mysql_select_db('test_db');
    $retval = mysql_query( $sql, $conn );
    if(! $retval )
    {
      die('Could not take data backup: ' . mysql_error());
    }
    echo "Backedup  data successfully\n";
    mysql_close($conn);
    ?>

可能存在实例,当你需要恢复数据备份的前一段时间。恢复备份你只需要运行数据加载 INFILE 查询如下:

    <?php
    $dbhost = 'localhost:3036';
    $dbuser = 'root';
    $dbpass = 'rootpassword';
    $conn = mysql_connect($dbhost, $dbuser, $dbpass);
    if(! $conn )
    {
      die('Could not connect: ' . mysql_error());
    }
    $table_name = "employee";
    $backup_file  = "/tmp/employee.sql";
    $sql = "LOAD DATA INFILE '$backup_file' INTO TABLE $table_name";

    mysql_select_db('test_db');
    $retval = mysql_query( $sql, $conn );
    if(! $retval )
    {
      die('Could not load data : ' . mysql_error());
    }
    echo "Loaded  data successfully\n";
    mysql_close($conn);
    ?>

使用 MySQL 通过 PHP 二进制 mysqldump

MySQL 提供一个实用程序,mysqldump 执行数据库备份。使用这种二进制您可以在一个命令得到完整的数据库转储。

例子

下面的例子尝试把你完整的数据库转储:

    <?php
    $dbhost = 'localhost:3036';
    $dbuser = 'root';
    $dbpass = 'rootpassword';

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

    system($command);
    ?>

使用 phpMyAdmin 用户界面:

如果你有 phpMyAdmin 用户界面可用,它很容易为你备份你的数据库。

备份您的 MySQL 数据库使用 phpMyAdmin 点击 phpMyAdmin 主页上的“出口”链接。您希望备份数据库,检查适当的 SQL 选项和输入备份文件的名称。

上一篇: 从 MySQL 数据库... 下一篇: AJAX