使用mysqldump备份数据库文档格式.docx

上传人:b****5 文档编号:18895685 上传时间:2023-01-02 格式:DOCX 页数:8 大小:18.10KB
下载 相关 举报
使用mysqldump备份数据库文档格式.docx_第1页
第1页 / 共8页
使用mysqldump备份数据库文档格式.docx_第2页
第2页 / 共8页
使用mysqldump备份数据库文档格式.docx_第3页
第3页 / 共8页
使用mysqldump备份数据库文档格式.docx_第4页
第4页 / 共8页
使用mysqldump备份数据库文档格式.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

使用mysqldump备份数据库文档格式.docx

《使用mysqldump备份数据库文档格式.docx》由会员分享,可在线阅读,更多相关《使用mysqldump备份数据库文档格式.docx(8页珍藏版)》请在冰豆网上搜索。

使用mysqldump备份数据库文档格式.docx

Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):

//直接回车

Enterpassphrase(emptyfornopassphrase):

//直接回车,不使用密码

Entersamepassphraseagain:

Youridentificationhasbeensavedin/root/.ssh/id_rsa.

Yourpublickeyhasbeensavedin/root/.ssh/id_rsa.pub.

Thekeyfingerprintis:

c2:

96:

9f:

2d:

5a:

8e:

08:

42:

43:

35:

2f:

85:

5e:

72:

f8:

1croot@lab

 

2)、在备份服务器(192.168.0.200)上创建目录,修改权限,并传送公钥。

[root@lab~]#ssh192.168.0.200"

mkdir.ssh;

chmod0700.ssh"

Theauthenticityofhost'

192.168.0.200(192.168.0.200)'

can'

tbeestablished.

RSAkeyfingerprintis37:

57:

55:

c1:

32:

f1:

dd:

bb:

1b:

8a:

13:

6f:

89:

fb:

b8:

9d.

Areyousureyouwanttocontinueconnecting(yes/no)?

yes

Warning:

Permanentlyadded'

192.168.0.200'

(RSA)tothelistofknownhosts.

root@192.168.0.200'

spassword:

//输入备份服务器的root密码

[root@lab~]#scp.ssh/id_rsa.pub192.168.0.200:

.ssh/authorized_keys2

id_rsa.pub100%2180.2KB/s00:

00

3)、测试SSH登录

[root@lab~]#ssh192.168.0.200//测试SSH登录

Lastlogin:

FriNov1610:

34:

022007from192.168.0.20

[root@lib~]#

(4)、设置crontab任务,每天执行备份脚本

shell>

crontab-e

#每个星期日凌晨3:

00执行完全备份脚本

03**0/root/MySQLBackup/mysqlFullBackup.sh>

/dev/null2>

&

1

#周一到周六凌晨3:

00做增量备份

03**1-6/root/MySQLBackup/mysqlDailyBackup.sh>

mysqlFullBackup.sh注释:

#!

/bin/sh

#Name:

mysqlFullBackup.sh

#PS:

MySQLDataBaseFullBackup.

#Writeby:

i.Stone

#LastModify:

2007-11-17

#

#Usemysqldump--helpgetmoredetail.

#定义变量,请根据具体情况修改

#定义脚本目录

scriptsDir=`pwd`

#定义数据库目录

mysqlDir=/usr/local/mysql

#定义用于备份数据库的用户名和密码

user=root

userPWD=111111

#定义备份目录

dataBackupDir=/tmp/mysqlbackup

#定义邮件正文文件

eMailFile=$dataBackupDir/email.txt

#定义邮件地址

eMail=alter@

#定义备份日志文件

logFile=$dataBackupDir/mysqlbackup.log

DATE=`date-I`

echo"

"

>

$eMailFile

echo$(date+"

%y-%m-%d%H:

%M:

%S"

)>

>

cd$dataBackupDir

#定义备份文件名

dumpFile=mysql_$DATE.sql

GZDumpFile=mysql_$DATE.sql.tar.gz

#使用mysqldump备份数据库,请根据具体情况设置参数

$mysqlDir/bin/mysqldump-u$user-p$userPWD\

--opt--default-character-set=utf8--extended-insert=false\

--triggers-R--hex-blob--all-databases\

--flush-logs--delete-master-logs\

--delete-master-logs\

-x>

$dumpFile

#压缩备份文件

