Linux Shell脚本专栏_MySQL数据库备份_09

文章目录

  • 一、MySQL数据库备份单循环
    • 1. 安装mysql
    • 2. 配置mysql环境变量
    • 3. 刷新环境变量
    • 4. 创建数据库和表lue
    • 5. 脚本制作
    • 6. 运行脚本
    • 7. 查看备份的sql文件
    • 7. 脚本升级动态传参
    • 8. 运行脚本
    • 9. 查看备份的sql文件
  • 二、MySQL数据库表备份多循环
    • 2.1. 脚本制作
    • 2.2. 运行脚本
    • 2.3. 指定目录查看指定数据库的表
    • 2.4. 脚本升级
    • 2.5. 运行脚本
  • 三、添加备份输出
    • 3.1 备份数据库
    • 3.2 备份数据库和表

一、MySQL数据库备份单循环

1. 安装mysql

Linux6、7 系列 安装、卸载mysql

2. 配置mysql环境变量

vim /etc/profile
export MYSQL_HOME=/app/mysql-5.7.25
export PATH=$PATH:${JAVA_HOME}/bin:${MYSQL_HOME}/bin

3. 刷新环境变量

source /etc/profile

4. 创建数据库和表lue

5. 脚本制作

#创建脚本
vim db_backup.sh
#!/bin/bash
DATE=$(date +%F_%H-%M-%S)
HOST=localhost
USER=root
PASS=root
BACKUP_DIR=/data/db_backup
DB_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "show databases;" 2>/dev/null |egrep -v "Database|information_schema|mysql|performance_schema|sys")for DB in $DB_LIST; doBACKUP_NAME=$BACKUP_DIR/${DB}_${DATE}.sqlif ! mysqldump -h$HOST -u$USER -p$PASS -B $DB > $BACKUP_NAME 2>/dev/null; thenecho "$BACKUP_NAME 备份失败!"fi
done

6. 运行脚本

[root@ly-01 ~]# bash db_backup.sh 

7. 查看备份的sql文件

cd /data/db_backup
ll
[root@ly-01 db_backup]# pwd
/data/db_backup
[root@ly-01 db_backup]# ll
total 300
-rw-r--r-- 1 root root 303483 Feb 25 11:26 ke_2020-02-25_11-26-26.sql
[root@ly-01 db_backup]# 

7. 脚本升级动态传参

#!/bin/bash
DATE=$(date +%F_%H-%M-%S)
HOST=$1
USER=$2
PASS=$3
BACKUP_DIR=/data/db_backup
DB_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "show databases;" 2>/dev/null |egrep -v "Database|information_schema|mysql|performance_schema|sys")for DB in $DB_LIST; doBACKUP_NAME=$BACKUP_DIR/${DB}_${DATE}.sqlif ! mysqldump -h$HOST -u$USER -p$PASS -B $DB > $BACKUP_NAME 2>/dev/null; thenecho "$BACKUP_NAME 备份失败!"fi
done

8. 运行脚本

[root@ly-01 ~]# bash db_backup_yh.sh 192.168.43.242 root root

9. 查看备份的sql文件

[root@ly-01 db_backup]# pwd
/data/db_backup
[root@ly-01 db_backup]# ll
total 300
-rw-r--r-- 1 root root 303483 Feb 25 11:26 ke_2020-02-25_11-26-26.sql
[root@ly-01 db_backup]# ll
total 600
-rw-r--r-- 1 root root 303483 Feb 25 11:26 ke_2020-02-25_11-26-26.sql
-rw-r--r-- 1 root root 303488 Feb 25 11:29 ke_2020-02-25_11-29-20.sql
[root@ly-01 db_backup]#

二、MySQL数据库表备份多循环

2.1. 脚本制作

#创建脚本
vim db_table_backup.sh
#!/bin/bash
DATE=$(date +%F_%H-%M-%S)
HOST=localhost
USER=root
PASS=root
BACKUP_DIR=/data/db_backup
DB_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "show databases;" 2>/dev/null |egrep -v "Database|information_schema|mysql|performance_schema|sys")for DB in $DB_LIST; doBACKUP_DB_DIR=$BACKUP_DIR/${DB}_${DATE}[ ! -d $BACKUP_DB_DIR ] && mkdir -p $BACKUP_DB_DIR &>/dev/nullTABLE_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "use $DB;show tables;" 2>/dev/null)for TABLE in $TABLE_LIST; doBACKUP_NAME=$BACKUP_DB_DIR/${TABLE}.sqlif ! mysqldump -h$HOST -u$USER -p$PASS $DB $TABLE > $BACKUP_NAME 2>/dev/null; thenecho "$BACKUP_NAME 备份失败!"fidone
done

2.2. 运行脚本

bash db_table_backup.sh

