mysqldump备份脚本

如下:脚本实现目的
#!/bin/bash
DIR=/mysql/backup/--》备份的路径
USER=root--》mysql账号
PASSWD=root.com--》mysql密码
HOST=localhost--》本主机
time=`date +"%Y-%m-%d %H:%M:%S"`--》备份时用的时间
[ ! -d $DIR ] && mkdir -pv $DIR || cd "$DIR"--》判断上面的目录是否存在
mysql -u$USER -p$PASSWD -e "show databases" | sed '1d'--》显示出来所有库,并且删除边框。
单个库备份开始如下:
echo "Begin backup all Single Database........"
for Database in `mysql -u$USER -p$PASSWD -e "show databases" | sed '1d'`
do
echo "Databases  backup Need wait...."
mysqldump -u$USER -p$PASSWD -h$HOST $db --lock-all-tables  --flush-logs   > $Database-"$time".sql
done
echo "single database ok............"
库中的单个表备份开始如下:
echo "Database Full table backup............."
mysql -u$USER -p$PASSWD $Database -e "show tables" | sed '1d'
for db in `mysql -u$USER -p$PASSWD -h$HOST -e "show databases"|sed '1d'`
do
mkdir $db
for tables in `mysql -u$USER -p$PASSWD $db -e "show tables"|sed '1d'`
do
mysqldump -h$HOST -u$USER -p$PASSWD $db $table > $db/$tables
done
done
备份整个数据库如下:
echo "Full databases backup............."
mysqldump -u$USER -p$PASSWD -h$HOST --all-databases --lock-all-tables  --flush-logs --events  > all-"$time".sql
if [[ $? == 0 ]];then
echo "mysql backup Success"
else
echo "mysql backup Fail"
fi

 

你可能感兴趣的:(mysqldump备份脚本。)