mysql大数据表导入导出

来源:互联网 发布:好看的末世小说知乎 编辑:程序博客网 时间:2024/05/01 17:41

客户那一台流量分析设备需要给更换成新设备,但要求保留之前的流量分析数据,查看了一下流量分析表情况,发现有几张分钟粒度的数据表数据量达到几亿条以上,数据库使用的是mysql,使用mysql 的导入导出工具mysqldump是没希望了,只能把几个大数据量的表挑出来单独处理,小数据量的表就用mysqldump搞定。

以fig_app_flow_1表为例,导出脚本如下

export_fig_app_flow_1.sh

#!/bin/shif [ "$#" -ne "1" ]thenecho "please input outfile......"exitfiexport sqlstr="SELECT concat(CONCAT_WS('||::||',IFNULL(link_id,''),IFNULL(app_id,''),IFNULL(in_byte,''),IFNULL(out_byte, ''),IFNULL(in_pkt, ''),IFNULL(out_pkt, ''),IFNULL(in_bps, ''),IFNULL(out_bps, ''),IFNULL(capture_time, ''),'|#|#|#')) FROM fig_app_flow_1;"echo -e `date "+%Y-%m-%d %H:%M:%S"` " begin exporting table fig_app_flow_1......"mysql -uforceview -pforceview -D forceview -s -q -e "$sqlstr">$1echo -e `date "+%Y-%m-%d %H:%M:%S"` " end exporting table fig_app_flow_1......"

数据导出到一个文件中,scp到新设备上,随后是导入脚本

load_fig_app_flow_1.sh

#!/bin/shif [ "$#" -ne "1" ]thenecho "please input infile......"exitfiexport sqlinput="load data local infile '$1' into table fig_app_flow_1 FIELDS TERMINATED BY '||::||'  LINES TERMINATED BY '|#|#|#';";echo -e `date "+%Y-%m-%d %H:%M:%S"` " begin loading table fig_app_flow_1......"mysql -uforceview -pforceview -D forceview -s -q -e "$sqlinput"echo -e `date "+%Y-%m-%d %H:%M:%S"` " end loading table fig_app_flow_1......"


导入导出耗时都在两三分钟左右,类似方法一个一个操作,十几个大数据表数据移植成功!

0 0
原创粉丝点击