1、centos7 用如下命令分割,其中-l 8000意思是以8000行为单位分割, -b, --bytes=SIZE
put SIZE bytes per output file,mysql数据文件每行都是条执行语句,按大小分割可能会出错。
split --verbose -l 8000 st_2018-06-04_stock.sql -d -a 2 --additional-suffix=.sql split_st
2、mkdir temp
mv split*.sql temp
3、创建batch.sh文件,内容如下
#!/bin/bash
db_host='192.168.1.10'
db_user='root'
db_pass='123456'
db_db='stockcn'db_port='3306'
query_exec="mysql -h $db_host -u$db_user -p$db_pass -P3306 $db_db -e"
query_string="$query_exec \"SELECT COUNT(*) from stock_cn.day_price_alpha \""
echo " $query_string"
query_result=`eval $query_string`
result_array=($(echo "$query_result" sed 's/ /g'))
echo query_result[1]
cd /root/stock_data
p="/root/stock_data/temp"
for f in `ls $p/*.sql`
do
echo $f;
import_cmd="mysql -h $db_host -u$db_user -p$db_pass -P$db_port $db_db < $f"
echo " $import_cmd"
eval $import_cmd
done
echo 'finished!
运行 sh batch.sh