2009年4月11日星期六

如何备份vps主机上的mysql数据库

概述:一个成功的网站,数据备份是不可少的,那么如何备份已经运行的数据库呢,下面是用phpmyadmin和mysql服务器自带的mysqldump进行讲解。

环境:centos特惠型 (同时适合我司所有vps主机)假设要备份的数据库是http://ecshop.15099.net网站的数据,相关信息如下:

数据库:ecshop

用户名:ecshop

密码:ecshop

网站存放目录:/data0/htdocs/ecshop目录下

目的:1、使用phpmyadmin手动备份ecshop数据库,2、使用mysqldump定时自动备份数据库

步骤:

一、使用phpmyadmin备份数据库,关于phpmyadmin安装配置请查看:使用phpmyadmin管理mysql数据库

1、登录:使用上面帐号信息登录:

phpmyadmin登录窗口

phpmyadmin登录窗口

2、点击执行进入phpmyadmin控制界面如下:

phpmyadmin控制界面图,双击图片可放大

phpmyadmin控制界面图,双击图片可放大

3)点击左边的数据库列表中的ecshop,打开如下页面

phpmyadmin-ecshop数据库截图

phpmyadmin-ecshop数据库截图

4)单击上图最上面的【导出】选项,打开导出页面,如下图

phpmyadmin导出截面

phpmyadmin导出截面

5、用鼠标拉动右边的下拉条,看到如下截图:

phpmyadmin备份功能截图

phpmyadmin备份功能截图

在文件名模板输入你预备份的文件名,我这里填写ecshop081214(养成按日期备份文件的习惯),压缩选择gzip压缩,然后点击右边的执行按钮,稍等几秒钟,(时间根据数据库的大小不同而不同),然后就会弹出如下对话框

phpmyadmin备份数据库

phpmyadmin备份数据库

然后按【确定】,就把数据库保存到本地了

6、经过上面几个步骤,就把ecshop这个mysql数据库给备份下来了,不过有一个小小的缺点,就是必须使用手动来操作,下面我们使用mysql自带的备份工具来定时备份数据

二、使用mysqldump定时自动备份数据库
1、使用ssh客户端登录vps主机,如果不会请查看这篇文章:如何使用putty远程登录vps主机

2、编辑备份脚本backup-db.sh

[root@www htdocs]# vi backup-db.sh
#!/bin/sh
/bin/nice -n 19 /usr/bin/mysqldump -u ecshop --password=ecshop ecshop -c | /bin/nice -n 19 /bin/gzip -9 > /data0/htdocs/ecshop/db-backup/ecshop-$(date '+%Y%m%d').sql.gz
rm -rf /data0/htdocs/ecshop/db-backup/ecshop-$(date +%Y%m%d -d "7 days ago").sql.gz
#上面语句删除7天前的备份

上述脚本中-u后接数据库用户名, –password后接数据库密码,紧接着是数据库名。
3)配置定时备份

[root@www ~]# crontab -e
59 23 * * * /data0/htdocs/db-backup/backup-db.sh

每天的23:59分自动备份数据库,且生成的数据库压缩按日期命名

没有评论:

发表评论