百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql异地数据库备份实例代码
分享文章到:

mysql异地数据库备份实例代码

发布时间:01/15 来源: 浏览: 关键词:
mysql现在应用在操作系统中包括有linux系统与windows系统,下面我来给大家在常用的两种系统中实现mysql异地数据库备份,有需要了解的朋友可参考。

windows的任务计划定时执行该文件。

文件内容如下:

 代码如下

cd F:/MySQLBackup

f:

mysqldump  -h ip  -uusername  -ppassword dbname>F:/MySQLBackup/PersonBackupMonday.sql

username:数据库用户

password:数据库密码

dbname:数据库名称

恢复数据:可以把数据拷贝到数据库的服务器中

 代码如下

C:/Documents and Settings/Administrator>mysql -u username –p

密码:password

 代码如下

mysql> use  dbname;

mysql> source  F:/MySQLBackup/PersonBackupMonday.sql

linux的中实现异地数据备份

在ubuntu测试通过。完成任务是本地备份。可用于服务器端。

 代码如下

 
#! /bin/bash

echo "backupmysql V1.0"

###date stamp###
datestamp=$(date +%Y-%m-%d)

###path ###
startdir=/home/user/mysqlbackup

###bakfile prefix###
fileprefix=sql

echo "sqldump is starting.."

###bakup command####
mysqldump -uuser -ppassword -l databasename > $startdir/$fileprefix$datestamp.sql

echo "########################################################################"

echo "sqldump is done"

###tar file ###
cd $startdir

echo "the current directory is :"
pwd

tar zcvf $startdir/$fileprefix$datestamp.tgz $fileprefix$datestamp.sql

###del the sql file###
rm -rf $startdir/$fileprefix$datestamp.sql

echo "#######################################################################"

echo "...... Done"


如果远程将备份取到异地,如下我写的一个客户端用例(测试环境redhat-as-5)。用sftp协议。

 代码如下

 
#! /bin/bash

sftp root@www.domain.com << EOF

cd /home/user/mysqlbackup

lcd /home/mysqlbackup/

-get fileprefix$(date +%Y-%m-%d).tgz

quit

EOF


注fileprefix$(date +%Y-%m-%d).tgz 与服务器端备份的相对应,

路径为、home/user/mysqlbackup

get命令前加一个"-"以防止其执行错误时sftp执行过程被终止.

注:假设数据库服务器名字为database,备份数据的服务器的名字backup,我们需要在backup服务器端运行脚本来取得database服务器端的备份文件。

两台服务器采用sftp传输文件

但是现实shell中sftp登录需要交互式的密码,

为了在远端服务器采用非交互的sftp,我们可以选择用密钥的方法进行验证登录权限。从而代替密码验证方式。

首先需要我们在backup生成密钥,并将其公钥上传到database服务器。

因为shell脚本中使用sftp时必须用到密钥对(公钥和私钥),

可以使用如下命令

$ssh-keygen -d

然后分发公钥

为了使用密钥,必须将公钥分发到欲登录的远程backup服务器上,

1.copy公钥到欲登录的远程服务器的远程用户的家目录下,例如:

cp id_dsa.pub到database:/home/user/.ssh/

若目录/home/user/.ssh/不存在,需要我们手工建立。

公钥文件更名为authorized_keys

修改公钥文件的访问权限

chmod 644 authorized_keys

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有16人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板