假设有这么一个场景需要从一个50GB的Dump中提取一张表或者多张表怎么办呢?使用Linux的Grep、Sed还是AWK呢?
转载请尊重原创、保留相关链接本文来自多宝平台 :http://www.mbodb.com
这里使用MySQL自带的mysql_find_rows来实现,下面做个演示说明一下
首先导出mysql库(使用mysql做演示)
[mysql@localhost ~]$ mysqldump -uroot -pxxxxx --databases mysql > mysql.sql
使用mysql_find_rows查找func表
[mysql@localhost ~]$ mysql_find_rows --regexp 'func' mysql.sql | more
--
-- Table structure for table `func`
--
DROP TABLE IF EXISTS `func`;
CREATE TABLE `func` (
`name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
`ret` tinyint(1) NOT NULL DEFAULT '0',
`dl` char(128) COLLATE utf8_bin NOT NULL DEFAULT '',
`type` enum('function','aggregate') CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='User defined functions';
--