欢迎投稿

今日深度:

mysql定时备份shell脚本和还原的示例,

mysql定时备份shell脚本和还原的示例,


目录
  • 前言
  • 数据库备份分类
  • mysqldump命令
  • 备份计划
    • 每日备份,保留30天备份文件
  • 定时调度
    • 还原
      • 总结

        前言

        数据库备份是防止数据丢失的一种重要手段。生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果。

        数据库备份的重要性主要体现在:

        • 提高系统的高可用性和灾难可恢复性,在数据库系统崩溃时,没有数据库备份就没法找到数据。
        • 使用数据库备份还原数据库,是数据库崩溃时提供数据恢复最小代价的最优方案,如果让用户重新- 添加数据,代价未免太大。
        • 没有数据就没有一切,数据库备份是一种防范灾难的强力手段。

        数据库备份分类

        • 物理备份:对数据库物理文件的备份
        • 逻辑备份:对数据库对象和对象数据的备份,mysql使用mysqldump将数据库中的对象和数据以sql的形式导出。以下介绍的是使用mysqldump进行数据库的备份。

        mysqldump命令

        命令格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 参数1,参数2… > 备份文件.sql
        主要参数:

        • databases
          指定要备份的数据库
          参数后面所有名字参量都被看作数据库名。
        • tz-utc
          tz-utc 参数是 mysqldump 的默认参数,会使得 mysqldump 的导出文件的顶部加上一个设置时区的语句 SET TIME_ZONE=‘+00:00’ ,这个时区是格林威治时间,也就是0时区。这样当导出 timestamp 时间戳字段时,会把在服务器设置的当前时区下显示的 timestamp 时间值转化为在格林威治时间下显示的时间。比如我们数据库采用北京时间东八区,mysqldump 导出的文件当中显示的 timestamp 时间值相对于通过数据库查询显示的时间倒退了8个小时。
        • skip-tz-utc
          skip-tz-utc 的含义就是当 mysqldump 导出数据时,不使用格林威治时间,而使用当前 mysql 服务器的时区进行导出,这样导出的数据中显示的 timestamp 时间值也和表中查询出来的时间值相同。
        • compact
          压缩模式,产生更少的输出
          去掉注释和头尾等结构。
          -skip-comments可以去掉导出文件中的注释语句

        备份计划

        每日备份,保留30天备份文件

        shell脚本如下:

        定时调度

        使用crontab命令

        crontab -e
        #每日凌晨备份
        0 0 * * * /opt/backup.sh >> /tmp/backup_error.log 2>&1

        还原

        ./mysql -h 127.0.0.1 -u root -p'xxxxx' <backup_2024-01-09.sql

        总结

        数据库备份是生产环境必做的一项工作。备份时参数很重要,否则在还原时会遇到各类问题。还原时也时常出现问题。

        到此这篇关于mysql定时备份shell脚本和还原的示例代码的文章就介绍到这了,更多相关mysql定时备份还原shell内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!

        您可能感兴趣的文章:
        • mysql中使用shell语句实现xtrabackup自动物理备份增量备份
        • shell脚本实现mysql数据库双机定时备份的方法
        • mysql常用备份命令和shell备份脚本分享
        • shell脚本定时备份MySQL数据库数据并保留指定时间
        • shell脚本实现mysql定时备份、删除、恢复功能

        www.htsjk.Com true http://www.htsjk.com/Mysql/47866.html NewsArticle mysql定时备份shell脚本和还原的示例, 目录 前言 数据库备份分类 mysqldump命令 备份计划 每日备份,保留30天备份文件 定时调度 还原 总结 前言 数据库备份是防止数据丢失的一种重要手...
        评论暂时关闭