导出:
#!/bin/bash host="172.16.8.191" port="3306" user="root" password="123456" dbname="db_indicator_drawline" dbset="--default-character-set=utf-8 -A" #cmd="show databases" #databases=$(mysql -h${host} -P${port} -u${user} -p${password} -e "${cmd}") #for database in ${databases} #do #echo ${database} cmd="show tables" tables=$(mysql -h${host} -P${port} -u${user} -p${password} ${dbname} -e "${cmd}") for table in ${tables} do if ((13 == ${#table})) then echo ${table} for fid in 10104 do cmd="SELECT qxmode, 8 as fid,period,datetime,data FROM ${table} where fid = ${fid} and datetime <= 20180901000000" echo ${cmd} mysql -h${host} -P${port} -u${user} -p${password} ${dbname} -N -e "${cmd}" > ./tmp/${fid}/${fid}-${table}.csv done fi done #done
导入:
#!/bin/bash #Error encountered execution terminated #set -e #do something... #set +e host="172.16.8.191" port="3306" user="root" password="123456" dbname="test_db_indicator_drawline" dbset="--default-character-set=utf-8 -A" path=./tmp/ dirlist=$(ls -l ${path} | grep '^d' | awk -F' ' '{print $NF}') for dir in ${dirlist} do echo "dir:${path}${dir}" >> dir.log files=$(ls ${path}${dir}) for file in ${files} do echo ${file} fid=${file%-*} tablecsv=${file#*-} table=${tablecsv%.*} echo ${fid} ${table} cmd="load data infile '${path}${dir}/${file}' replace into table ${table} (qxmode,fid,period,datetime,data)" echo ${cmd} mysql -h${host} -P${port} -u${user} -p${password} ${dbname} -e "${cmd}" done done
set 命令
参见:http://www.ruanyifeng.com/blog/2017/11/bash-set.html