`
seomine
  • 浏览: 43660 次
  • 性别: Icon_minigender_1
社区版块
存档分类

wordpress站长必备:BigDump 导入大于2M MySQL 数据库文件

阅读更多

大家都知道常用的 MySQL 数据库恢复工具是 phpMyAdmin ,这是一个开源、免费的工具, 大多数主机商都会免费提供 。相信很多wordpress站长也用过 phpMyAdmin 来进行网站数据库的备份和恢复,确实很方便,并且有多国语言界面。不过,有一种情况可能你还没碰到,就是当你的数据库体积比较大时,例如 SQL 备份文件大于 2MB,甚至大于 10MB,这个时候如果你通过 phpMyAdmin 来进行数据库的恢复,就会出错,显示如下的提示:

通过 phpMyAdmin 来进行数据库的恢复,就会出错

通过 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 数据库恢复工具用法演示

假设我们已经有了一个 MySQL 数据库的备份文件,名为 gate2.sql,文件大小约 150MB(这么大的文件别指望通过 phpMyAdmin 来恢复了)。数据库字符编码为 utf-8。我们演示一下如何通过 bigdump.php 工具将这个备份文件恢复到在线数据库中去。

1、获取 BigDump 文件并设置

我们下载 BidDump 工具并解 压,得到一个 bigdump.php 文件。毫无疑问,bigdump.php 文件需要设置一些参数,否则它怎么知道要导入的数据库的连接帐号?

用文本编辑器打开 bigdump.php 文件,在大约第 38 行开始,我们设置要导入的 MySQL 数据库连接参数。如下图所示:

设置要导入的 MySQL 数据库连接参数

设置要导入的 MySQL 数据库连接参数

一般来说,设置好这几项就可以了。对于某些特殊数据库,还需要在下面第66行左右设置数据库字符编码。bigdump.php 文件中没有预设这个参数,原文是:

$db_connection_charset = ”;

如果你的数据库是 UTF-8 编码,那么此处就要修改为:

$db_connection_charset = ‘utf8′;

注意那个连字符要去掉。如下图所示:

数据库 UTF-8 编码就要修改为:  $db_connection_charset = 'utf8'

数据库 UTF-8 编码就要修改为: $db_connection_charset = 'utf8'

接下来将设置好的 bigdump.php 文件上传到 Joomla 网站上,推荐上传到 /tmp 这个临时目录。

2、上传 MySQL 数据库备份文件

现在需要将数据库备份文件上传到 bigdump.php 所在的 /tmp 目录中。考虑到文件较大,我们通过 FTP 软件 FileZilla 上传 zip 格式的文件,然后借助 Joomla 后台安装的 eXtplorer 资源管理器组件 将其远程解压,在 /tmp 目录中得到 gate2.sql 文件。

3、启动 BigDump 工具

在浏览器地址栏输入 bigdump.php 所在 URL 并回车,运行这个文件。例如本次演示是在本地测试服务器上进行,那么对应的运行网址是:

http://localhost/gate/tmp/bigdump.php

如果你输入的 URL 正确,就应该看到如下画面:

http://localhost/gate/tmp/bigdump.php

http://localhost/gate/tmp/bigdump.php

这就表示 BigDump 工具已经成功启动,它在启动时就自动扫描所在目录中的全部文件和子目录。如果找到 SQL 格式或者 gzip/zip 格式文件,就假设这是数据库文件,在这些文件后面,就会显示出相应的操作链接。例如在上图中,它探测到所在目录中有一个 gate2.sql 文件,那么针对该文件就在表格右侧同一行中显示了两条操作链接,分别是“Start Import”(开始导入)和“Delete file” (删除文件)。上图的表格中也显示了 SQL 文件的大小,可以看到这个备份文件接近 150MB。

在上图中,还可以看到一个文件上传功能,点击那个“浏览”按钮,你就可以上传一个 SQL 文件(或其压缩包)来进行导入。但是我们不推荐使用此功能。对于大型文件,FTP 上传是最佳选择。

4、运行 BigDump 导入功能

点击上图中的“Start Import” 链接,就看到如下画面:

点击上图中的“Start Import” 链接

点击上图中的“Start Import” 链接

上面这个截图是导入开始一段时间之后所截取的,可以看出 BigDump 正在顺利进行 SQL 文件的导入。表格中不仅显示了文件大小,还显示了已经导入的字节数及总体进度。

经过一段时间后(大约20分钟),这个 150MB 大小的 SQL 文件终于导入结束,看到如下画面:

150MB 大小的 SQL 文件终于导入结束

150MB 大小的 SQL 文件终于导入结束

原来显示进度条的地方,现在显示了一条消息:

“Congratulations: End of file reached, assuming OK”

意思是说:已经到达文件末尾,想必应该成功了。看到这条消息,你就可以完全放心了。BigDump 已经成功地将你的 SQL 备份文件导入到你所指定的 MySQL 数据库里面了。

注意:数据库恢复成功结束后,不要忘记删除 bigdump.php 备份工具和你的 SQL 文件!

使用 BigDump 数据库导入工具的注意事项

1、在开始导入之前,目标数据库必须清空

如果目标数据库里面含有记录,那么 BigDump 就无法导入,会报错停止。因此请在开始运行 bigdump.php 文件之前,将目标数据库清空(最好删除全部内容)。

2、所用的 SQL 文件不能含有 Extended Inserts

或许很多第一次使用 BigDump 的用户都会遭遇这个问题。这是因为 phpMyAdmin 在导出数据库时,已经默认勾选了“使用扩展插入”。

这里的“扩展插入”就是 Extended Inserts,而 BigDump 是不能处理带有 Extended Inserts 的 SQL 文件的。所以,在你制作数据库备份时,必须在 phpMyAdmin 的面板上去掉“扩展插入”的勾选。如下图所示:

phpMyAdmin 的面板上去掉“扩展插入”的勾选

phpMyAdmin 的面板上去掉“扩展插入”的勾选

3、如何使 Akeeba Backup 与 BigDump 配合工作?

我们前面推荐大家使用 Akeeba Backup 来制作备份文件。那么,可否使用 Akeeba Backup 来制作数据库备份,然后通过 BigDump 导入?当然是可以的。不过,这里面需要一些特殊技巧。我们将在 Akeeba Backup 使用详解 这篇教程中介绍。

4、使用 BigDump 导入仍然发生超时错误

这种问题多见于配置比较低的服务器,或者服务器繁忙时段。那么,你可以尝试修改 bigdump.php 文件中的“Other settings (optional)” 这部分的 $linespersession 参数,将默认值 3000 修改得更小一些。(不过,我认为你还是换一个更好的服务器吧,例如 Hawkhost)。

5、发生 MySQL 服务器超载怎么办?

如果服务器性能较差,在运行 bigdump.php 过程中可能会发生 MySQL 服务器超载(overrun)故障。你可以修改 bigdump.php 文件中的 $delaypersession 参数来解决。该参数让 bigdump.php 文件在结束一个片段的导入之后,休息一段时间(你设定的数值就是暂停的时间,单位:毫秒),然后再开始下一个片段的导入,这样服务器就不会太累了。

6、直接把 .sql 格式文件交给 BigDump

在本次演示中,我们先将 zip 格式的备份包上传到服务器上,然后又将它解压成 .sql 格式的文件,再通过 BigDump 来导入。为什么不直接用 BigDump 来导入压缩格式的备份文件?

没错,BigDump 具有导入压缩格式 SQL 备份文件(zip/gzip)的能力,但是在处理压缩文件时,它需要先在临时目录中将其解压,再读取。请注意:这个解压并不是一次性的,而是每导入一个小 片段,就要将整个压缩包重新解压一次。因此,直接导入压缩格式文件,反而使 bigdump.php 运行变慢。

7、还有更奇怪的问题……

一般来说,运行 bigdump.php 导入一个 SQL 备份文件非常容易。如果你参照上述注意事项及操作过程,仍然不能顺利完成数据库备份文件的导入,那么请到 BigDump 官方网站 阅读更多 FAQ,查找原因。如果还无法解决,可以到 Joomla 中文论坛 发帖讨论。

下载 BigDump(bigdump.php) 大型数据库 SQL 文件分段导入工具 v0.32b 英文版

分享到:
评论

相关推荐

    如何导入超大MySQL数据库备份文件

    综上所述,BigDump作为一款专注于超大MySQL数据库备份文件恢复的专业工具,其独特的分段导入机制有效解决了phpMyAdmin等通用工具在处理大型数据库备份时存在的不足。通过本文介绍的方法,用户可以轻松掌握BigDump的...

    mysql导入大量数据方法归纳.pdf

    BigDump 工作的原理是切割分段导入,即将 SQL 文件分割成小部分,然后逐步导入到 MySQL 数据库中。 下面是使用 BigDump 工具恢复 MySQL 数据库备份文件的步骤: 1. 获取 BigDump 文件并设置参数 首先,我们需要...

    mysql数据库导入工具 bigdump.php

    mysql 数据库导入工具, 可以免错导入

    基于PHP的BigDump 数据库导入工具 恢复超大的.sql 格式备份文件.zip

    BigDump采用分块导入的方式,将大文件分割成小块,逐个导入到数据库,这样可以避免一次性加载整个文件导致的资源消耗过大。 BigDump的主要特点和功能包括: 1. 分批导入:它将大.sql文件分割成更小的块,每次只...

    MySql数据库太大(几百M)导入大数据库.pdf

    当数据库备份文件超过一定大小(比如超过 2MB 或 10MB),通过 phpMyAdmin 导入时,可能会出现错误,因为文件过大超过了 phpMyAdmin 的处理能力。 在这种情况下,解决方法是使用专门设计用于处理大型数据库导入的...

    基于PHP的BigDump数据库导入工具恢复超大的.sql格式备份文件源码.zip

    它允许用户分批导入超大尺寸的.sql文件到MySQL数据库中,以避免因文件过大导致的内存溢出或长时间阻塞问题。这种工具在处理大量数据时尤其有用,例如在网站迁移、数据库恢复或者数据备份场景下。 【描述】提到的是...

    BigDump v0.32b (SQL文件分段导入工具)

    将你的 MySQL 数据库文件(.sql 格式或 .tar.gz 压缩包)也上传与 bigdump.php 在同一个目录下; 通过浏览器访问 bigdump.php 文件,就会看到所在目录下的文件列表。从列表中找到你的 SQL 文件,该文件后面会出现...

    如何导入大sql文件到虚拟主机mysql数据库教程及相关文件

    本教程将详述如何将大型SQL文件导入到虚拟主机上的MySQL数据库,以帮助你有效地管理数据。以下是一步步的操作指南,以及使用`bigdump`工具的相关知识点。 ### 1. MySQL数据库基础知识 MySQL是一种流行的开源关系型...

    MySql数据库太大(几百M)导入大数据库.docx

    总的来说,当面临大型MySQL数据库的导入挑战时,BigDump提供了一个有效且可靠的解决方案,帮助用户克服phpMyAdmin的限制,顺利完成数据库恢复任务。正确使用这个工具,可以确保大数据量的数据库迁移和恢复过程顺利...

    bigdump-sql解压工具

    bigdump是一个专门为了解决这个问题而设计的开源工具,它专注于大容量SQL文件的导入工作。本文将详细探讨bigdump及其在SQL解压和导入中的应用。 一、bigdump简介 bigdump是一款PHP脚本,旨在帮助用户高效、稳定地...

    导入大文件到数据库最快的方法

    针对这个主题,我们将深入探讨“导入大文件到数据库最快的方法”,特别是针对MySQL数据库,并且会特别关注如何在虚拟主机环境中处理中文乱码问题。 首先,让我们关注标题中的关键词——"bigdump.php"。这是一个开源...

    PHP实例开发源码—BigDump 数据库导入工具 恢复超大的.sql 格式备份文件.zip

    总的来说,BigDump是PHP开发者和系统管理员处理大数据库备份的有力工具,它的分批导入机制使得即使是超大的.sql文件也能顺利恢复,极大地扩展了MySQL导入工具的能力。了解并熟练使用BigDump,可以显著提高工作效率,...

    mysql导入大量数据

    由于它是独立运行的,因此与具体的网站程序(如WordPress、Drupal或Joomla等)无关,只要使用的是MySQL数据库,都可以使用BigDump来恢复大型的.sql备份文件。 **BigDump的工作原理**相对简单:它采用切割分段导入的...

    mysql导入大量数据方法.docx

    【MySQL大量数据导入方法】...总之,BigDump是处理大型MySQL数据库导入的有效工具,它解决了phpMyAdmin在大文件导入时的限制,提供了可靠且灵活的解决方案。正确配置和使用BigDump,能够确保大型数据库备份的顺利恢复。

    php快速导入1G以上大的mysql文件脚本

    在PHP中,有时我们需要处理大型的MySQL数据导入工作,例如导入1GB以上的数据库文件。这样的任务对于常规的`LOAD DATA INFILE`或`phpmyadmin`等工具可能会遇到内存限制或者执行时间过长的问题。标题提到的"php快速...

    mysql导入大量数据方法.pdf

    在处理大型MySQL数据库的导入任务时,传统的工具如phpMyAdmin可能会面临限制,尤其是在处理超过2MB甚至更大的SQL备份文件时。phpMyAdmin由于其处理能力有限,可能导致导入失败,特别是在网络环境不佳或者数据库体积...

    bigdump.php

    放入根目录下 用服务器打开 导入大数据量的数据库到phpmyadmin

Global site tag (gtag.js) - Google Analytics