zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系
    介绍几个在线画流程图的工具
    企业如何招聘到高质量的程序员?
    韩信点兵算法
    扩展VS2010插件通过UML类图,自动生成相关代码
    CSS必须要知道的10个技巧
    T4系列文章之3:T4语法的介绍
    JSON.stringify 语法讲解
    跟我一起学JQuery插件开发
    从VS 2010 自带的2008 SQL数据库中的数据导入到 SQL 2005中
  • 原文地址:https://www.cnblogs.com/bjx2020/p/10918758.html
Copyright © 2011-2022 走看看