位置:首页 > 数据库 > MySQL
MySQL 浅析Drupal的MySQL InnoDB数据库备份与还原
日期:2023-04-25 人气:

大家好,对Drupal的MySQL InnoDB数据库备份与还原实例教程感兴趣的小伙伴,下面一起跟随三零脚本的小编来看看Drupal的MySQL InnoDB数据库备份与还原实例教程的例子吧。

折腾过MySql数据库的同学都知道,MyISAM类型的Mysql备份和管理比较方便,现在我们来分享一下InnoDB类型的Mysql数据库如何备份和还原.

首先,为什么要这么做呢,因为我工作于一个大型drupal项目,数据库文件很大,而且每个新特性都在分支上进行开发,这样意味着我需要搭建多个本地环境,并且经常需要删除旧的分支,建立新的分支.

由于数据库使用的大部分是InnoDB引擎,而InnoDB在分配了空间以后是不释放,也不可以被重用的,这里可能是我还没找对方法,所以由于我这样频繁的建立和删除数据库导致了InnoDB的数据库文件越来越大,所以决定给数据库文件瘦身.

InnoDB的数据库文件默认是公用ibdata1,在我本地已经达到17G之多,并且还在不断变大.

以下是瘦身步骤,注意瘦身之前对原始的ibdata1文件做好备份.

1,在命令行或者PHPMyAdmin里删除不需要的数据库.

2,备份所有的数据库.

mysqldump-uDBuser-pPassword--quick--force--routines--add-drop-database--all-databases--add-drop-table>/your_backup_place/mysqldump.sql--q3060.com

这里主要是看后面的可选参数,这个操作是备份的全部数据库,如果本地数据库较多,会很慢,当然导入的时候会更慢,我是为了省空间不得已为之,大家如果也有和我一样的想法,使用本文的方案后果自负.

3,删除ibdata1文件,导入时会自动建立的,其余数据库不用管,因为导入时会先删后建.

4,进入MYSQL命令行使用source命令进行导入.

最后,不管大家是否能执行成功,反正我是成功了.