mysql 自动化数据备份_手把手自动化MySQL数据库备份

在本文中,我们将分享如何为您的数据库创建自动的远程数据库备份。

第1步

通过SSH登录到数据库服务器。您也可以从终端上进行操作。

ssh you-ssh-user@your-server-ip

第2步

在当前用户的主目录中创建一个Shell脚本文件:

touch ~/mysql-backup.sh

使用vim打开Shell脚本:

vim ~/mysql-backup.sh

将以下内容复制并粘贴到 〜/ mysql-backup.sh 中:

#!/bin/bash

export PATH=/bin:/usr/bin:/usr/local/bin

TODAY=`date +"%d%b%Y"`

################## Update below values ########################

DB_BACKUP_PATH='/home/you-ssh-user/backup'

MYSQL_HOST='localhost'

MYSQL_PORT='3306'

MYSQL_USER='root'

MYSQL_PASSWORD='mysecret'

DATABASE_NAME='mydb'

BACKUP_RETAIN_DAYS=30

#################################################################

mkdir -p ${DB_BACKUP_PATH}/${TODAY}

echo "Backup directory creation done"

mysqldump -h ${MYSQL_HOST} \

-P ${MYSQL_PORT} \

-u ${MYSQL_USER} \

-p${MYSQL_PASSWORD} \

${DATABASE_NAME} | gzip > ${DB_BACKUP_PATH}/${TODAY}/${DATABASE_NAME}-${TODAY}.sql.gz

if [ $? -eq 0 ]; then

echo "Database backup done"

else

echo "Error while backup"

exit 1

fi

DBDELDATE=`date +"%d%b%Y" --date="${BACKUP_RETAIN_DAYS} days ago"`

if [ ! -z ${DB_BACKUP_PATH} ]; then

cd ${DB_BACKUP_PATH}

if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then

rm -rf ${DBDELDATE}

fi

fi

第3步

更新脚本中以下变量的值:

DB_BACKUP_PATH:要在其中存储备份文件的位置。如果不确定,只需将您的ssh-user替换为当前的SSH用户名。

MYSQL_HOST:MySQL主机,通常是localhost。

MYSQL_PORT:MySQL端口号,通常为3306。

MYSQL_USER:MySQL用户名。

MYSQL_PASSWORD:MySQL数据库用户名的密码。

DATABASE_NAME:您要备份的MySQL数据库。

BACKUPRETAINDAYS:保留备份文件的天数。

第4步

向备份Shell脚本授予正确的权限:

chmod +x ~/mysql-backup.sh

通过运行以下命令测试备用Shell脚本:

~/mysql-backup.sh

您应该在第3步(DBBACKUPPATH -数据库备份路径)中定义的目录中看到一个包含MySQL备份文件的目录。

ls /home/you-ssh-user/backup

第5步

安排cron作业以每天午夜运行备份:

crontab -e

添加以下条目:

0 0 * * * you-ssh-user /home/you-ssh-user/mysql-backup.sh

做完了 现在,您的MySQL数据库将在每天午夜自动备份。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值