通常情况下、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) 正在运行...

好了数据库备份这件事就搞定了。

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

  1. 本地连接linux mysql数据库_在本地连接远程MySQL数据库(Linux)

    尝试了两种在本地连接远程 MySQL 数据库的方式,一种是在本地使用 cmd 进行连接,还有一种就是使用 MySQL 的可视化工具 Navicate for MySQL 进行连接 一.对远程 MySQ ...

  2. apch连接mysql数据库连接_配置phpmyadmin连接远程 MySQL数据库

    Mysql 服务器上面安装mysql yum -y install mysql mysql-devel mysql-server mysql-* 首次安装后,执行 #mysql 后,执行修改密码操作 ...

  3. mysql 备份如何使用_如何使用命令来备份和还原MySQL数据库

    数据库在使用当中都会有数据库备份工作,当数据库发生严重错误无法启动,或者数据丢失时可以及时有效地恢复数据.那么多备份就简单介绍如何使用命令来备份和还原MySQL数据库. 备份数据库 使用mysqldu ...

  4. wdcp查看mysql日志_查看修改服务器中的WDCP数据库操作记录

    今天一老客户要使用本地工具(Navicat)操作主机中的MySQL,主机已开放3306端口,IDC后台安全策略也增加了3306,但是还是拒绝连接,出现上面的提示信息.百度了一下,说是主机名要使用&qu ...

  5. 阿里云怎样操作mysql数据库_阿里云主机如何操作mysql数据库

    阿里云主机如何操作mysql数据库,阿里云上传mysql数据库. 在阿里云ecs云服务器上部署数据库后,在平常的操作中可能会遇到些问题,可以先做个大致的了解: 如果您想看更多的在ecs上的数据库的相关 ...

  6. SqlServer数据库使用SQL脚本进行定时备份+异机备份

    一.定时备份 1.创建存放备份数据的文件夹(如D:\bak\bakup),否则执行sql语句会报错: 2.编写一个用于备份数据的sql脚本,内容如下: --声明备份集名称变量 declare @nam ...

  7. c access mysql数据库_基于C#的Access MsSQL MySQL 三种数据库访问演示(含源文件Demo)...

    基于C#的Access MsSQL MySQL 三种数据库访问演示(含源文件Demo) 一.三种数据库的主要对比 数据库类型 特点 Microsoft Access 桌面数据库.数据库载体是单个文件 ...

  8. 访问他人mysql数据库_怎么连接访问他人的MYSQL数据库?

    1.访问别人的MYSQL方法: 找到MySQL配置文件,搜索"bind-address",找到这一行: bind-address=127.0.0.1在前面加一个#,注释掉这一行,保 ...

  9. 建站助手切换mysql版本_巧用网站管理助手,Mysql数据库损坏修复

    站访问提示mysql错误:Table XXX is marked as crashed and should be repaired 修复方法如下: 一.管理助手方式: 打开管理助手,打开mysql数 ...

最新文章

  1. 剑指offer-链表中倒数第K个结点
  2. Flutter基础笔记
  3. 一行代码开启 Winform 中的 ListView 和 DataGridView 双缓冲功能
  4. CF997E. Good Subsegments(线段树,单调栈)
  5. Linux操作系统下IPTables配置方法详解(转载)
  6. 解决ufw下pptp客户端连接问题
  7. cad2023三维立体图形图纸工程设计绘图软件Autodesk AutoCAD 2023 中文
  8. Java 高并发编程详解:多线程与架构设计
  9. 3G、3GPP、LTE、4G解释
  10. 请教点击按钮时获得文本框中的字符进行操作问题
  11. Hugging Face:成为机器学习界的“GitHub”
  12. Topcoder EllysBottles 题解
  13. 郑捷 机器学习算法与编程实践 --ID3决策树 python3 代码
  14. 前端 vue + element + vux
  15. 水上飞机行业调研报告 - 市场现状分析与发展前景预测
  16. JavaScript 习题及面试题 4
  17. Teager能量算子(TEO)_Python实现
  18. 第五章 异常处理(中)
  19. js中实现页面跳转的几种方法
  20. 行星号查询程序APPGETNAME.F90/星历表星号功用/

热门文章

  1. 具有InlfuxDB的Spring Boot和Micrometer第2部分:添加InfluxDB
  2. spring jaxb_自定义Spring命名空间使JAXB变得更容易
  3. Vaadin Flow –奇妙的鹿
  4. Lombok,AutoValue和Immutables,或如何编写更少,更好的代码返回
  5. spring 异步返回结果_使用Spring Integration聚合异步结果
  6. Kafka的Spring Cloud Stream
  7. 什么是JSON处理(JSON-P API)?
  8. 渴望订阅– RxJava常见问题解答
  9. Neo4j:动态添加属性/设置动态属性
  10. 使用RxJava和SseEmitter进行服务器发送的事件