并行导入

  1. #!/bin/bash
  2. source /etc/profile
  3. loadthreads=10
  4. loadfile=nt_order_line_discount.sql
  5. for loadthread in `seq 0 1 $((loadthreads-1))`
  6. do
  7. ( { echo 'set UNIQUE_CHECKS=0;set FOREIGN_KEY_CHECKS=0;set SQL_MODE="NO_AUTO_VALUE_ON_ZERO";'; awk '{if( ( NR%'${loadthreads}'=='${loadthread}' && $0~/^INSERT /) || $0~/^USE `/) print}' $loadfile; } | mysql --prompt=xxx${loadthread} -uroot -proot -h172.16.51.75 -P3323 oc -f &> ${loadfile}loadthread${loadthread}.log & )
  8. done

小表批量导出

table_name='
ACCT_PAY_LED_D
SETL_D
'
for i in $table_name
do
echo "mysqldump --single-transaction --set-gtid-purged=OFF --no-tablespaces --triggers=0 --default-character-set=utf8mb4 --hex-blob --complete-insert=0 --extended-insert --skip-tz-utc --no-create-db  --skip-add-locks --skip-disable-keys  -t  -uroot -proot  -h10.130.135.28 -P3323 --databases SETLCENT_DB --tables $i > $i.sql &" >>1.txt
echo "sleep 1" >>1.txt
done