2.3. 指定目录查看指定数据库的表

[root@ly-01 ~]# cd /data/db_backup/
[root@ly-01 db_backup]# ll
total 604
-rw-r--r-- 1 root root 303483 Feb 25 11:26 ke_2020-02-25_11-26-26.sql
-rw-r--r-- 1 root root 303488 Feb 25 11:29 ke_2020-02-25_11-29-20.sql
drwxr-xr-x 2 root root   4096 Feb 25 11:37 ke_2020-02-25_11-37-18
[root@ly-01 db_backup]# cd ke_2020-02-25_11-37-18/
[root@ly-01 ke_2020-02-25_11-37-18]# ll
total 340
-rw-r--r-- 1 root root   2282 Feb 25 11:37 ke_alarm_clusters.sql
-rw-r--r-- 1 root root   2117 Feb 25 11:37 ke_alarm_config.sql
-rw-r--r-- 1 root root   2337 Feb 25 11:37 ke_alarm_consumer.sql
-rw-r--r-- 1 root root   2200 Feb 25 11:37 ke_consumer_bscreen.sql
-rw-r--r-- 1 root root   2068 Feb 25 11:37 ke_consumer.sql
-rw-r--r-- 1 root root   1985 Feb 25 11:37 ke_logsize.sql
-rw-r--r-- 1 root root   2693 Feb 25 11:37 ke_metrics_offline.sql
-rw-r--r-- 1 root root 289927 Feb 25 11:37 ke_metrics.sql
-rw-r--r-- 1 root root   2177 Feb 25 11:37 ke_p_role.sql
-rw-r--r-- 1 root root   2747 Feb 25 11:37 ke_resources.sql
-rw-r--r-- 1 root root   2213 Feb 25 11:37 ke_role_resource.sql
-rw-r--r-- 1 root root   2132 Feb 25 11:37 ke_sql_history.sql
-rw-r--r-- 1 root root   1962 Feb 25 11:37 ke_topic_rank.sql
-rw-r--r-- 1 root root   1965 Feb 25 11:37 ke_user_role.sql
-rw-r--r-- 1 root root   2089 Feb 25 11:37 ke_users.sql
[root@ly-01 ke_2020-02-25_11-37-18]#

在这里插入图片描述

2.4. 脚本升级

#!/bin/bash
DATE=$(date +%F_%H-%M-%S)
HOST=$1
USER=$2
PASS=$3
BACKUP_DIR=/data/db_backup
DB_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "show databases;" 2>/dev/null |egrep -v "Database|information_schema|mysql|performance_schema|sys")for DB in $DB_LIST; doBACKUP_DB_DIR=$BACKUP_DIR/${DB}_${DATE}[ ! -d $BACKUP_DB_DIR ] && mkdir -p $BACKUP_DB_DIR &>/dev/nullTABLE_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "use $DB;show tables;" 2>/dev/null)for TABLE in $TABLE_LIST; doBACKUP_NAME=$BACKUP_DB_DIR/${TABLE}.sqlif ! mysqldump -h$HOST -u$USER -p$PASS $DB $TABLE > $BACKUP_NAME 2>/dev/null; thenecho "$BACKUP_NAME 备份失败!"fidone
done

2.5. 运行脚本

[root@ly-01 ~]# bash db_table_backup.sh 192.168.43.242 root root

在这里插入图片描述

三、添加备份输出

3.1 备份数据库

#!/bin/bash
DATE=$(date +%F_%H-%M-%S)
HOST=$1
USER=$2
PASS=$3
BACKUP_DIR=/data/db_backup
DB_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "show databases;" 2>/dev/null |egrep -v "Database|information_schema|mysql|performance_schema|sys")for DB in $DB_LIST; doBACKUP_NAME=$BACKUP_DIR/${DB}_${DATE}.sqlecho "$BACKUP_NAME 备份成功!" if ! mysqldump -h$HOST -u$USER -p$PASS -B $DB > $BACKUP_NAME 2>/dev/null; thenecho "$BACKUP_NAME 备份失败!"fi
done
[root@ly-01 ~]# bash db_backup_yh.sh 192.168.43.242 root root
/data/db_backup/ke_2020-02-25_11-49-46.sql 备份成功!
[root@ly-01 ~]#

3.2 备份数据库和表

