客户那一台流量分析设备需要给更换成新设备,但要求保留之前的流量分析数据,查看了一下流量分析表情况,发现有几张分钟粒度的数据表数据量达到几亿条以上,数据库使用的是mysql,使用mysql 的导入导出工具mysqldump是没希望了,只能把几个大数据量的表挑出来单独处理,小数据量的表就用mysqldump搞定。
以fig_app_flow_1表为例,导出脚本如下
export_fig_app_flow_1.sh
#!/bin/sh
if [ "$#" -ne "1" ]
then
echo "please input outfile......"
exit
fi
export 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">$1
echo