mysql分批导出数据和分批导入数据库

mysql分批导出数据和分批导入数据库

  由于某些原因,比如说测试环境有很多库,需要迁移到新的环境中,不需要导出系统库的数据。而数据库又有好多,如何才能将每个库导出到独立的文件中呢?导入到一个文件的话,又很大,不好办。

这里是这个在测试环境下的实验记录,方便操作。

# 导出的脚本

#!/bin/bash

#######################################################
# Function: dump databases
# Author: davie
# Date: 2019-05-20
# Version: 1.0
# Script name: /usr/local/scripts/mutiple_database_dump.sh
#######################################################

Date_time=`date +%F_%H_%M`
Host="192.168.100.100"
User_name="admin"
Pass_word="admin_password"
Back_dir="/data/mysql/lww_dump/192.168.100.100_dump"
Mysql_cmd="/usr/local/mysql/bin"

if [ ! -d $"Back_dir"  ] ;then
    mkdir -p "${Back_dir}"
fi

"${Mysql_cmd}"/mysql -h "${Host}" -u"${User_name}" -p"${Pass_word}" -e "show databases"|grep -Evi 'Database|information_schema|mysql|performance_schema' | while read db;
do
    echo "$db"
"${Mysql_cmd}"/mysqldump -h "${Host}" -u"${User_name}" -p"${Pass_word}" --opt --hex-blob --default-character-set=utf8mb4 --skip-tz-utc --single-transaction --master-data=2 -B "${db}" | gzip> "${Back_dir}"/"${db}"."${Date_time}".sql.gz & done

# 导入脚本

# 导入脚本
#!/bin/bash

#######################################################
# Function: import databases
# Author: davie
# Date: 2019-05-20
# Version: 1.0
# Script name: /usr/local/scripts/mutiple_database_import.sh
#######################################################

Date_time=`date +%F_%H_%M`
Host="192.168.100.101"
User_name="admin"
Pass_word="admin_password"
Back_dir="/data/mysql/lww_dump/192.168.100.100_dump"
Mysql_cmd="/usr/local/mysql/bin"
Log_file="/data/mysql/lww/lww_dump/logs"


ls "${Back_dir}"  | while read dbfile;
do
        /usr/bin/gunzip <"${Back_dir}"/"${dbfile}" | "${Mysql_cmd}"/mysql -h "${Host}" -u"${User_name}" -p"${Pass_word}"
        if [ $? -eq 0 ]; then 
                echo "${Date_time}" >>"${Log_file}"/"${Host}".import.logs
                echo ""${dbfile}" ok" >>"${Log_file}"/"${Host}".import.logs
        else    
                echo "${Date_time}" >>"${Log_file}"/"${Host}".import.logs
                echo ""${dbfile}" error" >>"${Log_file}"/"${Host}".import.logs
        fi 
done

猜你喜欢

转载自www.cnblogs.com/bjx2020/p/10918758.html