<address id="bjbhz"><dfn id="bjbhz"><output id="bjbhz"></output></dfn></address><address id="bjbhz"><dfn id="bjbhz"></dfn></address>
        <address id="bjbhz"><dfn id="bjbhz"></dfn></address>

        <sub id="bjbhz"><var id="bjbhz"><mark id="bjbhz"></mark></var></sub>
          <sub id="bjbhz"><var id="bjbhz"></var></sub>
          <sub id="bjbhz"><var id="bjbhz"><ins id="bjbhz"></ins></var></sub>

          <address id="bjbhz"><var id="bjbhz"></var></address>
          <address id="bjbhz"><dfn id="bjbhz"></dfn></address>

          <address id="bjbhz"><listing id="bjbhz"><ins id="bjbhz"></ins></listing></address>

            <thead id="bjbhz"></thead>

          MySQL Backup--使用mysqldump依次备份所有数据库

          某些场景下需要将数据库分开备份,有些场景又需要将所有数据库合在一起备份,特此整理此备份脚本

          #!/bin/bash
          ##===========================================================================##
          ## use mysqldump to backup all user database, keey 5 days.
          ##===========================================================================##
          ## mysql_backup_database option:
          ## ONE_BACKUP: backup all user database into one zip file
          ## MORE_BACKUP: backup user database into different zip files.
          ## DATABASE_NAME: only backup the specified database.
          
          ##===========================================================================##
          ## mysql backup config
          mysql_exe="/export/servers/mysql/bin/mysql"
          mysqldump_exe="/export/servers/mysql/bin/mysqldump"
          mysql_backup_folder="/export/data/mysql/dumps/"
          mysql_backup_log="${mysql_backup_folder}mysql_dump_log.txt"
          mysql_backup_log_his="${mysql_backup_folder}mysql_dump_log_his.txt"
          mysql_backup_host="127.0.0.1"
          mysql_backup_port=3306
          mysql_backup_user="root"
          mysql_backup_password="rootpwd"
          mysql_backup_database="ONE_BACKUP"
          mysql_backup_table_name_list=""
          mysql_backup_keep_days=5
          
          ##====================================================##
          ## get mysql version
          ##====================================================##
          function get_mysql_version()
          {
              master_version_tmp=`${mysql_exe}     --host="${mysql_backup_host}" --port=${mysql_backup_port}     --user="${mysql_backup_user}" --password="${mysql_backup_password}"     -e "select @@version;"`
              if [[ master_version_tmp == 5.5.* ]]
              then
                  mysql_version="mysql55"
              elif [[ master_version_tmp == 5.6.* ]]
              then
                  mysql_version="mysql56"
              else
                  mysql_version="mysql57"
              fi
          }
          
          ##===========================================================================##
          ## remove expired backup file
          ## keep the backup file of the last N days
          function remove_expired_file()
          {
              echo "$(date "+%Y-%m-%d %H:%M:%S")  start to remove expired backup file." >> ${mysql_backup_log}
              echo "keep days:    ${mysql_backup_keep_days}" >> ${mysql_backup_log}
              find "${mysql_backup_folder}" -mtime +${mysql_backup_keep_days} -name "*" -exec rm -rf {} \;
              echo "$(date "+%Y-%m-%d %H:%M:%S")  start to mysqldump." >> ${mysql_backup_log}
          }
          
          ##===========================================================================##
          ## backup single database
          function backup_single_database()
          {
              current_database_name=$1
              mysql_backup_file_path="${mysql_backup_folder}""${current_database_name}-`date -I`.sql.gz"
              echo "$(date "+%Y-%m-%d %H:%M:%S")  start to backup database ${current_database_name} to ${mysql_backup_file_path}" >> ${mysql_backup_log}
              
              ($mysqldump_exe     --host="${mysql_backup_host}"     --port=$mysql_backup_port     --user="${mysql_backup_user}"     --password="${mysql_backup_password}"     --databases "${current_database_name}"      --set-gtid-purged=OFF     --single-transaction     --hex-blob --opt --quick     --events --routines --triggers     --default-character-set="utf8"     --master-data=2     |gzip > "${mysql_backup_file_path}"     ) 1>>${mysql_backup_log} 2>>${mysql_backup_log} 
          
              if [ $? = 0 ]
              then
                  echo "$(date "+%Y-%m-%d %H:%M:%S")  backup database ${current_database_name} success." >> ${mysql_backup_log}
              else
                  echo "$(date "+%Y-%m-%d %H:%M:%S")  backup database ${current_database_name} failed." >> ${mysql_backup_log}
              fi
          }
          
          function backup_more_databases()
          {
              for database_name in ${database_name_list};
              do
                  if [ "$database_name" == "" ]
                  then
                      echo "database name can be empty"
                  else
                      backup_single_database "${database_name}"
                  fi
              done
          }
          
          function backup_all_databases()
          {
              mysql_backup_file_path="${mysql_backup_folder}""full-backup-`date -I`.sql.gz"
              echo "$(date "+%Y-%m-%d %H:%M:%S")  start to backup all databases to ${mysql_backup_file_path}" >> ${mysql_backup_log}
              
              ($mysqldump_exe     --host="${mysql_backup_host}"     --port=$mysql_backup_port     --user="${mysql_backup_user}"     --password="${mysql_backup_password}"     --all-databases     --ignore-table=mysql.*     --ignore-table=information_schema.*     --ignore-table=performance_schema.*     --ignore-table=sys.*     --set-gtid-purged=OFF     --single-transaction     --hex-blob --opt --quick     --events --routines --triggers     --default-character-set="utf8"     --master-data=2     |gzip > "${mysql_backup_file_path}"     ) 1>>${mysql_backup_log} 2>>${mysql_backup_log} 
          
              if [ $? = 0 ]
              then
                  echo "$(date "+%Y-%m-%d %H:%M:%S")  backup database ${current_database_name} success." >> ${mysql_backup_log}
              else
                  echo "$(date "+%Y-%m-%d %H:%M:%S")  backup database ${current_database_name} failed." >> ${mysql_backup_log}
              fi
          }
          
          
          function backup_databases()
          {    
              if [ "${mysql_backup_database}" == "ONE_BACKUP" ];
              then
                  backup_all_databases
              elif [ "${mysql_backup_database}" == "MORE_BACKUP" ];
              then
                  database_name_list=`${mysql_exe} --host="${mysql_backup_host}" --port=$mysql_backup_port --user="${mysql_backup_user}" --password="${mysql_backup_password}" -Ne "show databases;" |egrep -v "(mysql|sys|test|information_schema|performance_schema|dada_call_center)"`
                  backup_more_databases
              else 
                  database_name_list=${mysql_backup_database}
                  backup_more_databases
              fi
          }
          
          
          ##====================================================##
          ## 1. dump user script on mysql
          ## 2. this script only can be used on mysql 5.7
          ##====================================================##
          function dump_user_script_5_7()
          {
              script_file_path="${mysql_backup_folder}""user-script-`date -I`.sql"
              echo "$(date "+%Y-%m-%d %H:%M:%S")  start backup user script." >> ${mysql_backup_log}
              (echo "select concat(‘show create user ‘‘‘,user,‘‘‘@‘‘‘,host, ‘‘‘;
              ,show grants for ‘‘‘,user,‘‘‘@‘‘‘,host, ‘‘‘;) 
              from mysql.user where user <>root and user<>‘‘ and host <> ‘‘ " | \
              ${mysql_exe} --host="${mysql_backup_host}" --port=${mysql_backup_port}     --user="${mysql_backup_user}" --password="${mysql_backup_password}" -N |     ${mysql_exe} --host="${mysql_backup_host}" --port=${mysql_backup_port}     --user="${mysql_backup_user}" --password="${mysql_backup_password}" -N |     sed "s/$/;/" >> ${script_file_path}) 1>>${mysql_backup_log} 2>>${mysql_backup_log} 
              
              if [ $? = 0 ]
              then
                  echo "$(date "+%Y-%m-%d %H:%M:%S")  backup user script success." >> ${mysql_backup_log}
              else
                  echo "$(date "+%Y-%m-%d %H:%M:%S")  backup user script failed." >> ${mysql_backup_log}
              fi
          }
          
          
          ##====================================================##
          ## 1. dump user script on mysql
          ## 2. this script only can be used on mysql 5.5
          ##====================================================##
          function dump_user_script_5_5()
          {
              script_file_path="${mysql_backup_folder}""user-script-`date -I`.sql"
              echo "$(date "+%Y-%m-%d %H:%M:%S")  start backup user script." >> ${mysql_backup_log}
              
              (echo "select concat(‘show grants for ‘‘‘,user,‘‘‘@‘‘‘,host, ‘‘‘;‘)  
              from mysql.user where user <>root and user<>‘‘ and host <> ‘‘ " | \
              ${mysql_exe} --host="${mysql_backup_host}" --port=${mysql_backup_port}     --user="${mysql_backup_user}" --password="${mysql_backup_password}" -N |     ${mysql_exe} --host="${mysql_backup_host}" --port=${mysql_backup_port}     --user="${mysql_backup_user}" --password="${mysql_backup_password}" -N |     sed "s/$/;/" >> ${script_file_path}) 1>>${mysql_backup_log} 2>>${mysql_backup_log} 
              
              if [ $? = 0 ]
              then
                  echo "$(date "+%Y-%m-%d %H:%M:%S")  backup user script success." >> ${mysql_backup_log}
              else
                  echo "$(date "+%Y-%m-%d %H:%M:%S")  backup user script failed." >> ${mysql_backup_log}
              fi
          }
          
          ##===========================================================================##
          
          function backup_mysql_user()
          {
              if [[ mysql_version == "mysql55" ]]
              then
                  dump_user_script_5_5
              else
                  dump_user_script_5_7
              fi
          }
          
          
          ##===========================================================================##
          function mysql_backup()
          {
              echo > ${mysql_backup_log}
              get_mysql_version
              remove_expired_file
              backup_databases
              backup_mysql_user
              cat ${mysql_backup_log} > ${mysql_backup_log_his}
          }
          
          mysql_backup
          相关文章
          相关标签/搜索
          管家婆香港2018年资料四肖期期准铁算盘4887开奖结果四肖三期内必出刘伯温6374cm刘伯温168最快开奖现场开马开奖结果天天彩票 墨脱县| 绥宁县| 阿图什市| 上犹县| 翁牛特旗| 手机| 平罗县| 沐川县| 井研县| 丹寨县| 花莲县| 澳门| 瓮安县| 仁布县| 马公市| 台北县| 惠水县| 永济市| 谷城县| 博野县| 阿巴嘎旗| 龙胜| 涡阳县| 七台河市| 西吉县| 玉林市| 潜山县| 西吉县| 海宁市| 若尔盖县| 闸北区| 巴马| 台东市| 高唐县| 永宁县| 依兰县| 舞钢市| 漳平市| 美姑县| 扬中市| 苏尼特右旗| 新巴尔虎左旗| 麻城市| 松江区| 团风县| 富平县| 黄冈市| 东宁县| 马鞍山市| 南皮县| 策勒县| 铁力市| 体育| 五指山市| 大邑县| 微山县| 镇安县| 大连市| 太白县| 绥中县| 合川市| 胶州市| 阳西县| 闽侯县| 平利县| 云浮市| 连城县| 五河县| 兴安县| 屏东市| 兴宁市| 新巴尔虎左旗| 黄山市| 日喀则市| 鄱阳县| 德钦县| 中江县| 荔波县| 靖西县| 莱阳市| 安西县| 伊川县| 疏附县| 淮南市| 天柱县| 宜兰市| 三河市| 东宁县| 巨野县| 星子县| 台中市| 铜川市| 固原市| 道孚县| 海林市| 台中市| 舒城县| 横山县| 平泉县| 烟台市| 湖北省| 桓台县| 罗山县| 商丘市| 罗江县| 梁山县| 股票| 图们市| 蛟河市| 吉木萨尔县| 长汀县| 攀枝花市| 临沭县| 白玉县| 新和县| 开化县| 清水河县| 德州市| 永川市| 新乐市| 锡林浩特市| 灵寿县| 怀安县| 车险| 汾西县| 东源县| 福贡县| 建湖县| 昌平区| 涿州市| 乌兰县| 乐都县| 河源市| 武川县| 澄江县| 兴化市| 武定县| 霞浦县| 雅安市| 泸西县| 温宿县| 长海县| 余江县| 都江堰市| 那曲县| 临澧县| 平果县| 荆州市| 怀远县| 建湖县| 肃宁县| 江达县| 嘉荫县| 富宁县| 泸西县| 囊谦县| 久治县| 德江县| 奎屯市| 北安市| 义马市| 彭州市| 孟津县| 遂川县| 泰宁县| 方正县| 湟中县| 丹阳市| 庆阳市| 上犹县| 聂拉木县| 宜君县| 富锦市| 巫山县| 鹿泉市| 东光县| 山西省| 安龙县| 津市市| 萍乡市| 任丘市| 红桥区| 平舆县| 石嘴山市| 麦盖提县| 高邮市| 北流市| 安西县| 密云县| 塘沽区| 荣成市| 金沙县| 河池市| 星子县| 大名县| 绥德县| 兴山县| 邳州市| 巴林右旗| 沁阳市| 三河市| 萍乡市| 乌恰县| 南汇区| 靖江市| 开封县| 张家港市| 棋牌| 武陟县| 普安县| 珠海市| 文成县| 藁城市| 龙山县| 石家庄市| 栾川县| 丹东市| 蕉岭县| 台前县| 囊谦县| 彩票| 云南省| 东兴市| 应城市| 星子县| 罗田县| 广饶县| 长治市| 石首市| 富蕴县| 南雄市| 贺兰县| 赣榆县| 邻水| 广元市| 乐至县| 顺平县| 兴化市| 余干县| 濮阳县| 安义县| 定远县| 绍兴市| 康保县| 贞丰县| 寿宁县| 曲麻莱县| 永靖县| 二连浩特市| 绿春县| 饶阳县| 长春市| 神农架林区| 米泉市| 正宁县| 华坪县| 鲁甸县| 涟源市| 含山县| 宁夏| 普格县| 灌南县| 江门市| 裕民县| 上饶市| 达日县| 栾川县| 钟山县| 仁布县| 图片| 九龙县| 大英县| 和田市| 琼中| 张家界市| 逊克县| 曲麻莱县| 越西县| 洪湖市| 准格尔旗| 溆浦县| 新源县| 景德镇市| 大埔县| 班玛县| 新营市| 宝清县| 安西县| 杂多县| 旬阳县| 溆浦县| 虎林市| 封丘县| 蓬莱市| 阜新市| 富平县| 福州市| 武安市| 浏阳市| 神池县| 长宁县| 剑河县| 神池县| 辽中县| 延吉市| 柘城县| 濮阳市| 营口市| 昌图县| 延长县| 苍南县| 麦盖提县| 新巴尔虎右旗| 肇庆市| 若羌县| 禹州市| 大关县| 长乐市| 连州市| 郁南县| 绥江县| 宝兴县| 溆浦县| 冕宁县| 昭平县| 张家口市| 宁津县| 南皮县| 米易县| 五寨县| 云阳县| 丰原市| 宁城县| 东海县| 弋阳县| 来宾市| 乐至县| 兴义市| 繁峙县| 正蓝旗| 阳原县| 云龙县| 石阡县| 南昌县| 施秉县| 靖江市| 贞丰县| 偏关县| 封丘县| 温泉县| 宜兰市| 怀安县| 瑞金市| 嘉祥县| 综艺| 田林县| 长沙市| 阜阳市| 垣曲县| 泽普县| 陆河县| 孙吴县| 涿州市| 延长县| 连南| 甘孜县| 密云县| 南靖县| 永顺县| 龙山县| 古蔺县| 夏河县| 高密市| 泸溪县| 济阳县| 满城县| 上思县| 金坛市| 银川市| 龙海市| 改则县| 闵行区| 旬邑县| 和静县| 迁安市| 新竹市| 皋兰县| 焉耆| 新沂市| 乌拉特前旗| 淮安市| 盐山县| 龙胜| 宁安市| 陆良县| 苏尼特左旗| 伊通| 双城市| 三亚市| 张北县| 淳安县| 梁河县| 额尔古纳市| 榆林市| 抚宁县| 阳曲县| 依安县| 车致| 罗定市| 上饶县| 兴和县| 白水县| 枞阳县| 红河县| 辛集市| 武汉市| 视频| 天柱县| 枞阳县| 水城县| 安宁市| 德令哈市| 黄大仙区| 屯门区| 红桥区| 甘洛县| 丹巴县| 高邮市| 达拉特旗| 云阳县| 龙海市| 乌鲁木齐县| 平昌县| 伊金霍洛旗| 全南县| 松潘县| 吐鲁番市| 天镇县| 松原市| 大连市| 栾城县| 东城区| 西藏| 通河县| 昌吉市| 汶上县| 乌拉特中旗| 山丹县| 缙云县| 和平区| 聊城市| 左贡县| 遵化市| 青冈县| 诏安县| 青州市| 六安市| 资溪县| 东海县| 宣武区| 新化县| 广平县| 罗山县| 瑞昌市| 静海县| 嫩江县| 郁南县| 涞水县| 常德市| 堆龙德庆县| 长宁县| 仁化县| 灌阳县| 桑日县| 横山县| 铜梁县| 洪江市| 沅陵县| 金山区| 嘉峪关市| 汨罗市| 大石桥市| 邻水| 永宁县| 阳曲县| 襄城县| 安龙县| 叶城县| 秦皇岛市| 海安县| 吉安县| 东平县| 吉林省| 新民市| 乐东| 广水市| 永济市| 萍乡市| 喜德县| 盱眙县| 宜良县| 宁国市| 灵台县| 鞍山市| 龙山县| 大英县| 海阳市| 宁德市| 江陵县| 霍邱县| 河西区| 贡觉县| 清丰县| 武夷山市| 双城市| 湾仔区| 南京市| 腾冲县| 黑山县| 垫江县| 呼伦贝尔市| 湖北省| 保亭| 华阴市| 东乡| 涪陵区| 凤台县| 武安市| 襄垣县| 运城市| 南充市| 福清市| 嘉峪关市| 即墨市| 特克斯县| 交城县| 上栗县| 华安县| 格尔木市| 木兰县| 耒阳市| 郧西县| 台江县| 波密县| 锦屏县| 新乡县| 高淳县| 望都县| 阜平县| 永善县| 内黄县| 横山县| 许昌市| 武威市| 大同市| 喀什市| 阜宁县| 宁海县| 雷州市| 兰考县| 南漳县| 盖州市| 大港区| 疏勒县| 巴东县| 吕梁市| 清涧县| 南召县| SHOW| 利津县| 曲松县| 隆化县| 修武县| 崇阳县| 云龙县| 太原市| 新邵县| 万源市| 沅陵县| 嵊泗县| 长子县| 都兰县| 施秉县| 定南县| 崇信县| 石城县| 四平市| 大冶市| 贵阳市| 福清市| 罗甸县| 辽中县| 鄱阳县| 大田县| 海口市| 改则县| 林西县| 报价| 南阳市| 嘉禾县| 梅河口市| 长春市| 湟中县| 闽清县| 道真| 准格尔旗| 德阳市| 五家渠市| 抚远县| 常宁市| 江油市| 连云港市| 郯城县| 兴山县| 黄石市| http://www.jx1870googlev.fun http://www.jx1870interestv.fun http://jx1870hozev.fun http://www.jx1870fitv.fun http://wap.hz0j0r5vo.fun http://www.jx1870filterv.fun http://www.hz0j1r0vo.fun http://wap.jx1870footv.fun http://www.jx1870flowerv.fun http://www.hz0j3r5vo.fun http://www.hz0j0r3vo.fun http://www.jx1870guidev.fun http://jx1870fishv.fun http://jx1870hozev.fun http://www.jx1870forwardv.fun http://m.jx1870gainv.fun http://jx1870glassv.fun http://jx1870holidayv.fun