- PHP教程
- PHP-主页
- PHP - 简介
- PHP-环境设置
- PHP - 语法概述
- PHP - 变量类型
- PHP - 常量
- PHP - 运算符类型
- PHP - 决策
- PHP - 循环类型
- PHP-数组
- PHP-字符串
- PHP - 网络概念
- PHP - 获取和发布
- PHP - 文件包含
- PHP - 文件和 I/O
- PHP - 函数
- PHP-Cookie
- PHP-会话
- PHP - 发送电子邮件
- PHP-文件上传
- PHP - 编码标准
- 高级PHP
- PHP - 预定义变量
- PHP-正则表达式
- PHP - 错误处理
- PHP - 错误调试
- PHP - 日期和时间
- PHP 和 MySQL
- PHP 和 AJAX
- PHP 和 XML
- PHP——面向对象
- PHP - 面向 C 开发人员
- PHP - 适合 PERL 开发人员
- PHP 表单示例
- PHP-表单介绍
- PHP - 验证示例
- PHP - 完整表格
- PHP框架作品
- PHP-框架工程
- PHP - 核心 PHP 与 Frame Works
- PHP 设计模式
- PHP - 设计模式
- PHP 函数参考
- PHP - 内置函数
- PHP 有用资源
- PHP - 问题与解答
- PHP - 有用的资源
- PHP - 讨论
使用 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 -u $dbuser -p $dbpass ". "test_db | gzip > $backup_file"; system($command); ?>
使用 phpMyAdmin 用户界面
如果您有可用的phpMyAdmin用户界面,那么您可以轻松备份数据库。
要使用 phpMyAdmin 备份 MySQL 数据库,请单击 phpMyAdmin 主页上的“导出”链接。选择要备份的数据库,检查相应的 SQL 选项并输入备份文件的名称。
php_and_mysql.htm