iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL数据库中有哪些备份方案
  • 721
分享到

MySQL数据库中有哪些备份方案

2024-04-02 19:04:59 721人浏览 薄情痞子
摘要

Mysql数据库中有哪些备份方案,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、冷备份:一般主要用于非核心业务,这类业务一般都是允许业务中断

Mysql数据库中有哪些备份方案,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1、冷备份:

一般主要用于非核心业务,这类业务一般都是允许业务中断的,冷备份的特点就是数度快,恢复时也最为简单。通常直接复物理文件来实现冷备份。

1.1备份过程:

***关闭mysql服务

第二步就是把datas数据目录(包含ibdata1)和日志目录(包含ib_logfile0,ib_logfile1,ib_logfile2)复制到磁盘,或者本地的另一块磁盘里

1.2恢复过程:

***使用复制的数据目录和日志目录替换原有的目录

第二就是启动mysql

2、逻辑备份MySQLdump

生产场景备份的命令:

生产场景不同引擎mysqldump备份命令

myisam引擎企业生产备份命令(适合所有引擎或混合引擎):

mysqldump -uroot -p123456 -A -B -F -R --master-data=2 -x --events|gzip >/opt/all.sql.gz

提示:-F也可以不用,与--master-data有些重复。

innodb引擎企业生产备份命令:推荐使用的

mysqldump -uroot -p123456 -A -B -F -R --master-data=2  --default-character-set=utf8  --events --single-transaction |gzip >/opt/all.sql.gz

提示:-F也可以不用。与--master-data有些重复。

--default-character-set=utf8 指定备份出的sql数据的字符集为utf8,当然,这个要提前知道线上的mysql库全部采用的字符集都是utf8,否则在恢复到线上的库会出现字符集不一致的问题出现乱码

提示:逻辑备份一般是数据迁移或者数据量很小时采用,逻辑备份采用的是数据导出的方式

2.1mysqldump库表等备份说明:

全备:

Mysqldump –uroot –p  -q –single-transaction –A >>all.sql

导出多个数据库

Mysqldump –uroot –p  -q –single-transaction –B  test01 wjw01 test02 >test01_wjw01_test02.sql

导出一个test库的某张wjw01表:

Mysqldump –uroot –p  -q –single-transaction –b  test  wjw01>>test_wjw01.sql

只导出表结构:

Mysqldump –uroot –q –d  --skip-triggers

只需要导出储存过程时:

Mysqldump –uroot –q -Rtdn  --skip-triggers

只需要导出触发器:

Mysqldump –uroot –p –q –tdn –triggers

只需要导出事件:

Mysqldump –uroot –p –q –Etdn –skip-triggers

只需要导出数据:

Mysqldump –uroot –p –q  --skip-transaction --skip-triggers –t

要想在线上建立一台新的slave,则在master上执行如下命令:

Mysqldump –uroot –p –q –single-transaction –master-data=2 -A >>all.sql

提示:在mysql5.5里增加了一个新的参数:--dump-slave,使用该参数可在slave端dump数据,建立新的slave,其目的是为了防止对主库造成过大的压力。

在slave上执行以下命令:

Mysqldump  -uroot –p  -A –dump-slave=2 –q –single-transaction >/tmp/all.sql

查看alls.sql 里面会记录slave上的那个点。

注意:--dump-slave用于在slave上dump数据,建立新的slave

2.2Mysqldump优缺点以及使用场景

优点:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 恢复简单,可以使用管道将他们输入到mysql

  3. 与存储引擎无关,因为是从MySQL服务器中提取数据而生成的,所以消除了底层数据存储的不同

  4. 有助于避免数据损坏。若磁盘驱动器有故障而要复制原始文件时,此时将得到一个损坏的备份

缺点:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 必须有数据库服务器完成逻辑工作,需要更多地cpu周期

  3.  逻辑备份还原速度慢:需要MySQL加载和解释语句、转化存储格式、重建引擎

使用场景:对于MySQL数据库数据量不是很大的场景,建议使用。因为备份方便,简单灵活,易操作

当数据库特别的时候,比如30G以上时,备份MySQL数据时,也就建议不要采用mysqldump了,因为备份的时间以及恢复数据库的时间太长了,会对库表造成,对线上的业务影响还是比较大的

2.3简单介绍下MySQL全量备份+增量备份binlog

