mysqldump备份详解
数据备份是一个网站能够正常运营的保障,数据备份包括网站源码备份和数据库备份,如果你使用的是ACCESS数据库,那么直接使用FTP下载数据库文件就可以了,但如果你使用了PHP+MYSQL进行网站建设,数据库备份就没有那么容易了。
常见的mysql备份方法有很多种比如说:mysqldump mysqbackup cp 等等,本文主要介绍mysqldump的手动备份和脚本备份。
一、mysql手动备份
mysql -u root -p 进入mysql
show database;查看需要备份的库
find / -name mysql 查看mysql的路径
rpm -ql mysql 查看mysql的安装包安装到了哪个路径
mysqldump -u root -p密码 库 >/路径/名字.sql 将库指定备份到路径下
二、mysql自动备份
#!/bin/bash
date=`date +"%Y%m%d%H%M%S"`#时间
dbname=/usr/local/src/mysql-XXdb/XXdb_$date#备份的库的路径和文件名称时间
cd /usr/local/src/mysql-XXdb#进入到备份库的路径下
mysqldump -uroot -pXXXXX XXdb >$dbname.sql#备份
If
[ "$?" == 0 ];then#这里 $? 的意思是得到上一条命令执行后的返回值,0代表成功,其他代表错误,并且将记录输出到日志里。
echo $date" mysqldump sucess " >>mysql-logfile
else
echo $date" mysqldump failed " >>mysql-logfile
fi
tar -czPf $dbname.tar.gz $dbname.sql#压缩dbname 里面的sql文件,这里如果只用-czf会报错,所以加参数-p 设置绝对路径 一般不建议使用
if
[ "$?" == 0 ];then
echo $date" tar sucess " >>mysql-logfile
else
echo $date" tar dailed " >>mysql-logfile
fi
rm -rf $dbname.sql#删除dbname 里面的sql文件
find /usr/local/src/mysql-XXdb -mtime +30 -name "*.tar.gz" -exec rm -rf {} ;
#查找路径下面30天前后缀带tar.gz的所有文件并且删除
然后添加计划任务
Crontab -e
00 00 * * * /路径 #这里我设置每日凌晨启动一次脚本
Service crond reload #加载服务
当然数据只是暂时备份在本地下面,如果服务器出现灾难问题,那么数据还是会丢失。所以我们可以用异地备份将数据备份到另外的服务器上,用SCP或者rsync写crontab都是可以的,至此mysql手动备份以及脚本自动化备份完成。
了解新钛云服
从盛大游戏G云COO到独自创业!2018中国财经峰会专访新钛云服CEO冯祯旺
新钛云服,打造最专业的Cloud MSP+,做企业业务和云之间的桥梁
没错,我们就是这样豪!GOPS送小爱、整箱签名书、数百定制笔记本和手机支架
新钛云服出品的精品技术干货
使用FieleRader API创建VUE.JS文件读取器组件
99%运维不知道,系统文件md5变了,竟然是因为......
OpenStack Rocky:专注于裸机云管理,快速升级以及硬件加速
Ceph BlueStore 与 FileStore:利用 Micron NVMe SSD 进行性能比较
OpenStack与ZStack深度对比:架构、部署、计算存储与网络、运维监控等
由腾讯蓝鲸和新钛云服联合举办的
运维开发-腾讯蓝鲸社区沙龙
火热报名中
寻找运维新大陆
是分享,是交流
更是成长!
(长按识别二维码报名,或者点击阅读原文报名)