首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手把手自动化MySQL数据库备份

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

作者头像
Lemon黄
发布2020-07-02 17:01:40
3710
发布2020-07-02 17:01:40
举报
文章被收录于专栏:Lemon黄Lemon黄

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

第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数据库将在每天午夜自动备份。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Lemon黄 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第1步
  • 第2步
  • 第3步
  • 第4步
  • 第5步
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档