MySQL备份/还原工具:MySQLDumper

2011年12月13日 | 分类: 【源码】

【注意】

PHP7.4及之前版本使用 MySQLDumper ,但不再更新。
PHP8 以后使用 MyOOS-Dumper,也是前者的分支。

参考:https://amon.org/MyOOS-Dumper

【介绍】

MySQLDumper是一个备份和恢复MySQL数据库的PHP程序。
其设计初衷是为了解决绝大数据库难以备份、大数据库下载速度太慢和下载容易中断等问题。

运行环境:PHP7,不支持PHP8

【功能】

  • 支持FTP自动传送备份文件到远程服务器,最多可以设置三个远程服务器
  • E-mail备份,可以把备份好的数据库通过邮件发送到你的邮箱中(默认不开启)
  • 支持备份的Gzip压缩,使备份文件更小
  • 支持还原Gzip压缩文件,节省带宽
  • 保留多个备份,可设定数量上限,超过后删除旧备份(默认不开启)
  • 使用.htaccess文件来实现访问限定,无内置的认证系统,如服务器不支持.htaccess那么不推荐用MySQLDumper
  • 记录操作日志,可方便查看

【安装】

官网:http://www.mysqldumper.de/
官网:https://github.com/DSB/MySQLDumper
官网:https://github.com/mysqldumper/mysqldumper

参考:http://blog.csdn.net/cnbird2008/article/details/2110804
参考:http://cncc.bingj.com/cache.aspx?q=mysqldumper&d=4806009768379457&mkt=zh-CN&setlang=zh-CN&w=RwrpjOGDcRmJhRfRvt0xD6RhpvCmOX1v

MySQLDumper在PHP7下的问题已经得到解决。

参考:http://forum.mysqldumper.de/php-7-and-mysqli-t7496.html
参考:https://github.com/JustCarmen/fancy_database_backup/issues/1
下载:https://github.com/DSB/MySQLDumper/archive/master.zip

【测试】

需求:备份包括13个表/630885 条数据/20.66 MB大小的数据库。

效果:备份用时1分钟19秒,压缩后备份为3.60MB。

【竞品】

【命令行】

通过SQL命令行执行MySQL数据库的备份和导入:

SSH 登录主机,执行如下命令:

导出数据库:

mysqldump -h HOSTNAME -uUSERNAME -p DBNAME > exported_db.sql

导入数据库:

mysql -h HOSTNAME -uUSERNAME -p DBNAME < exported_db.sql

以上 HOSTNAME 是数据库主机名,USERNAME 和 DBNAME 分别是登陆 ID 和数据库名,导出的数据库存放在 exported_db.sql 文件里。

在 Shell 下导入数据库不受 PHPMyAdmin 中的导入大小限制,理论上数据库可以无限大。