IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    mysqldump 实现定时备份远程数据库

    Teacher Du发表于 2024-11-01 03:51:26
    love 0

    mysqldump 可以把整个数据库装载到一个单独的文本文件中。这个文件包含有所有重建您的数据库所需的 SQL 命令。这个命令取得所有的模式并将其转换成 DDL 语法,取得所有数据,并从这些数据中创建 INSERT 语句。这个工具将您的数据库中所有的设计倒转。因为所有的东西都被包含到了一个文本文件中。这个文本文件可用一个简单的批处理和一个合适 SQL 语句导回到 MySQL。

    需求背景

    杜老师说的评论数据存放于 MySQL 数据库,为保证服务持久性,故需独立部署。单独使用云主机太浪费,云数据库成本又高,所以杜老师选择临时的 MySQL 数据库。

    但是无法保障该数据库的安全性,所以需要使用定期备份,以确保评论不丢失。

    备份命令

    命令格式,其中的大写处为自定义:

    1
    mysqldump -hHOSTNAME -uUSERNAME -pPASSWORD DATABASE > /PATH/FILENAME.sql

    命令解释:

    命令解释
    mysqldump备份命令
    -hHOSTNAME指定数据库的访问地址
    -uUSERNAME指定数据库的访问用户
    -pPASSWORD数据库用户的密码
    DATABASE需备份的数据库名
    >将生成的数据写入文件
    /PATH/FILENAME.sql备份文件路径

    备份脚本

    按照日期生成备份文件,脚本内容参考如下:

    1
    2
    #!/bin/bash
    mysqldump -hHOSTNAME -uUSERNAME -pPASSWORD DATABASE > /PATH/FILENAME_`date +'%Y%m%d'`.sql

    如需定时执行,先执行 crontab -e,然后添加如下内容:

    1
    0 0 * * * /PATH/mysqldump.sh

    写在最后

    如提示 mysqldump 命令没有找到,则运行下面的命令安装:

    1
    2
    apt -y install mysql-client # for Debian or Ubuntu
    yum -y install mariadb-client # for CentOS or Red Hat Enterprise Linux

    如提示文件无权限,则运行下面的命令安装:

    1
    chmod +x /PATH/mysqldump.sh


沪ICP备19023445号-2号
友情链接