现在的位置: 首页 > 互联网络 > 博客心语 > 正文

导入超大MySQL 数据库文件工具:BigDump

2011-05-22 10:55 博客心语 ⁄ 共 2085字 ⁄ 字号 评论 5 条

    数据安全是网站的首要问题,及时、定期备份数据库必须成为一个好习惯。对于常见的备份方法,如使用插件、wordpress后台备份等,这里就不多说了。而对于大数据库的备份,如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 数据库恢复工具用法演示

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

1、获取 BigDump 文件并设置

我们下载 BidDump 工具并解压,得到一个 bigdump.php 文件。毫无疑问,bigdump.php 文件需要设置一些参数,否则它怎么知道要导入的数据库的连接帐号?用编辑器打开 bigdump.php 文件,在大约第 38 行开始,我们设置要导入的 MySQL 数据库连接参数。如下图所示:

clip_image001

    一般来说,设置好这几项就可以了。对于某些特殊数据库,还需要在下面第66行左右设置数据库字符编码。bigdump.php 文件中没有预设这个参数,原文是:$db_connection_charset = '';如果你的数据库是 UTF-8 编码,那么此处就要修改为:$db_connection_charset = 'utf8';注意那个连字符要去掉。如下图所示:

clip_image002

    接下来将设置好的 bigdump.php 文件上传到网站上,推荐上传到根目录下的某个文件夹里。

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

    现在需要将数据库备份文件上传到 bigdump.php 所在的 目录中。考虑到文件较大,我们通过 FTP 软件8UFTP上传 zip 格式的文件,然后在后台将其远程解压得到 qsg1.sql 文件。

    3、启动 BigDump 工具

    在浏览器地址栏输入 bigdump.php 所在 URL 并回车,运行这个文件。它在启动时就自动扫描所在目录中的全部文件和子目录,如果找到 SQL 格式或者 gzip/zip 格式文件,就假设这是数据库文件,在这些文件后面,就会显示出相应的操作链接,分别是“Start Import”(开始导入)和“Delete file”(删除文件)。同时也会显示 SQL 文件的大小。

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

    4、运行 BigDump 导入功能

    点击“Start Import”链接,经过一段时间后(大约1分钟,视空间状况及网速而定),这个 100MB 大小的 SQL 文件终于导入结束。原来显示进度条的地方,现在显示了一条消息:

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

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

本文参考

 

推荐阅读

    1用crontab导入大数据库方法

    2WordPress 更换域名之数据库批处理

    3使用 SSH 安装和迁移 WordPress 博客

    4如何更换WordPress博客网站域名

    5如何实现 WordPress博客新旧域名无缝转移

    6更换模板前应该注意的24个问题

    7无废话wordpress搬家教程

    8禁用WordPress的自动保存与修订历史之心得

    9WordPress 更换域名之数据库批处理

    10求索阁phpMyAdmin数据导入导出心得

目前有 5 条留言    访客:3 条, 博主:0 条 ,引用: 2 条

  1. 莫也 2011年05月23日 10:51 上午  @回复  Δ1楼 回复

    不错,学习了

  2. 陈连龙 2011年05月23日 10:55 上午  @回复  Δ2楼 回复

    博主 换个链接么?

  3. 主机评论博客 2011年05月23日 11:10 下午  @回复  Δ3楼 回复

    我一直用帝国备份王

外部的引用: 2 条

  • 知更鸟主题HotNews pro 2.4正式版的超内存问题 « 求索阁
  • 求索·通讯:第8期 记录点滴 消化创新 « 求索阁

给我留言

留言无头像?