linux 远程备份mysql数据库_使用脚本自动化远程备份MySQL数据库

通常情况下、MySQL都需要备份,备份的方法有很多种。下面是我用脚本配合计划任务完成的自动备份远程的数据库。

一、 确认备份方案:

备份机:ip192.168.8.51

数据库服务器:ip192.168.8.46

备份的内容:对mysql的studydb、coursedb库进行远程备份、每天2:30执行,每个库备份为独立的sql文件。然后压缩为tar.gz格式,文件中嵌入备份的日期和时刻。

1. 创建数据库:

[root@ns ~]# service mysqld status

mysqld (pid 3554) 正在运行...

[root@ns ~]# mysqladmin -uroot -p password 123123 ##更改密码

Enter password: ##输入原密码

[root@ns ~]# mysql -uroot -p123123

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 8

Server version: 5.0.77-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

mysql> create database studydb; ##创建数据库

Query OK, 1 row affected (0.05 sec)

mysql> create database couredb;

Query OK, 1 row affected (0.00 sec)

2. 给数据库赋权:

mysql> grant select,lock tables on studydb.* to 'operator'@'192.168.8.51' identified by 'pwd123'; ##使用逻辑工具备份工具mysqldump是需要对库有select和lock tables的权限

Query OK, 0 rows affected (0.00 sec)

mysql> grant select,lock tables on coursedb.* to 'operator'@'192.168.8.51' identified by 'pwd123';

Query OK, 0 rows affected (0.00 sec)

3. 在192.168.8.51测试备份:

[root@localhost ~]# cd /tmp

[root@localhost tmp]# mysqldump -u operator -ppwd123 -h 192.168.8.46 --databases studydb >test.sql

[root@localhost tmp]# ls

bin games test.sql

二、 在192.168.8.51编写Mysql备份脚本:

[root@localhost ~]# mkdir /root/bin

[root@localhost ~]# cd /root/bin

[root@localhost bin]# vi dbbak.sh

#!/bin/bash

#这是一个简单的mysql数据库逻辑备份脚本

#1.定义数据库连接、目标库信息

MY_USER="operator"

MY_PASS="pwd123"

MY_HOST="192.168.8.46"

MY_CONN="-u $MY_USER -p$MY_PASS -h $MY_HOST"

MY_DB1="studydb"

MY_DB2="coursedb"

#2.定义备份目录、工具、时间、文件名主体

BF_DIR="/opt/dbbak/"

BF_CMD="/usr/local/bin/mysqldump"

BF_TIME=`date +%Y%m%d-%H%M`

NAME_1="$MY_DB1-$BF_TIME"

NAME_2="$MY_DB2-$BF_TIME"

#3.先导出为.sql脚本,然后再进行压缩(打包后删除原文件)

cd $BF_DIR/

/bin/tar zcf $NAME_1.tar.gz $NAME_1.sql --remove &>/dev/null

/bin/tar zcf $NAME_2.tar.gz $NAME_2.sql --remove &>/dev/null

[root@localhost bin]# mkdir /opt/dbbak ###创建备份目录

[root@localhost bin]# chmod a+x dbbak.sh ###给脚本执行权限

[root@localhost bin]# dbbak.sh ##运行脚本

[root@localhost bin]# ls /opt/dbbak/ ###验证效果

coursedb-20130505-0311.tar.gz studydb-20130505-0311.tar.gz

三、 在192.168.8.51上设置计划任务:

[root@localhost bin]# crontab -e

30 2 * * * /root/bin/dbbak.sh

[root@localhost bin]# chkconfig crond on

[root@localhost bin]# service crond status

crond (pid 3263) 正在运行...

好了数据库备份这件事就搞定了。0b1331709591d260c1c78e86d0c51c18.png

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

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

相关文章

javafx动画_JavaFX动画工具

javafx动画好的,我想是时候让您讲一个小秘密了。 最近三个月左右,我从事一个私人项目,目标是创建一个工具,使我可以轻松地为Java桌面应用程序创建动画。 JavaFX在API级别上提供了出色的动画支持,但对于初学者甚至中级程…

HH SaaS电商系统的商品类目设计

文章目录商品的基础类目创建基础类目编辑基础类目删除基础类目启用/禁用基础类目商城的营销类目新增商城营销类目编辑商城营销类目营销类目关联商品店铺的营销类目新增营销类目营销类目关联商品编辑店铺营销类目类目启用规则(适用于全部类目)商品类目分为…

HH SaaS电商系统的品牌模块设计

品牌和商品基础类目属于多对多的关系创建品牌时必须关联商品基础类目,且只能关联三级类目,至少关联一种品牌只能由租户统一进行维护管理,供应商、商家、商城可以申请新品牌,但是由租户进行审核品牌被删除或者停用后,关…

chameleon 算法_为了简单起见,Arquillian Chameleon

chameleon 算法使用Arquillian时,您需要做的一件事情就是定义要在哪个容器下执行所有测试。 这是通过在适配器的类路径中添加依赖项并取决于所使用的模式(嵌入式,托管或远程)来下载的来完成的。 他是应用程序服务器。 例如&…

HH SaaS电商系统管理后台的商品规格编辑

