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

 更新时间:2024年02月27日 10:27:29   作者:shandongwill  
数据库备份是防止数据丢失的一种重要手段,生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果,所以本文给大家介绍了mysql定时备份shell脚本和还原的实例,需要的朋友可以参考下

前言

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

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

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

数据库备份分类

  • 物理备份:对数据库物理文件的备份
  • 逻辑备份:对数据库对象和对象数据的备份,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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql服务器无法启动的解决方法

    mysql服务器无法启动的解决方法

    本文主要介绍了mysql服务器无法启动的解决方法,mysql服务器无法启动时,一般时配置文件和路径的问题,下面就来介绍一下解决方法,感兴趣的可以了解一下
    2023-09-09
  • RHEL6.2编译安装MySQL 5.6.16过程分享

    RHEL6.2编译安装MySQL 5.6.16过程分享

    这篇文章主要介绍了RHEL6.2编译安装MySQL 5.6.16过程分享,还包括了mysql_secure_installation脚本运行指导,需要的朋友可以参考下
    2014-07-07
  • MySQL中获取时间的所有方法小结

    MySQL中获取时间的所有方法小结

    在MySQL数据库开发中,获取时间是一个常见的需求,MySQL提供了多种方法来获取当前日期、时间和时间戳,并且可以对时间进行格式化、计算和转换,本文介绍了一些常用的MySQL时间函数及其示例,需要的朋友可以参考下
    2024-07-07
  • MySQL数据文件存储位置的查看方法

    MySQL数据文件存储位置的查看方法

    这篇文章主要为大家详细介绍了MySQL数据文件存储位置的查看方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • MySQL高级学习笔记(三):Mysql逻辑架构介绍、mysql存储引擎详解

    MySQL高级学习笔记(三):Mysql逻辑架构介绍、mysql存储引擎详解

    这篇文章主要介绍了Mysql逻辑架构介绍、mysql存储引擎,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • mysql 查询当天、本周,本月,上一个月的数据

    mysql 查询当天、本周,本月,上一个月的数据

    这篇文章主要介绍了mysql 查询当天、本周,本月,上一个月的数据的sql代码,在文中还给大家提到了mysql如何查询当天信息,具体内容详情大家参考下本文
    2018-01-01
  • linux mysql5.5升级至mysql5.7的步骤与踩到的坑

    linux mysql5.5升级至mysql5.7的步骤与踩到的坑

    这篇文章主要介绍了linux mysql5.5升级至mysql5.7的详细步骤,后面脚本之家小编为大家整理了多个补充,大家可以参考一下
    2021-01-01
  • mysql8.0.11 winx64手动安装配置教程

    mysql8.0.11 winx64手动安装配置教程

    这篇文章主要为大家详细介绍了mysql8.0.11 winx64手动安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • MySQL JSON类型的功能与应用

    MySQL JSON类型的功能与应用

    MySQL8的JSON数据类型为存储和查询JSON数据提供了强大的支持,本文主要介绍了MySQL JSON类型的功能与应用,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • 在linux命令下导出导入.sql文件的方法

    在linux命令下导出导入.sql文件的方法

    这篇文章主要介绍了在linux命令下导出导入.sql文件的方法,具有很好的参考价值,给大家做个参考,跟随小编过来看看吧
    2018-05-05

最新评论