#!/bin/bash
DATE=$(date +%F_%H-%M-%S)
HOST=$1
USER=$2
PASS=$3
BACKUP_DIR=/data/db_backup
DB_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "show databases;" 2>/dev/null |egrep -v "Database|information_schema|mysql|performance_schema|sys")for DB in $DB_LIST; doBACKUP_DB_DIR=$BACKUP_DIR/${DB}_${DATE}[ ! -d $BACKUP_DB_DIR ] && mkdir -p $BACKUP_DB_DIR &>/dev/nullTABLE_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "use $DB;show tables;" 2>/dev/null)for TABLE in $TABLE_LIST; doBACKUP_NAME=$BACKUP_DB_DIR/${TABLE}.sqlecho "$BACKUP_NAME 备份成功!" if ! mysqldump -h$HOST -u$USER -p$PASS $DB $TABLE > $BACKUP_NAME 2>/dev/null; thenecho "$BACKUP_NAME 备份失败!"fidone
done
[root@ly-01 ~]# bash db_table_backup.sh 192.168.43.242 root root
/data/db_backup/ke_2020-02-25_11-46-50/ke_alarm_clusters.sql 备份成功!
/data/db_backup/ke_2020-02-25_11-46-50/ke_alarm_config.sql 备份成功!
/data/db_backup/ke_2020-02-25_11-46-50/ke_alarm_consumer.sql 备份成功!
/data/db_backup/ke_2020-02-25_11-46-50/ke_consumer.sql 备份成功!
/data/db_backup/ke_2020-02-25_11-46-50/ke_consumer_bscreen.sql 备份成功!
/data/db_backup/ke_2020-02-25_11-46-50/ke_logsize.sql 备份成功!
/data/db_backup/ke_2020-02-25_11-46-50/ke_metrics.sql 备份成功!
/data/db_backup/ke_2020-02-25_11-46-50/ke_metrics_offline.sql 备份成功!
/data/db_backup/ke_2020-02-25_11-46-50/ke_p_role.sql 备份成功!
/data/db_backup/ke_2020-02-25_11-46-50/ke_resources.sql 备份成功!
/data/db_backup/ke_2020-02-25_11-46-50/ke_role_resource.sql 备份成功!
/data/db_backup/ke_2020-02-25_11-46-50/ke_sql_history.sql 备份成功!
/data/db_backup/ke_2020-02-25_11-46-50/ke_topic_rank.sql 备份成功!
/data/db_backup/ke_2020-02-25_11-46-50/ke_user_role.sql 备份成功!
/data/db_backup/ke_2020-02-25_11-46-50/ke_users.sql 备份成功!
[root@ly-01 ~]# 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【当头棒喝】你是真的了解云计算吗?

戳蓝字“CSDN云计算”关注我们哦!作者 | 全球物联网观察责编 | 阿秃对于“云计算”这个名词,大家早已耳熟能详,而且出场率越来越高!但对于很多新入行的“小白”来说,其中涉及的各种概念可能令人毫无头绪,这…

专注数据,打造阿里云Elasticsearch“一站式”数据服务体系

众所周知,Elasticsearch的问世使得各种结构、非结构数据得以实现实时搜索、分析的可能,越来越多的用户使用ES集群(即Elasticseach集群,下文均简称ES集群)实现数据的升值与挖掘。而用户在开发的过程中总是面临数据导入、…

java8 lambda maplist排序_「java8系列」流式编程Stream

前言「Java8系列」神秘的Lambda「Java8系列」神奇的函数式接口继上两篇之后,本文已经java8系列的第三篇了。本篇文章比较长,但我希望大家都能认真读完。读不完可以先收藏,在找时间读。没看过前两篇的可以点上边的链接看看,前两篇文…

Centos7 下载、安装、配置、启动部署

文章目录1. 下载tomcat2. 解压tomcat3. 重命名tomcat4. 配置tomcat环境变量5. 刷新配置文件6. 启动tomcat1. 下载tomcat wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.tar.gz2. 解压tomcat [rootly-01 ~]# tar -zxf apache-tomca…

世界杯千万级直播高稳定的挑战和实践

今年夏天,俄罗斯世界杯召开。在刚刚落幕的重庆云栖飞天技术汇专场中,阿里视频云技术专家裘良科,就世界杯这个话题,跟参会嘉宾一起探讨了千万级直播高稳定的挑战和相关实践,本文为演讲全文。 2018年俄罗斯世界杯从6月14…

会议邀请 | 10月25日北京,首期D2iQ云原生主题论坛正式启动

在开始今天的内容之前,先问大家一个问题:云原生究竟是什么? 一般来说,“云原生”是一种构建和运行应用程序的方法,它利用了云计算交付模型的优势。CNCF(云原生计算基金会)将“云原生”定义为使…

Flutter快速上车之Widget

Flutter作为一种全新的响应式,跨平台,高性能的移动开发框架。从开源以来,已经得到越来越多开发者的喜爱。闲鱼是最早一批与谷歌展开合作,并在重要的商品详情页中使用上线的公司。一路走来,积累了大量的开发经验。虽然越…

Linux Shell脚本专栏_自动发布Java项目(tomcat)_10