类目规格删除或者新增 类目原来已有的规格被删除或者新增,那么原先的SKU全部需要重新生成,所以编辑时SKU信息无需展示,保留的规格信息也不必显示。 提交商品数据后,后端根据规格值名称进行匹配,如果匹配成功则更新SKU…

flink和kafka区别_Apache Flink和Kafka入门

flink和kafka区别介绍 Apache Flink是用于分布式流和批处理数据处理的开源平台。 Flink是具有多个API的流数据流引擎,用于创建面向数据流的应用程序。 Flink应用程序通常使用Apache Kafka进行数据输入和输出。 本文将指导您逐步使用Apache Flink和Kafka。 先决条件…

solr cloud 更新 solrconfig 配置_Solr各版本新特性「4.x,5.x,6.x,7.x」

一.Solr4.x新特性1.近实时搜索Solr的近实时搜索【Near Real-Time,NRT】功能实现了文档添加到搜索的快速进行,以应对搜索快速变化的数据。2.原子更新与乐观并发原子更新功能允许客户端应用对已有文档上进行添加、更新、删除和对字段增值等操作&#xff0c…

junit数据驱动测试_使用Junit和Easytest进行数据驱动的测试

junit数据驱动测试在本文中,我们将看到如何使用Junit进行数据驱动的测试。 为此,我将使用一个名为EasyTest的库。 我们知道,对于TestNG,它已内置了数据提供程序。 通过简单的测试,我们可以使用Junit进行数据驱动的测试…

HH SaaS电商系统的出库功能模块设计

文章目录出库单业务流程基本流程扩展流程找不到符合条件的仓库,要求部分退款(未生成出库单时)找不到符合条件的仓库,全部退款(未生成出库单时)找不到符合条件的仓库,等待库存补足(未…

java 拼图_拼图项目的诅咒:为什么Java 9一遍又一遍地延迟?

java 拼图JDK 9发行日期推迟到2017年7月 距JDK 9发行不到200天,它又被推迟了 。 新的发布日期已更新为2017年7月,比之前推迟的日期晚了四个月。 推迟日期 9月13日,Oracle Java平台小组的首席架构师Mark Reinhold发表了他的建议,…

mysql数据库增删改查关键字_mysql数据库的增删改查

数据库基本操作:增删改查#DML语言/*数据操作语言:插入:insert修改:update删除:delete*/1.增插入语句的方式一表已经存在啦,我们需要往里面插入数据/*语法:insert into 表名(列名,…) values(值1…

HH SaaS电商系统的采购功能模块设计

文章目录如何生成采购单系统生成采购单的流程基本流程扩展流程找不到符合条件的供应商,要求部分退款(初次生成采购单时)找不到符合条件的供应商,要求全部退款(初次生成采购单时)指定供应商的库存不足&#…

HH SaaS电商系统的入库功能模块设计

文章目录创建入库单的场景创建入库单的业务流程商品直接入库内部仓退货入库(内部仓)换货入库(内部仓)退货入库(外部仓)换货入库(外部仓)备货入库(内部仓)备货…

接口方法javadoc注释_继承Javadoc方法注释

接口方法javadoc注释尽管用于javadoc工具的JDK工具和实用程序页面通过实现和继承方法来描述Javadoc方法注释重用的规则,但是当实际上不需要使用{inheritDoc}时,很容易不必要地显式描述注释继承,因为会使用相同的注释隐式继承。 Java 8 javado…

redis java 监听_从零手写实现redis(四)添加监听器

前言java从零手写实现redis(一)如何实现固定大小的缓存?java从零手写实现redis(三)redis expire 过期原理java从零手写实现redis(三)内存数据如何重启不丢失?本节,让我们…

drill apache_如何指南:Apache Drill入门

drill apacheApache Drill是一个引擎,可以连接到许多不同的数据源,并为它们提供SQL接口。 它不仅是遍历任何复杂事物SQL界面,而且是功能强大的界面, 其中包括对许多内置函数和窗口函数的支持。 尽管它可以连接到可以使用SQL进行查…

mac mysql 重设密码_Mac下忘记mysql密码重新设置密码的图文教程

MySQL 文件在路径/usr/local/mysql下1, 在系统偏好设置中关闭 mysql : Stop MySQL Server2 ,打开终端进入路径  /usr/local/mysql/bin输入命令 sudo su, 然后输入开机密码。然后输入命令:./mysqld_safe –skip-grant-…

activiti 变量_如何在Activiti中使用瞬态变量

activiti 变量我们昨天发布的Activiti v6 Beta3中已经加入了很多需要的功能-临时变量。 在这篇文章中,我将向您展示一个示例,说明如何使用瞬态变量来覆盖一些以前不可能(或最佳)的高级用例。 到目前为止,Activiti中的…

erosa mysql_MySQL协议和canal实现

前言前面的文章里,我们了解到 canal 可以从 MySQL 中感知数据的变化。这是因为它模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,从而实现了主从复制。正是了解到这一点,笔者有两个问题便一直萦绕于心:它是如何…

HH SaaS电商系统的供应商系统设计

供应商信息结构图 供应商类型 商城的供应商划分为专享型、共享型两种,但是租户和店铺供应商则都是“专享型”的。 共享型供应商发布的商品归属供应商自己的,商品档案供应商才有资格管理,所以spu_base需要保存供应商id,有供应商id…