概述:一个成功的网站,数据备份是不可少的,那么如何备份已经运行的数据库呢,下面是用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登录窗口
2、点击执行进入phpmyadmin控制界面如下:
phpmyadmin控制界面图,双击图片可放大
3)点击左边的数据库列表中的ecshop,打开如下页面
phpmyadmin-ecshop数据库截图
4)单击上图最上面的【导出】选项,打开导出页面,如下图
phpmyadmin导出截面
5、用鼠标拉动右边的下拉条,看到如下截图:
phpmyadmin备份功能截图
在文件名模板输入你预备份的文件名,我这里填写ecshop081214(养成按日期备份文件的习惯),压缩选择gzip压缩,然后点击右边的执行按钮,稍等几秒钟,(时间根据数据库的大小不同而不同),然后就会弹出如下对话框
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分自动备份数据库,且生成的数据库压缩按日期命名
没有评论:
发表评论