分割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
mysql存储文档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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论