文章目录一、需求背景及实现流程1. 需求背景2. 实现流程二、软件准备2.1. 公共工具包yum下载2.2. tomcat安装及配置2.3. maven安装及配置2.4. 安装mysql2.5. order项目配置2.6. 脚本制作2.7. 运行脚本一、需求背景及实现流程 1. 需求背景 order项目代码已经到版本仓库中&…

[Phoenix] 十、全局索引设计实践

概述 全局索引是Phoenix的重要特性,合理的使用二级索引能降低查询延时,让集群资源得以充分利用。 本文将讲述如何高效的设计和使用索引。 全局索引说明 全局索引的根本是通过单独的HBase表来存储数据表的索引数据。我们通过如下示例看索引数据和主表数…

云原生数据库崛起,阿里云POLARDB当选世界互联网领先科技成果

戳蓝字“CSDN云计算”关注我们哦!作者 | 晶少责编 | 阿秃10月20日,在第六届世界互联网大会上,阿里云自研数据库POLARDB当选世界互联网领先科技成果,POLARDB解决了企业在云时代的数据库难题,帮助企业在数小时内完成上云…

gitee提交代码_git 版本控制,github和gitee

3.4 git 版本控制# 查看本地状态git status # 修改README.txt ,添加一行,保存,添加到暂存区git add README.txt # 查看当前仓库某一个文件的版本git diff README.txt# 提交到本地仓库git commit README.txt -m second Commit# 查看当前仓库某一个文件版本…

IT 拉呱室 | 论我遇到的最刺激的bug【长期福利站】

戳蓝字“CSDN云计算”关注我们哦!套路的最高境界是没有套路:这是一个只送福利的长期互动栏目【如果你们让我尴尬,我就哭给你们看】。书籍、键盘、鼠标、鼠标垫、CSDN 20周年纪念T恤、技术沙龙门票、线上公开课名额……你敢一直在,…

“百变”Redis带你见识不同场景下的产品技术架构

2018飞天技术汇24期-云数据库Redis产品发布会,由阿里云数据库技术组技术专家王欢、怀听、梁盼分别带来以“Redis全球多活产品”、“Redis混合存储产品”、“Redis多线程性能增强版”为题的演讲。本文对Redis进行了简单的介绍,进而针对不同的应用场景研制…

阿里云PyODPS 0.7.18发布,针对聚合函数进行优化同时新增对Python 3.7支持

近日,阿里云发布PyODPS 0.7.18,主要是针对聚合函数进行优化同时新增对Python 3.7支持。 PyODPS是MaxCompute的Python版本的SDK,SDK的意思非常广泛,辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。 PyODPS在这…

centos安装rabbitmq_【SpringBoot MQ系列教程】RabbitMq 初体验

SpringBoot 系列教程之 RabbitMq 初体验​mp.weixin.qq.commq 在异步解耦削峰的优势非常突出,现在很多的项目都会用到,掌握 mq 的知识点,了解如何顺畅的使用 mq,可以说是一个必备的职业技能点了接下来我们进入 rabbitmq 的学习过程…

java rpc与webservice_RPC体系,RPC和WebService的区别详解

RPC和WebService的关系RPC(Remote Procedure Call)— 远程过程调用,是一个很大的概念, 它是一种通过网络从远程计算机程序上跨语言跨平台的请求服务,rpc能省略部分接口代码的开发,可以跨机器之间访问对象(java rmi),可以有更方便的…

免费公测中-GPU数据库SQream DB正式上线云市场

业内领先的GPU 数据库服务SQream DB在阿里云云市场正式开启免费公测!SQream DB是一款由阿里战略投资的以色列SQream公司提供,能够支撑海量数据高速分析的业内领先的GPU数据库。通过将计算密集型操作卸载到GPU上,与业界的解决方案相比&#xf…

唏嘘!2019榜单出炉:铁打的Python连续3年第一,它居然跌出前十?

IEEE Spectrum2019年度编程语言排行榜最近刚刚出炉,Python不出意外的又拿了个第一,但是意料之外的是,曾经大火的PHP,居然跌出了前十!PHP曾被大家称为“世界上最好的编程语言”,去年排名第六,前年…

阿里云ECS家族再添新成员,推出密集计算型实例规格族ic5

去年,阿里云正式发布云服务器ECS企业级产品家族,推出面向173种企业应用场景的19款实例。适合在复杂的企业计算环境下,满足对于高性能、高可靠的计算需求。 时隔近一年,回看ECS企业级产品家族已经发展到30款实例,近日再…

findbugs插件_Intellij静态代码扫描插件SpotBugs

最近要做Java静态扫描的部分工作,之前是在Jenkins上使用findbugs插件完成的,但是由于现在Jenkins权限收回和Java代码权限的放开(我也搞不懂这两者的关联性),目前打算在本地完成静态代码扫描工作。选来选取还是选择在Intellij中用插件来完成&a…