if[[$?

==0]];

then

tarczf$GZDumpFile$dumpFile>

$eMailFile2>

echo"

BackupFileName:

$GZDumpFile"

DataBaseBackupSuccess!

rm-f$dumpFile

#Deletedailybackupfiles.

cd$dataBackupDir/daily

rm-f*

#Deleteoldbackupfiles(mtime>

2).

$scriptsDir/rmBackup.sh

#如果不需要将备份传送到备份服务器或备份服务器为Windows,请将标绿的行注释掉

#MoveBackupFilesToBackupServer.

#适合Linux(MySQL服务器)到Linux(备份服务器)

$scriptsDir/rsyncBackup.sh

if((!

$?

));

MoveBackupFilesToBackupServerSuccess!

else

MoveBackupFilesToBackupServerFail!

fi

else

DataBaseBackupFail!

$emailFile

fi

#写日志文件

--------------------------------------------------------"

$logFile

cat$eMailFile>

#发送邮件通知

cat$eMailFile|mail-s"

MySQLBackup"

$eMail

mysqlDailyBackup.sh注释:

mysqlDailyBackup.sh

MySQLDataBaseDailyBackup.

#定义数据库目录和数据目录

dataDir=$mysqlDir/data

#定义备份目录,每日备份文件备份到$dataBackupDir/daily

dailyBackupDir=$dataBackupDir/daily

#定义日志文件

#得到数据库所在主机的主机名

HOSTNAME=`uname-n`

#刷新日志,使数据库使用新的二进制日志文件

$mysqlDir/bin/mysqladmin-u$user-p$userPWDflush-logs

cd$dataDir

#得到二进制日志列表

fileList=`cat$HOSTNAME-bin.index`

iCounter=0

forfilein$fileList

do

iCounter=`expr$iCounter+1`

done

nextNum=0

iFile=0

binLogName=`basename$file`

nextNum=`expr$nextNum+1`

#跳过最后一个二进制日志(数据库当前使用的二进制日志文件)

if[[$nextNum==$iCounter]];

Skiplastest!

/dev/null

dest=$dailyBackupDir/$binLogName

#跳过已经备份的二进制日志文件

if[[-e$dest]];

Skipexist$binLogName!

#备份日志文件到备份目录

cp$binLogName$dailyBackupDir

if[[$?

iFile=`expr$iFile+1`

$binLogNameBackupSuccess!

if[[$iFile==0]];

then

NoBinlogBackup!

Backup$iFileFile(s)."

BackupMySQLBinlogOK!

rsyncBackup.sh注释:

rsyncBackup.sh

MoveBackupFilesToBackupServer.

#请根据具体情况修改,注意最后有“/”

#定义数据库备份目录

dataBackupDir=/tmp/mysqlbackup/

#定义备份服务器上存放备份数据的目录

backupServerDir=/root/mysqlbackup/

#定义备份服务器

backupServer=192.168.0.200

#同步备份文件到备份服务器

rsync-a--delete$dataBackupDir-essh$backupServer:

$backupServerDir>

/dev/null2>

rmBackup.sh注释:

rmBackup.sh

DeleteoldBackup.

2007-11-15

#删除mtime>

2的日志备份文件

find$dataBackupDir-name"

mysql_*.gz"

-typef-mtime+2-execrm{}\;

(5)、恢复数据库到备份时的状态

用mysqldump备份出来的文件是一个可以直接倒入的SQL脚本,直接用mysql客户端导入就可以了。

/usr/local/mysql/bin/mysql-uroot-pUserPWDdb_name<

db_name.sql

对于任何可适用的更新日志,将它们作为mysql的输入:

%ls-t-r-1HOSTNAME-bin*|xargsmysqlbinlog|mysql-uUser-pUserPWD

ls命令生成更新日志文件的一个单列列表,根据服务器产生它们的次序排序(注意:

如果你修改任何一个文件,你将改变排序次序,这将导致更新日志以错误的次序被运用。

本套备份策略只能恢复数据库到最后一次备份时的状态,要想在崩溃时丢失的数据尽量少应该更频繁的进行备份,要想恢复数据到崩溃时的状态请使用主从复制机制(replication)。

如果使用本套备份脚本,将日志文件和数据文件放到不同的磁盘上是一个不错的主义,这样不仅可以提高数据写入速度,还能使数据更安全。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1