Welcome 微信登录

首页 / 数据库 / MySQL / 使用脚本自动化远程备份MySQL数据库

通常情况下、mysql都需要备份,备份的方法有很多种。下面是我用脚本配合计划任务完成的自动备份远程的数据库。一、 确认备份方案:备份机:ip192.168.8.51数据库服务器:ip192.168.8.46备份的内容:对mysql的studydb、coursedb库进行远程备份、每天2:30执行,每个库备份为独立的sql文件。然后压缩为tar.gz格式,文件中嵌入备份的日期和时刻。1. 创建数据库:[root@ns ~]# service mysqld statusmysqld (pid 3554) 正在运行...[root@ns ~]# mysqladmin -uroot -p password 123123 ##更改密码Enter password: ##输入原密码[root@ns ~]# mysql -uroot -p123123Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 8Server version: 5.0.77-log Source distributionType "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]# lsbin 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 -e30 2 * * * /root/bin/dbbak.sh[root@localhost bin]# chkconfig crond on[root@localhost bin]# service crond statuscrond (pid 3263) 正在运行...好了数据库备份这件事就搞定了。MySQL的FLUSH句法Oracle数据库的表空间及数据库文件的迁移方法相关资讯      MySQL数据库备份 
  • mydumper备份MySQL数据库示例  (07/09/2015 19:39:54)
  • MySQL 数据库备份种类以及常用备份  (03/21/2015 13:20:27)
  • XtraBackup对MySQL数据库的备份及  (09/27/2013 16:47:12)
  • Mydumper - MySQL数据库备份工具  (04/25/2015 20:09:37)
  • Java实现MySQL数据库备份  (10/14/2014 20:23:11)
  • MySQL高性能详细数据库备份  (09/09/2013 20:43:43)
本文评论 查看全部评论 (0)
表情: 姓名: 字数