PHP 执行MySQL备份

PHP 执行MySQL备份

定期备份数据库是一种良好的实践。有三种方法可以用来备份MySQL数据库:

  • 通过PHP使用SQL命令备份
  • 通过PHP使用MySQL二进制工具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);
?>

有时候您可能需要恢复一些时间前备份的数据。要恢复备份,您只需运行LOAD DATA 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);
?>

通过PHP使用MySQL二进制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 -udbuser -p dbpass ". "test_db | gzip>backup_file";

   system($command);
?>

使用 phpMyAdmin 用户界面

如果您有 phpMyAdmin 用户界面可用,那么可以很容易地备份数据库。

要使用 phpMyAdmin 备份 MySQL 数据库,请点击 phpMyAdmin 主页上的”导出”链接。选择您希望备份的数据库,选中适当的 SQL 选项,并输入备份文件的名称。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程