分割mysql 大sql文件批量导入

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值