脚踏实地、勇往直前!
全部博文(1005)
分类: Mysql/postgreSQL
2014-09-30 09:39:14
1.找到创建语句的部分
若dump文件非常庞大的话,该过程是比较消耗时间的,我们建议导出备份的时候一个库一个文件,最好是一个表一个文件,这样恢复的时候就很方便了.
从mysqldump备份的文件中找到创建表的语句,这里的table是精确匹配,不支持模糊匹配.
[mysql@node2 data_bak]$ sed -e '/./{H;$!d;}' -e 'x;/CREATE TABLE `tb_dic_class12`/!d;q' /db/mysql/data_bak/some_tables.sql
DROP TABLE IF EXISTS `tb_dic_class12`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `tb_dic_class12` (
`class_id` int(11) DEFAULT NULL,
`class_name` varchar(20) NOT NULL DEFAULT '',
`createtime` datetime DEFAULT NULL,
`modifytime` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
[mysql@node2 data_bak]$
2.找到insert的语句
grep 'INSERT INTO `tb_dic_class_myisam`' /db/mysql/data_bak/some_tables.sql>aa.txt
剩下的就是恢复的过程了,先执行创建表的语句,然后执行insert部分.
-- The End --