无法从损坏的mysql转储文件访问表

v2g6jxz6  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(281)
grep -n "Table Structure" dumpfile.sql

退货

XXXXXX:-- Table structure for table `table_name_1`
XXXXXX:-- Table structure for table `table_name_2`
XXXXXX:-- Table structure for table `table_name_3`

但在这一点之后,它就破裂了。不知道为什么?
为了从巨大的转储文件(大约489gb)中检索单个表,我使用了:

sed -n -e '/Table Structure 'table_name'/p' dump_file_name.sql > extracted_file.sql

但它无法定位 table_name .
所以我的问题是。如何访问所有表?又或者为什么它在某个表之后,却找不到该表。
如果有人能帮我的话,请。这将是一件伟大的事情!

lfapxunr

lfapxunr1#

你的大脑有两个问题 sed 命令。
首先,在由单引号分隔的字符串中使用单引号。这是行不通的,因为内部引号只会结束shell字符串,而不会包含在字面上。
其次,转储文件中的引号是反引号,而不是单引号。
还有,你失踪了 for table 按照你的模式 sstructure 应为小写。

sed -n -e '/Table structure for table `table_name`/p' dump_file_name.sql > extracted_file.sql

但你可以用 grep 对于这个,你不需要 sed :

grep 'Table structure for table `table_name`' dump_file_name.sql > extracted_file.sql

相关问题