`

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

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

 

 

分享到:
评论

相关推荐

    运维+centos7+mysql+oss+加密备份+本地备份+远程备份+压缩备份+py脚本实现+定量备份

    这个资源是一个用于CentOS 7系统的自动化运维脚本,专注于MySQL数据库、阿里云OSS对象存储的备份操作。通过Python脚本实现,提供了简便而高效的备份方案,包括本地、远程、加密和压缩备份,以及定时任务的支持

    Shell脚本中执行sql语句操作mysql的5种方法

    对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本。本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考。对于脚本输出的结果美化,需要进一步完善和...

    18个Linux Shell脚本经典案例视频.zip

    MySQL数据库备份单循环 MySQL数据库备份多循环 nginx 访问访问日志按天切割 nginx nginx访问日志分析脚本 一键查看服务器资源利用率 一键部署LNMP网站平台脚本 批量主机远程执行命令脚本 批量创建100用户并设置密码...

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    03-学会使用MySQL数据库的帮助.avi 04-修改mysql密码多方法实战及注意-排错.avi 05-找回丢失的mysql密码实战.avi 06-多实例找回丢失的mysql密码.avi 07-SQL语言介绍及分类详解.avi 08-创建不同字符集数据库及企业...

    常用shell 脚本,dos攻击防范,

    MySQL数据库备份单循环.sh MySQL数据库备份多循环.sh nginx 访问访问日志按天切割.sh nginx.conf nginx访问日志分析脚本.sh shell.txt 一键查看服务器资源利用率.sh 一键部署LNMP网站平台脚本.sh 下载必看....

    Linux Shell脚本经典案例合集

    MySQL数据库备份单循环.sh MySQL数据库备份多循环.sh nginx 访问访问日志按天切割.sh nginx访问日志分析脚本.sh 查看网卡实时流量脚本.sh 服务器系统配置初始化脚本.sh 监控100台服务器磁盘利用率脚本.sh 监控MySQL...

    最新SQLyog MySQL GUI x86 11.2.0-4 Ultimate 多语言版本 带序列号

    一款图形化界面的MySQL数据库管理工具,可以让你轻松的远程维护数据库。该工具主要包含以下功能: (1)小巧的自动完成。 (2)HTTP/HTTPS和SSH通道。 (3)向导化的汇入工具包。 (4)结构化的同步,可以设定任务...

    Oracle数据库学习指南

    Oracle2: 1. 《Oracle8 优化技术》摘录 (第一章 安装) 2. 《Oracle8 优化技术》摘录 (第二章 内存-CPU) 3. 《Oracle8 优化技术》摘录 (第三章 输入-输出) 4. EXP、IMP 命令详解 ...52. 自动备份Oracle数据库

    优秀数据库工具 Database .NET Free 32.1.7761.1 + x64.zip

    数据库自动化处理(Automatically): 无须通过SQL命令或外部执行 密码保护(Protect Database): Access 97-2003/Access 2007/SQL Server CE/SQLite 自动新建(Create Database): Access 2000/Access 2007/...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例013 安装MySQL数据库服务器 26 实例014 安装PHP.50 28 实例015 第4个PHP程序 30 1.5 XAMPP——Linux版PHP集成化安装包 31 实例016 XAMPP——Linux下PHP开发环境的集成化 31 实例017 Linux操作系统下启动XAMPP 32...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例013 安装MySQL数据库服务器 26 实例014 安装PHP.50 28 实例015 第4个PHP程序 30 1.5 XAMPP——Linux版PHP集成化安装包 31 实例016 XAMPP——Linux下PHP开发环境的集成化 31 实例017 Linux操作系统下启动XAMPP 32...

    老男孩python 四期

    ※通过自动化脚本自动收集硬件信息,写入数据库并前台实现更新 6、实现按用户、按组、按机房等管理软件使用权限 ※实现不同运维人员使用不同等级的权限管理不同的远程机器 7、课程总结、回顾、期末学生开发运维...

    Ubuntu权威指南(2/2)

    1.3.1 使用“--help”选项查询 命令的简单说明 6 1.3.2 使用man命令联机查询 系统参考手册 6 1.3.3 使用info命令查询命令的相关信息 8 1.4 安装Ubuntu Linux系统 9 1.4.1 安装前的准备 10 1.4.2 安装Ubuntu Linux...

    Ubuntu权威指南(1/2)

    1.3.1 使用“--help”选项查询 命令的简单说明 6 1.3.2 使用man命令联机查询 系统参考手册 6 1.3.3 使用info命令查询命令的相关信息 8 1.4 安装Ubuntu Linux系统 9 1.4.1 安装前的准备 10 1.4.2 安装Ubuntu Linux...

    开源团免费虚拟主机管理系统

    ① 支持SQL Server数据库和MySQL数据库。 ② 数据库自动开通、自主管理功能。 ③ 自定义管理产品相关参数,如:空间大小等。 ④ 支持数据库管理功能,如:数据库管理、日志清除、数据库备份/恢复、数据库状态、...

    php网络开发完全手册

    15.4 使用PHP获取MySQL数据库的信息 255 15.4.1 获取数据库的信息 255 15.4.2 获取表的信息 256 15.4.3 获取列的数目 256 15.4.4 获取列的名称 257 15.4.5 获取列的数据类型 257 15.4.6 获取列的长度 257 15.4.7 ...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    4.2.3 初始化MySQL数据库 4.3 配置一个bacula备份系统 4.3.1 配置bacula的Console端 4.3.2 配置bacula的Director端 4.3.3 配置bacula的SD 4.3.4 配置bacula的FD端 4.4 启动与关闭bacula 4.4.1 启动...

    开源团免费虚拟主机管理系统 1.9.6(20110613).rar

     ① 支持SQL Server数据库和MySQL数据库。  ② 数据库自动开通、自主管理功能。  ③ 自定义管理产品相关参数,如:空间大小等。  ④ 支持数据库管理功能,如:数据库管理、日志清除、数据库备份/恢复、数据库...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    书名:《Java开发实战1200例(第I卷)》(清华大学出版社.李钟尉,陈丹丹) PDF格式扫描版,全书分为24章,共817页。...实例269 文件选择对话框指定数据库备份文件 342 实例270 指定打开对话框的文件类型 343 ...

Global site tag (gtag.js) - Google Analytics