我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL 数据库自动备份

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL 数据库自动备份

MySQL 数据库自动备份



  • MySQL 数据库自动备份
    • MySQL 备份命令
      • mysqldump 介绍
      • 数据备份
      • 数据恢复
      • gzip 介绍
    • MySQL 备份脚本
    • Linux 定时任务-crontab

MySQL 备份命令

手抖、写错条件、写错表名、错连生产库造成的误删库表和数据总有听说,那么删库之后除了跑路,还能做什么呢,当然是想办法恢复,恢复数据的基础就在于完善的备份策略。下面就来介绍下MySQL自带备份工具mysqldump


mysqldump 介绍

  • 用法

    Usage: mysqldump [OPTIONS] database [tables]
    OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
    OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
    
  • 常用参数

    • --opt 如果有这个参数表示同时激活了mysqldump命令的quick,add-drop-table,add-locks,extended-insert,lock-tables参数,它可以给出很快的转储操作并产生一个可以很快装入MySQL服务器的转储文件。当备份大表时,这个参数可以防止占用过多内存。(反之使用 --skip-opt
    • --single-transaction 设置事务的隔离级别为可重复读,然后备份的时候开启事务,这样能保证在一个事务中所有相同的查询读取到同样的数据。注意,这个参数只对支持事务的引擎有效,如果有 MyISAM 的数据表,并不能保证数据一致性。(自动关闭选项 --lock-tables)
    • --default-character-set=charset 指定转储数据时采用何种字符集。(默认使用数据库的字符集)
    • --master-data=2 表示在备份过程中记录主库的 binlog 和 pos 点,并在dump文件中注释掉这一行,在使用备份文件做新备库时会用到
    • -x --lock-all-tables 锁表备份。由于 MyISAM 不能提供一致性读,如果要得到一份一致性备份,只能进行全表锁定。
    • -l --lock-tables 锁定所有的表以便读取。(默认为打开;使用--skip-lock-tables来禁用。)
    • --dump-date 在输出的最后加上转储日期。(默认为打开;使用--skip-dump-date来禁用。)
    • -h --host=name 连接主机
    • -P --port=# 端口号
    • -u --user=username 用户名
    • -p --password[=passwd] 密码
    • -A --all-databases 转储全部数据库
    • -Y --all-tablespaces 转储所有的表空间。(反之 -y --no-tablespaces不转储任何表空间信息)
    • -B --databases 转储指定数据库
      • --tables 转储指定表, 覆盖选项 --databases
    • --ignore-table=name 不转储指定的表。要指定一个以上的忽略的表,请多次使用该指令,每个表一次为每个表使用一次。每个表都必须同时指定数据库和表名(如--ignore-table=database.table)
    • -d --no-data 不转储行记录。(只有表结构,没有表数据)
    • --add-drop-database 在每次创建前添加一个DROP DATABASE。
    • --add-drop-table 在每次创建前添加一个DROP TABLE。(默认添加)

数据备份

  • InnoDB 全库备份

    mysqldump --opt --single-transaction --master-data=2 --default-character-set=utf8 -h -u -p -A > backup.sql

  • MyISAM 全库备份

    mysqldump --opt --lock-all-tables --master-data=2 --default-character-set=utf8 -h -u -p -A > backup.sql

  • 备份带上压缩

    mysqldump -h -u -p -A | gzip >> backup.sql.gz

  • 备份指定库(可多个库)

    mysqldump -h -u -p --databases > backup.sql


数据恢复

  • SQL文件恢复

    mysql -h -u -p < backup.sql

  • 压缩文件恢复

    gzip -d backup.sql.gz | mysql -h -u -p

    note: gzip -d为解压, 下面介绍下gzip用法与参数介绍(gzip命令只是压缩,不做打包操作)


gzip 介绍

  • 用法:

    gzip [OPTION]... [FILE]...

  • 常用参数

    • -d --decompress 解压
    • -c --stdout 保留原始文件,把压缩/解压流重定向到新文件(如: gzip -c aa > aa.gz
    • -l --list 列出压缩文件信息,并不解压
    • -r --recursive 对目录进行递归操作
    • -t --test 测试压缩文件的完整性
    • -v --verbose 冗长模式
    • -num num为压缩效率,是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高;
      • -1 --fast 最快压缩方法(低压缩比)
      • -9 --best 最慢压缩方法(高压缩比)
  • 栗子

    • 把 test目录下的每个文件压缩成.gz文件

      gzip test1`表示 第`2`列表示小时 `1~23` (0表示0点) 第`3`列表示日期 `1~31` 第`4`列表示月份 `1~12` 第`5`列表示星期 `0~6` (0表示星期日) 第`6`列是要运行的命令



Reference

  • https://segmentfault.com/a/1190000019955399
  • https://wangchujiang.com/linux-command/c/gzip.html

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL 数据库自动备份

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL 数据库自动备份

MySQL 数据库自动备份MySQL 数据库自动备份MySQL 备份命令mysqldump 介绍数据备份数据恢复gzip 介绍MySQL 备份脚本Linux 定时任务-crontabMySQL 备份命令手抖、写错条件、写错表名、错连生产库造成的误删库表和数据总
MySQL 数据库自动备份
2021-04-06

Centos7.6 Mysql数据库自动备份配置

1、查看磁盘空间情况 执行 df -h 选择剩余空间最大的目录 (以/目录为例) 2、创建备份目录: cd /     mkdir backup cd backup 3、创建备份Shell脚本: vim monarch-bak.sh #monarch是数据库名
Centos7.6 Mysql数据库自动备份配置
2017-05-24

MySQL数据库备份恢复自动化

MySQL数据库备份恢复自动化是指通过编写脚本或使用现有的备份工具,自动执行数据库备份和恢复的过程。这样可以大大提高数据库管理的效率,减少人为错误,并确保在发生数据丢失或损坏时能够快速恢复。以下是实现MySQL数据库备份恢复自动化的几种方法
MySQL数据库备份恢复自动化
2024-10-20

mysql怎么定时自动备份数据库

您可以使用MySQL的事件调度器来定时自动备份数据库。以下是一种常见的方法:1. 登录MySQL命令行客户端或其他MySQL管理工具。2. 创建一个存储过程,用于备份数据库。例如,创建一个名为`backup_database`的存储过程,如
2023-08-18

Python。自动创建 MySQL 数据库的备份。

此脚本自动创建 MySQL 数据库的备份、恢复它们以及管理目标 MySQL 服务器上的数据库和用户创建。导入子流程导入日期时间导入系统导入操作系统def check_and_create_database(主机、端口、用户名、密码、数
Python。自动创建 MySQL 数据库的备份。
2024-07-10

PHP怎么实现MySQL数据库自动备份

这篇“PHP怎么实现MySQL数据库自动备份”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PHP怎么实现MySQL数据库自动
2023-07-06

sqlserver数据库如何自动备份

SQL Server 提供了多种备份数据库的方法,包括手动备份、自动备份和第三方备份工具。要设置自动备份数据库,可以使用 SQL Server Management Studio (SSMS) 或 T-SQL 命令来创建备份作业。以下是通
sqlserver数据库如何自动备份
2024-04-12

oracle数据库如何自动备份

要启用 oracle 中的自动备份,请遵循以下步骤:1. 创建备份计划;2. 启用备份计划;3. 调度备份窗口。自动备份会自动连接数据库,识别更改,创建增量备份,存储备份并清理旧备份,从而减轻管理负担,提高数据保护,提供版本控制,优化性能并
oracle数据库如何自动备份
2024-06-12

MySQL数据库的自动备份与恢复设置

在MySQL数据库中,自动备份与恢复设置可以通过多种方式实现,包括使用命令行工具、图形化管理工具或第三方备份软件。以下是一些常见的方法:一、使用mysqldump命令进行自动备份mysqldump是一个用于备份MySQL数据库的命令行工
MySQL数据库的自动备份与恢复设置
2024-10-21

Linux 下如何实现 MySQL 数据库每天自动备份定时备份

备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。

MySQL 备份数据库

原文:https://www.cnblogs.com/better-farther-world2099/articles/10276087.htmlMySQL 备份数据库原文地址:https://www.cnblogs.com/guxingy/p/134341
MySQL 备份数据库
2021-07-21

编程热搜

目录