注意:生产上强烈建议MySQL开启Row格式来记录binlog,尽管这样对磁盘的IO以及磁盘的空间的消耗是比较大,但是和数据的安全性、完整性相比,磁盘资源那都是小事

全量备份脚本内容:

#!/bin/bash  #mysql全量备份脚本建议在slave从库上运行,从库slave上建议开启参数log_slave_updates=1  mkdir /backup  cd /backup  dateDIR=$(date +"%Y-%m-%d")  mkdir -p $dateDIR/data  path=/data/mysql/data  for n in `mysql -uroot -p123456 -e "show databases"|grep -v "Database"`  do  mysqldump -uroot -p123456 --default-character-set=utf8 -q --lock-all-tables --flush-logs -E -R --triggers -B $n|gzip >/backup/$dateDIR/data/${n}_$dateDIR.sql.gz  done  binlog_rm=$(tail -n 1 $path/mysql-bin.index|sed 's/.\///')  mysql -uroot -p123456 -e "purge binary logs to '$binlog_rm'"

说明:这个全量备份脚本,会在导出的时候锁住全局表,并且此时刷新产生一个新的bin-log,期间会产生写操作的等待,直到导出结束后才会写入新产生的bin-log文件,然后旧的bin-log 文件会被删除删除掉,一般在晚上2:00业务低峰期执行操作

进行本地bin-log增量备份

在执行完全量备份脚本后,就可以执行增量备份脚本了。

增量备份脚本思路很简单:

先mysqladmin -uroot -p123456 flush-logs 刷新新的binlog文件,此时mysql写入到新的binlog文件中。

然后把当前mysql数据库存放binlog的目录中抛去刚才***生成的binlog文件,其余旧的binlog文件全部cp到本地服务器/backup/binlog  binlog的备份目录下。

***在登录MySQL清除当前的binlog文件数减一

mysql -uroot -p123456 -e "purge binary logs to 'mysql-bin.(n-1)'"

3.热备份与恢复

热备份的方式也是直接复制数据物理文件,和冷备份一样,但是热备份可以不停机直接复制,一般用于7*24小时不间断的重要核心业务。Mysql的社区版本热备份工具InnoDB Hot Backup是付费的,只能试用30天,商业版才可以***的使用,

Percona公司发布一个xtrabackup热备工具,和付费的工具一样,支持在线热备(备份时不影响数据的读写)是商业工具InnoDB Hot Backup的一个很好的替代。

xtrabackup热备工具是一个开源的工具,他可以非常快速的备份和恢复mysql数据库。由于Xtrabackup支持备份innodb表,实际生产环境中我们使用的工具是innobackupex,它是对xtrabackup的一层封装。innobackupex脚本用来备份非 InnoDB 表,同时会调用 xtrabackup命令来备份 InnoDB 表,innobackupex的基本流程如下:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 开启redo日志拷贝线程,从***的检查点开始顺序拷贝redo日志;

  3. 开启idb文件拷贝线程,拷贝innodb表的数据

  4. idb文件拷贝结束,通知调用FTWRL,获取一致性位点

  5. 备份非innodb表(系统表)和frm文件

  6. 由于此时没有新事务提交,等待redo日志拷贝完成

  7. ***的redo日志拷贝完成后,相当于此时的innodb表和非innodb表数据都是***的

  8. 获取binlog位点,此时数据库的状态是一致的。

  9. 释放锁,备份结束。

看完上述内容,你们掌握MySQL数据库中有哪些备份方案的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网数据库频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据库中有哪些备份方案

