`

使用脚本自动化远程备份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) 正在运行...

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

 

 

分享到:
评论

相关推荐

    python备份mysql数据库

    在备份MySQL数据库时,Python可以编写脚本来自动化这个过程。 2. MySQL数据库:MySQL是一款流行的开源关系型数据库管理系统,广泛应用于各种Web应用和服务器环境中。备份MySQL数据库是为了防止数据丢失或在系统故障...

    远程备份数据库脚本

    此脚本为一个用于自动化备份MySQL数据库的shell脚本。主要通过远程连接的方式,将指定数据库的数据进行备份,并存储到预设的目标目录中。通过定时任务(如crontab)可以实现定期自动备份。 ### 脚本结构分析 脚本...

    基于xtrabackup的MySQL数据库备份及还原Shell脚本.zip

    了解这些基本概念后,你可以查看压缩包内的`基于xtrabackup的MySQL数据库备份及还原Shell脚本`,这个脚本将详细展示如何结合`xtrabackup`和Shell来自动化MySQL数据库的备份与还原流程。在实际使用时,你需要根据自己...

    如何在linux下实现mysql数据库每天自动备份 txt

    本文将详细介绍如何通过编写Shell脚本并结合Cron定时任务来实现MySQL数据库的每日自动备份。 #### 一、准备阶段 在开始之前,请确保您的Linux系统已经安装了MySQL服务器以及相关的命令行工具。如果尚未安装,可以...

    Linux自动备份MySQL数据库并上传到FTP服务器上shell脚本

    ### Linux自动备份MySQL数据库并上传到FTP服务器上Shell脚本详解 #### 一、脚本概述 本脚本主要用于在Linux环境下实现MySQL数据库的自动备份,并将备份文件上传至指定的FTP服务器。对于需要定期备份MySQL数据库的...

    windows系统备份远程mysql到本地服务器

    在Windows操作系统环境下,为了实现定期自动备份远程MySQL数据库到本地服务器,我们需要遵循一系列步骤和技术。这里,我们主要涉及的是使用`sqldump.exe`工具,这是一个MySQL数据库提供的命令行实用程序,用于生成...

    备份PostgreSQL和MySQL数据库

    此外,可以使用定时任务或自动化脚本来定期执行备份,确保数据始终得到保护。 为了更高级的定制,你可以深入学习`mysqldump`和`pg_dump`的选项,如选择特定的表进行备份、压缩备份文件、在备份过程中排除某些数据等...

    MySQL数据库自动备份、还原bat

    通过上述批处理脚本,我们可以实现MySQL数据库的自动化备份与恢复操作。这不仅大大减轻了数据库管理员的工作负担,还提高了数据安全性。需要注意的是,在实际部署前,应根据自己的环境调整脚本中的参数,例如数据库...

    mysql自动备份shell脚本

    手动备份虽然可靠,但耗时且容易遗漏,而通过编写shell脚本实现自动化备份则能极大地提高效率,确保数据的安全性。以下是一些关于如何创建和使用MySQL自动备份shell脚本的详细说明: 首先,我们需要一个能够执行...

    mysql数据库备份脚本

    "mysql数据库备份脚本" 提供了一种自动化的方法来执行全量备份,这对于避免意外数据丢失或系统故障至关重要。 在MySQL中,全量备份是指备份整个数据库,包括所有的表、数据、索引和其他元数据。这种备份方法适用于...

    mysql数据库自动备份

    总结来说,实现MySQL数据库的自动备份涉及多个步骤,包括编写备份脚本、配置定时任务、设置异地备份和过期文件删除。通过这些方法,可以有效保护数据安全,减少因意外情况造成的数据丢失。同时,了解如何进行备份...

    mysql数据库备份并上传

    本文将详细介绍如何使用Windows批处理脚本(BAT)来实现MySQL数据库的备份,并通过FTP服务将其上传至远程服务器。 首先,我们需要了解MySQL数据库备份的基本原理。MySQL提供了多种备份方式,如mysqldump工具,它是...

    Linux 使用脚本安装MySQL数据库

    在Linux环境中,使用脚本来安装MySQL数据库是一种自动化和高效的方法,尤其对于批量部署或系统配置而言。本篇文章将深入探讨如何编写和执行这样的脚本,以及安装过程中涉及的关键知识点。 首先,我们需要理解Linux...

    mysql自动化备份方案

    - **撰写MySQL自动备份脚本**:通过编写bash脚本实现MySQL数据库的自动化备份。脚本中定义了数据库名称、用户名、密码等关键参数,并指定了备份文件的保存路径。使用`mysqldump`命令进行热备份,即在不中断数据库...

    Linux MySQL数据库本地备份及异地备份

    6. **`mysql_bak - 例子.sh`**:这可能是一个shell脚本,用于自动化MySQL的备份过程,包括执行mysqldump、打包备份文件和可能的上传到远程服务器。 7. **`chuanshu - 例子.sh`**:" chuanshu "可能是“传输”的拼音...

    linux自动备份文件 并上传到远程服务器 脚本实现

    在Linux环境下进行自动化操作可以极大地提高工作效率,特别是对于数据备份及远程传输这样的重复性任务。本文将详细介绍如何利用Shell脚本在Linux系统上实现MySQL数据库的定时自动备份,并通过FTP协议上传至远程...

    MySQL数据库备份与恢复

    ### MySQL数据库备份与恢复 #### 引言 ...在校园网系统及更广泛的网络应用中,实现MySQL数据库的自动化备份,不仅能减轻管理员的工作负担,还能显著提升数据安全性,是现代信息化管理不可或缺的一部分。

    Mysql数据库远程管理软件

    5. **备份和导入导出**:自动化备份计划确保数据的安全性,同时支持从各种文件格式导入数据到MySQL,也可以导出数据为多种格式。 6. **数据传输**:在不同的MySQL服务器之间方便地迁移数据,无需编写复杂的SQL脚本...

    shell脚本可配置多线程备份mysql5.7.8以后数据库异常sendEmail25发邮件.rar

    在IT行业中,shell脚本是Linux/Unix...总之,这个shell脚本提供了一种自动化的方式来高效备份MySQL数据库,并在出现问题时及时通知管理员。通过理解和掌握这些知识点,你可以构建出更加可靠和灵活的数据库备份系统。

Global site tag (gtag.js) - Google Analytics