十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
常规的mysql备份使用命令是 mysqldump命令用法如下,
成都创新互联是一家专业提供龙圩企业网站建设,专注与成都网站建设、成都网站设计、H5开发、小程序制作等业务。10年已为龙圩众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
mysqldump [选项] 数据库名 [表名] 脚本名
或mysqldump [选项] --数据库名 [选项 表名] 脚本名
或mysqldump [选项] --all-databases [选项] 脚本名
例如:
备份所有数据库:
mysqldump -uroot -p --all-databases /backup/mysqldump/all.db
备份指定数据库:
mysqldump -uroot -p test /backup/mysqldump/test.db
备份指定数据库指定表(多个表以空格间隔)
mysqldump -uroot -p mysql db event /backup/mysqldump/2table.db
备份指定数据库排除某些表
mysqldump -uroot -p test --ignore-table=test.t1 --ignore-table=test.t2 /backup/mysqldump/test2.db
还原命令例如:
mysqladmin -uroot -p create db_name
mysql -uroot -p db_name /backup/mysqldump/db_name.db
注:在导入备份数据库前,db_name如果没有,是需要创建的; 而且与db_name.db中数据库名是一样的才可以导入。
为了避免服务挂掉,数据库无法恢复,搞个脚本做数据库备份。核心的东西就是一个命令:mysqldump
首先写一个自动备份的shell脚本:
升级版本1:压缩文件
如果gzip未安装需要安装gzip
升级版本2:防止锁表
升级版本3:备份多个库
升级版本4:删除过期数据
添加系统定时任务:
over!
1、建立自动备份脚本
为了使数据库备份和恢复的符合我们的实际要求(备份保留七天,每天凌晨备份一次),用一段符合要求的Shell脚本来实现整个备份过程的自动化。
[root@mysqltest ~]# vim mysql-backup.sh
#!/bin/bash
##作者:Barlow##
##最后修订:2013-6-25##
#脚本作用:备份Mysql数据库
#
#设定备份保留天数K
K=7
#
TODAY=`date '+%Y%m%d'`
KDAY=`date -d "$TODAY - $K day" '+%Y%m%d'`
BACKDIR=/var/mysqlbak/$TODAY
KDAYDIR=/var/mysqlbak/$KDAY
mkdir -p $BACKDIR
#
# The Password of MySQL
ROOTPASS=******* ##将*替换为实际mysql数据库的root密码
#
# Get the Name of Database
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
#
# Backup with Database
for dbname in $DBLIST
do
mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy
done
#
#删除过期备份
if [ -d "$KDAYDIR" ];then
rm -rf $KDAYDIR
exit
fi
改变脚本权限,root具有完全权限,其他用户没有任何权限:
[root@mysqltest ~]# chmod 700 mysql-backup.sh
运行一次脚本:
[root@mysqltest ~]# ./mysql-backup.sh
查看运行结果:
[root@mysqltest ~]# ll /var/mysqlbak/20130625/
mysql/ wordpress/
[root@mysqltest ~]# ll /var/mysqlbak/20130625/
总用量 8
drwxr-x---. 2 mysql mysql 4096 6月 25 14:26 mysql
drwxr-x---. 2 mysql mysql 4096 6月 25 14:26 wordpress
可以看到备份已经成功完成。
2、创建自动任务每天运行
[root@mysqltest ~]# crontab -e
00 01 * * * /root/mysql-backup.sh
##每天凌晨1点运行一次
修改好 “需要根据实际情况修改” 的几个参数后,把脚本放到crontab中定时执行备份。备份过程中会删除超过最大保留期的备份文件。