mysql备份恢复策略

mysql备份恢复策略

ID:30324159

大小:64.00 KB

页数:11页

时间:2018-12-29

mysql备份恢复策略_第1页
mysql备份恢复策略_第2页
mysql备份恢复策略_第3页
mysql备份恢复策略_第4页
mysql备份恢复策略_第5页
资源描述:

《mysql备份恢复策略》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准文案MySQL备份和恢复策略在数据库表丢失或损坏的情况下,备份你的数据库是很重要的。如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。本文主要对MyISAM表做备份恢复。备份策略一:直接拷贝数据库文件(不推荐)备份策略二:使用mysqlhotcopy备份数据库(完全备份,适合小型数据库备份)备份策略三:使用mysqldump备份数据库(完全+增量备份,适合中型数据库备份)备份策略四:使用主从复制机制(replication)(实现数据库实时备份)备份策略一、直接拷贝数据库文件直接拷贝数

2、据文件最为直接、快速、方便,但缺点是基本上不能实现增量备份。为了保证数据的一致性,需要在备份文件前,执行以下SQL语句:FLUSHTABLESWITHREADLOCK;也就是把内存中的数据都刷新到磁盘中,同时锁定数据表,以保证拷贝过程中不会有新的数据写入。这种方法备份出来的数据恢复也很简单,直接拷贝回原来的数据库目录下即可。备份策略二、使用mysqlhotcopy备份数据库mysqlhotcopy是一个PERL程序,最初由TimBunce编写。它使用LOCKTABLES、FLUSHTABLES和cp或scp来快速备份数据库。

3、它是备份数据库或单个表的最快的途径,但它只能运行在数据库文件(包括数据表定义文件、数据文件、索引文件)所在的机器上,并且mysqlhotcopy只能用于备份MyISAM表。本备份策略适合于小型数据库的备份,数据量不大,可以采用mysqlhotcopy程序每天进行一次完全备份。备份策略布置:(1)、安装DBD-mysqlperl模块,支持mysqlhotcopy脚本连接到MySQL数据库。shell>tar-xzvfDBD-mysql-4.005.tar.gzshell>cdDBD-mysql-4.005shell>unset

4、LANGshell>perlMakefile.PL-mysql_config=/usr/local/mysql/bin/mysql_config-testuser=root-testpassword=UserPWDshell>makeshell>maketestshell>makeinstall(2)、设置crontab任务,每天执行备份脚本shell>crontab-e03***/root/MySQLBackup/mysqlbackup.sh>/dev/null2>&1每天凌晨3:00执行备份脚本。mysqlbackup.

5、sh注释:精彩文档实用标准文案#!/bin/sh#Name:mysqlbackup.sh#PS:MySQLDataBaseBackup,Usemysqlhotcopyscript.#Writeby:i.Stone#LastModify:2007-11-15##定义变量,请根据具体情况修改#定义脚本所在目录scriptsDir=`pwd`#数据库的数据目录dataDir=/usr/local/mysql/data/#数据备份目录tmpBackupDir=/tmp/tmpbackup/backupDir=/tmp/mysqlba

6、ckup/#用来备份数据库的用户名和密码mysqlUser=rootmysqlPWD=111111#定义eMail地址eMail=alter@somode.com#如果临时备份目录存在,清空它,如果不存在则创建它if[[-e$tmpBackupDir]];thenrm-rf$tmpBackupDir/*elsemkdir$tmpBackupDirfi#如果备份目录不存在则创建它if[[!-e$backupDir]];thenmkdir$backupDirfi#清空MySQLBackup.logif[[-sMySQLBacku

7、p.log]];thencat/dev/null>MySQLBackup.logfi#得到数据库备份列表,在此可以过滤不想备份的数据库fordatabasesin`find$dataDir-typed

8、sed-e"s//usr/local/mysql/data///"

9、sed-e"s/test//"`;doif[[$databases==""]];thencontinueelse精彩文档实用标准文案#备份数据库/usr/local/mysql/bin/mysqlhotcopy--user=$mysqlUser-

10、-password=$mysqlPWD-q"$databases"$tmpBackupDirdateTime=`date"+%Y.%m.%d%H:%M:%S"`echo"$dateTimeDatabase:$databasesbackupsuccess!">>MySQLBackup.log

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。