本文链接: https://www.lsjlt.com/news/58808.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • MySQL数据库中有哪些备份方案
    MySQL数据库中有哪些备份方案,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、冷备份:一般主要用于非核心业务,这类业务一般都是允许业务中断...
    99+
    2024-04-02
  • 备份MySQL数据库的方法有哪些
    这篇文章主要讲解了“备份MySQL数据库的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“备份MySQL数据库的方法有哪些”吧!  备份MySQL数...
    99+
    2024-04-02
  • MySQL数据库常用的备份方法有哪些
    这篇文章主要讲解了“MySQL数据库常用的备份方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库常用的备份方法有哪些”吧!MySQL数...
    99+
    2024-04-02
  • 数据库备份的方式有哪些
    数据库备份的方式有以下几种:1. 完全备份:将整个数据库的所有数据和对象都备份。2. 增量备份:只备份自上次备份以来发生变化的数据。...
    99+
    2023-08-30
    数据库
  • oracle数据库备份方式有哪些
    oracle 数据库备份方式有手动导出备份、自动恢复管理器 (rman) 备份、操作系统备份和物理备份。手动导出备份涉及导出和导入文本文件,而 rman 备份通过自动化备份和恢复过程提供...
    99+
    2024-04-19
    oracle
  • 数据库中数据备份有哪些类型
    这篇文章主要介绍了数据库中数据备份有哪些类型,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。数据备份可分为:热备份、冷备份和温备份。热备份可以...
    99+
    2024-04-02
  • sqlserver数据库备份的方法有哪些
    使用SQL Server Management Studio (SSMS)进行备份:可以通过SSMS的图形用户界面来执行数据库备...
    99+
    2024-04-17
    sqlserver
  • sqlserver备份数据库的方式有哪些
    在SQL Server中,有以下几种备份数据库的方式:1. 完全备份(Full Backup):完全备份是指备份整个数据库的所有数据...
    99+
    2023-08-25
    sqlserver 数据库
  • mysql异地备份数据的方法有哪些
    MySQL异地备份数据的方法有以下几种:1. 定期手动备份:使用mysqldump命令将数据库导出为SQL文件,并手动将备份文件复制...
    99+
    2023-08-28
    mysql
  • 数据库中有哪两种数据库备份
    小编给大家分享一下数据库中有哪两种数据库备份,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!数据库备份的两种方法是:1、使用mys...
    99+
    2024-04-02
  • MySQL数据库中备份数据的方法
    MySQL数据库中备份数据的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!想进行数据库的备份首先要在命令行窗口进入My...
    99+
    2024-04-02
  • MySQL数据库备份种类以及常用备份工具有哪些
    小编给大家分享一下MySQL数据库备份种类以及常用备份工具有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 1、数据库备份种类MySQL按照数据库大小备份,...
    99+
    2024-04-02
  • 备份MySql数据库方法
    这篇文章主要讲解了“备份MySql数据库方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“备份MySql数据库方法”吧!使用MYSQL进行数据库备份,有很正...
    99+
    2024-04-02
  • mysql数据备份3种方案
    本文源出处:http://www.lustlost.com/p=101 mysql按照备份恢复方式分为逻辑备份和物理备份逻辑备份是备份sql语句,在恢复的时候执行备份的sql语句实现数据库数据的重现物理备份就是备份数据文件了,比较形象点就...
    99+
    2023-01-31
    数据备份 方案 mysql
  • oracle数据备份有哪些方法
    oracle 数据备份方法有五种:rman 备份(完整、增量、差异、库备份)导出/导入data pump 导出/导入数据文件备份物理备份 Oracle 数据备份方法 Oracle 数据...
    99+
    2024-04-19
    oracle 数据丢失 文件备份
  • 常用的oracle数据库备份方式有哪些
    常用的Oracle数据库备份方式有以下几种: 数据库冷备份:关闭数据库后,直接备份数据库文件。这种备份方式比较简单,但需要停止数...
    99+
    2023-10-21
    oracle数据库
  • MySQL 数据库备份种类以及常用备份工具都有哪些
    本篇文章给大家分享的是有关MySQL 数据库备份种类以及常用备份工具都有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1 数据库备份种类按...
    99+
    2024-04-02
  • sql数据库备份和恢复数据的方法有哪些
    SQL数据库备份和恢复数据的方法有以下几种:1. 使用数据库管理工具:大多数数据库管理工具提供了备份和恢复数据库的功能,用户可以通过...
    99+
    2023-09-09
    sql数据库
  • mysql——数据库备份——使用mysqldump命令备份所有数据库
    mysqldump命令备份所有数据库; 语法格式:mysqldump -u username -ppassword --all-databases  > backupname.sql --all-databases:这个选项表示后面跟一...
    99+
    2023-10-09
    数据库 mysql java sql mybatis
  • mysql 数据库备份
    目录 数据库备份的方式 一、备份整个 $datadir  二、用mysqldump备份 备份某个库 只备份某个库下某个表 备份某个库,排除库中一些表以外,备份剩余的表 有很多库时候,一次性备份所有的库 一次指定备份某几个库  只备份表结构,...
    99+
    2023-09-09
    数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作