常用的 MySQL 数据库恢复工具(也能进行备份操作)是 phpMyAdmin,这是一个开源、免费的工具,大多数主机商(例如 Hawkhost)都会免费提供。相信很多站长也用过 phpMyAdmin 来进行网站数据库的备份和恢复,确实很方便,并且有多国语言界面。不过,有一种情况可能你还没碰到,就是当你的数据库体积比较大时,例如 SQL 备份文件大于 2MB,甚至大于 10MB,这个时候如果你通过 phpMyAdmin 来进行数据库的恢复,就会出错,这是因为你的 SQL 文件体积太大,超过了 phpMyAdmin 的处理能力,这种情况在网络速度比较慢的情况下尤为突出,例如站长在周末晚上8点这个网络拥挤的时段尝试使用 phpMyAdmin 来恢复大型 MySQL 数据库备份,就容易遇到这种问题。
很显然 phpMyAdmin 只适用于恢复比较小的 SQL 文件备份。对于超大 MySQL 数据库备份的恢复,你必须换一个专用的恢复工具,那就是:BigDump!
BigDump 数据库导入工具简介
BigDump 是由德国人 Alexey Ozerov 用 PHP 语言开发的一个工具脚本,它只有一个文件,名为 bigdump.php(你可以改名运行)。这个文件是独立运行的,因此与你的网站核心程序无关,不管是 WordPress,Drupal 还是 Joomla,只要你使用的是 MySQL 数据库,都可以用 BigDump 来恢复超大的 .sql 格式备份文件。
BigDump 工作的原理也很简单:切割分段导入。它在读取 SQL 文件时,每次只读取一小部分,将其导入,然后重新开始一次恢复进程,再读取一小部分…… 周而复始,直到将整个 SQL 文件全部导入。
BigDump 数据库恢复工具用法演示
一、修改BigDump文件下列变量
二、把phpMyAdmin导出的SQL文件下列文本替换:
— phpMyAdmin SQL Dump
— http://www.phpmyadmin.net
—
— 生成日期: 2015 年 01 月 15 日 20:50
SET SQL_MODE=”NO_AUTO_VALUE_ON_ZERO”;
SET time_zone = “+00:00”;
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
—
— 数据库: `JUKOEQkttAuBGPRYHzRy`
—
— ——————————————————–
—
— 表的结构 `abc_bo_info`
—
CREATE TABLE IF NOT EXISTS `abc_bo_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ip` varchar(12) NOT NULL,
`time` varchar(10) NOT NULL,
`info` longtext,
`reply` text,
`audit` int(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=733 ;
—
— 转存表中的数据 `abc_bo_info`
—
三、替换成下列文本:
— Adminer 3.7.0 MySQL dump
SET NAMES utf8;
SET foreign_key_checks = 0;
SET time_zone = ‘+00:00’;
SET sql_mode = ‘NO_AUTO_VALUE_ON_ZERO’;
USE `tkzc`;
得到如下文本
四、运行BigDump