场景:
mysql导出导入大数据文件时,如果文件很大,导入时最好先把索引都去掉,如果导出时包含表结构,则在一个很大的文件上编辑表结构将非常麻烦,所以正确的做法:
1. 导出表结构(不包含数据)
1 |
mysqldump -d dbname tablename >tablename-schema.sql |
2. 编辑表结构(去掉索引)
3. 创建表
1 |
cat tablename-schema-no-index.sql|mysqldump dbname |
4. 导出表数据 (不包含表结构)
1 |
mysqldump -t dbname tablename >tablename-data.sql |
5. 导入数据
1 |
cat tablename-data.sql|mysqldump dbname |
6. 添加索引
附:
解压大文件直接到mysql:
1 |
tar -zxf bigfile.sql.tgz -O |mysql |
如何知道灌到什么程度了?
tar 在解压的时候,使用的也是外部的解压程序(如:gzip),通过管道交互,可以查看gzip读的那个文件读到哪里了,如:
1 |
cat /proc/pid_of_gzip/fdinfo/0 |