iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL怎么备份和恢复文件
  • 752
分享到

MySQL怎么备份和恢复文件

2024-04-02 19:04:59 752人浏览 安东尼
摘要

本篇内容介绍了“Mysql怎么备份和恢复文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MySQL备份与

本篇内容介绍了“Mysql怎么备份和恢复文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

MySQL备份与恢复

数据库分逻辑备份\物理备份;物理备份又分冷备和热备

A.直接拷贝数据文件到安全地方进行保存

B.使用mysqlHOSTCOPY备分数据

C.使用MYsqlDUMP备份数据

D.使用MYSQL的同步复制,实现数据实时数据同步备份

1) 逻辑备份

常用的逻辑备份主要就是两种:

l  一种是将数据生成为可以完全重现当前数据库中的数据的insert语句

l  一种是将数据通过逻辑备份软件,将数据库表的数据以特定分隔符进行分割后记录在文本中。

对于第一种生成insert语句来说我们可以直接使用mysql自带的工具mysqldump来完成。这种方式不好之处在于可能导致数据的不一致,或是不完整。

解决办法:一个是通过在数据库系统中加入写入,只提供数据库的查询服务;第二种是对于支持事务的存储引擎来说,INNODB BDB可以通过将整个备份过程控制在一个事务中,来达到备份数据的一致性和完整性;并且可以不用影响到数据库的正常运行。

如何保证数据备份的一致性?

要想保证数据的一致性可以通过以下两种方法做到:

第一、同一时刻取出所有数据

对于事务支持的存储引擎,如Innodb或者BDB 等,可以通过控制将整个备份过程在同一个事务中,使用“--single-transaction”选项。

例如:

# mysqldump --single-transaction test > test_backup.sql

第二、数据库中的数据处于静止状态

通过锁表参数

--lock-tables 每次锁定一个数据库的表,此参数是默认为true(见上面备份内容实例);

--lock-all-tables 一次锁定所有的表,适用于dump的表分别处于各个不同的数据库中的情况

恢复方式则是通过mysql<backup.sql直接运行的。

例如:mysql -uroot -p mydb1 <bkmydb1.dt

第二种直接生成数据格式。占用的空间小,数据格式清晰。可是没有数据库结构的脚本。不容易控制

实现方式:通过select******* to outfile from***命令来实现。

例如:mysql> select * into outfile '/tmp/tb1.txt'

    -> fields terminated by ','

    -> optionally enclosed by '"'

    -> lines terminated by '\n' --默认

    -> from tb1 limit 50;

恢复方式就是通过,load data infile和mysqlimport命令来做。

这一过程相当的复杂需要实时的进行恢复测试,保证备份数据是可用的。

2) 物理备份

数据库的物理备份,主要的对象是数据库的物理数据文件,日志文件以及配置文件等。物理数据文件有哪些呢?

一是日志文件6大类:错误日志error Log、二进制日志binary Log、更新日志 update log(5.0后被bin log代替)、查询日志 query log、慢查询日志 slow query log、innodb的redo日志。

二是数据文件:对于myisam来说的话,.frm表结构信息、.myd数据信息、.myi数据的索引信息。对于Innodb来说的话.ibd文件(独享表空间)和.ibdata(共享表空间)文件。

三是replication文件:master.info存储在slave端的数据目录下,存放了slave和master的相关信息,relay log和 relay log index主要存储了I/O进程从Master端读取到的binary log信息,然后由slave端的SQL线程从该binary log中读取解析过的日志信息,转化成master所能执行的query语句。index则是存放binarylog的路径也就是目录文件。

四是系统文件:如my.cnf、pid文件是mysqld应用程序中的一个进程文件存放自己的进程id,还有就是Socket文件它只有在linux下才有的,可以不通过tcp/ip网络协议直接连接mysql

l  如果是做冷备的话,直接复制所有的数据文件和日志文件到备份集存放的地方,

l  热备的方法针对不多的数据库有不同的方案

对于MYISAM存储引擎来说,做法就是给数据库表加锁来阻止写操作,可以直接复制物理文件,或者也可以通过mysql专门的mysqlhotcopy(原理就是现锁住表,然后进行操作)程序来完成相应的备份任务。

flush tables with read lock

cp -R test /tmp/backup/test

unlock tables;

innodb数据库引擎来说,有一款商业软件ibbackup,在线物理备份功能。还有一款开源的工具xtrabackup;

如果在备份过程中,把INNODB数据文件备份完成后,会锁住整个库,并开始复制MYISAM等非事务引擎的数据和.frm;所以如果你拥有比较多的MYISAM表,锁库的时候会持续很长。如果是在主库上运行,千万注意。

同样也只能通过xtrabackup进行增量的备份,其实这一工具只是备份innobd的日志信息。

4 xtrabackup/ibbackup

xtrabackup --backup --datadir=/var/lib/mysql/ --target-

dir=/data/backups/mysql/

xtrabackup --backup  --defaults-file=/etc/my.cnf --target-

dir=/data/backups/mysql/

物理备份就是备份数据文件了,比较形象点就是cp下数据文件,但真正备份的时候自然不是的cp这么简单。

(1)使用 xtrabackup 工具

是一个用来备份 MySQL数据库的开源工具。

主要特点:

<1>. 在线热备份。可以备份innodb和myisam。innodb主要应用recovery原理。myisam直接拷贝文件。

<2>. 支持流备份。可以备份到disk,tape和remote host。–stream=tar ./ | ssh user@remotehost cat “>” /backup/dir/

<3>. 支持增量备份。可以利用lsn和基础备份目录来进行增量备份。

<4>. 支持记录slave上的master log和master position信息。

<5>. 支持多个进程同时热备份,xtrabackup的稳定性还是挺好的。

(2)LVM

特点:热备、支持所有基于本地磁盘的存储引擎、快速备份、低开销、容易保持完整性、快速恢复等。

(3)cp + tar

使用直接拷贝数据库文件的方式进行打包备份,需要注意的是执行步骤:锁表、备份、解表。

恢复也很简单,直接拷贝到之前的数据库文件的存放目录即可。

注意:对于Innodb引擎的表来说,还需要备份日志文件,即ib_logfile*文件。因为当Innodb表损坏时,就可以依靠这些日志文件来恢复。

(4)mysqlhotcopy

mysqlhotcopy是一个perl程序,是lock tables、flush tables 和cp或scp来快速备份数据库。

它是备份数据库或单个表的最快的途径,但它只能运行在数据库文件(包括数据表文件、数据文件、索引文件)所在的机器上。

mysqlhotcopy只能用于备份MyISAM

(5)使用mysql主从复制

mysql的复制是指将主数据库的DDL和DML操作通过二进制文件(bin-log)传送到从服务器上,然后在从服务器上对这些日志做重新执行的操作,从而使得从服务器和主服务器保持数据的同步。

3) mysql的备份方式

1.mysqldump

效率比较低,备份和还原的速度都很慢,任何数据插入和更新操作都会被挂起

2.mysqlhotcopy

mysqlhotcopy 是专门针对myisam 数据表进行备份,备份的过程中,任何数据插入和更新操作都会被挂起

3.准备一台从服务器,专门做备份(master-slave方式)

4.xtrabackup 是 percona 的一个开源项目,可热备份innodb ,XtraDB,MyISAM(会锁表)

Xtrabackup有两个主要的工具:xtrabackup、innobackupex

xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表

innobackupex-1.5.1则封装了xtrabackup,是一个脚本封装,所以能同时备份处理innodb和myisam,但在处理myisam时需要加一个读锁

?xtra备份原理

记住开始时候的LSN号,然后开始拷备文件,同时运行一个后台进程监视重做日志,并将变化拷备下来到xtrabackup_logfile。

innobackupex可以备份myisam表和frm文件。当xtrabackup结束后,执行flush tables with read lock,避免数据更改,然后刷新所有myisam表到磁盘。拷备结束后,释放锁。

4) mysqlbinlog

mysqlbinlog也是一个恢复工具,是基于时间点来处理二进制文件的

?备份:直接拷备

?还原:

ü时间点还原:mysqlbinlog --stop-date="2005-04-20 9:59:59"

/var/log/mysql/bin.123456 | mysql -u root –pmypwd

mysqlbinlog --start-date="2005-04-20 10:01:00"

/var/log/mysql/bin.123456| mysql -u root –pmypwd

?日志点还原:

mysqlbinlog --stop-position="368312" /var/log/mysql/bin.123456 \

| mysql -u root -pmypwd

mysqlbinlog --start-position="368315" /var/log/mysql/bin.123456 \

| mysql -u root -pmypwd \

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。

LSN定义:

5) 日志序号

日志序号 (LSN) 标识特定日志文件记录在日志文件中的位置。

LSN 由 DB2? 产品中的许多组件用来维护数据库一致性和完整性。除其他作用外,LSN 还对于分区数据库环境中的落实和回滚操作、崩溃和前滚恢复以及数据库操作同步起非常重要的作用。

日志文件中 LSN 的增长率与数据库活动直接相关联。也就是说,随着事务发生并且条目被写入日志文件,LSN 会不断增大。数据库中的活动越多,LSN 增长得越快。

日志序号的上限

在 DB2 V9.5 和较早版本中,日志序号 (LSN) 是 6 字节数字。从 FP3 开始,LSN 的范围在 0x0000 0000 0000(首次创建数据库时)到 0xFFFF 0000 0000(约 256 太字节)之间。在 FP3 之前,上限为 0xFFFF FFFF FFFF。随着记录被添加到日志文件中,LSN 在数据库生命期不断增长。

“MySQL怎么备份和恢复文件”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL怎么备份和恢复文件

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

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

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

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

下载Word文档
猜你喜欢
  • MySQL怎么备份和恢复文件
    本篇内容介绍了“MySQL怎么备份和恢复文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MySQL备份与...
    99+
    2024-04-02
  • Rocky Linux中怎么备份和恢复文件
    在Rocky Linux中,可以使用tar命令来备份和恢复文件。以下是备份和恢复文件的简单步骤: 备份文件: 打开终端并登录到Ro...
    99+
    2024-04-02
  • mysql怎么恢复备份
    mysql 备份恢复步骤:确认备份文件的完整性。停止 mysql 服务。使用 mysql 命令行工具导入备份文件。如果需要,使用 mysql 命令行工具恢复用户和权限。 MySQL 备...
    99+
    2024-04-14
    mysql
  • MySQL 备份和恢复 一
    本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM 和 Innodb,文中设计的 MySQL 版本为 5.0.22。目前 MySQL 支持的免费备份工具有:my...
    99+
    2024-04-02
  • 怎么备份和恢复MySQL数据库
    这篇文章主要介绍“怎么备份和恢复MySQL数据库”,在日常操作中,相信很多人在怎么备份和恢复MySQL数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么备份和恢复MyS...
    99+
    2024-04-02
  • Ubuntu中怎么备份和恢复文件或目录
    在Ubuntu中,你可以使用各种方法来备份和恢复文件或目录。以下是一些常用的方法: 使用cp命令备份和恢复文件或目录: 备份文...
    99+
    2024-03-05
    Ubuntu
  • mysql怎么增量备份和恢复数据
    这篇文章主要介绍“mysql怎么增量备份和恢复数据”,在日常操作中,相信很多人在mysql怎么增量备份和恢复数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql怎么增...
    99+
    2024-04-02
  • MySQL中怎么备份和恢复数据表
    今天就跟大家聊聊有关MySQL中怎么备份和恢复数据表,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。你可以使用SELECT INTO OUTF...
    99+
    2024-04-02
  • MySQL中怎么备份和恢复数据库
    MySQL中可以通过mysqldump命令来备份数据库,通过source命令来恢复数据库。 备份数据库: 打开命令行工具,输入以下...
    99+
    2024-04-09
    MySQL 数据库
  • Win中怎么备份恢复mysql
    这篇文章给大家介绍Win中怎么备份恢复mysql,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。假设mysql安装在c:盘,mysql的用户名是root,密码是123456,数据库名是d...
    99+
    2024-04-02
  • MySQL Xtrabackup备份和恢复方法
    本篇内容主要讲解“MySQL Xtrabackup备份和恢复方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL Xtrabackup备份和恢复方法”吧...
    99+
    2024-04-02
  • mysql备份和恢复的命令
    这篇文章主要讲解了“mysql备份和恢复的命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql备份和恢复的命令”吧! 在windows服务...
    99+
    2024-04-02
  • Mysql的数据备份和恢复
    这篇文章主要介绍“Mysql的数据备份和恢复”,在日常操作中,相信很多人在Mysql的数据备份和恢复问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql的数据备份和恢复”...
    99+
    2024-04-02
  • mysqldump备份,mysql恢复还原,压缩备份,还原压缩文件
    --将数据库备份到 opt下面 cd /opt mysqldump -h localhost -u root -p  zxlh > zxlh_bak.sql 会提示输入数据库密码 -...
    99+
    2024-04-02
  • mysql怎么恢复备份数据库
    要恢复MySQL备份数据库,可以按照以下步骤进行操作: 将备份文件复制到MySQL数据库服务器上的合适位置。确保备份文件的权限设...
    99+
    2024-04-02
  • 怎么进行XFS文件系统的备份和恢复及修复
    怎么进行XFS文件系统的备份和恢复及修复,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。导读XFS文件系统是硅谷图形公司(Silicon Graphics Inc...
    99+
    2023-06-05
  • mysql怎么备份与恢复数据
    本篇内容介绍了“mysql怎么备份与恢复数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、直接物理文件...
    99+
    2024-04-02
  • mysql没备份怎么恢复数据
    如果 MySQL 没有备份,恢复数据可能会更加困难。以下是一些可能的方法,但并不保证恢复成功: 使用 MySQL 日志文件:如果...
    99+
    2024-04-09
    mysql
  • MySQL 数据备份和数据恢复
    目录 一、数据备份 1、概述 2、MySQLdump命令备份 1)备份单个数据库中的所有表 2) 备份数据中某个或多个表 3) 备份所有数据库 4)备份多个库 5) 只备份一个表或多个表结构 二、数据恢复 三、数据备份与恢复应用 一、数...
    99+
    2023-09-01
    mysql 数据库
  • 【MySql】Mysql之备份与恢复
    目录 一、mysql日志概述 1、日志类型与作用 2、日志配置文件  3、日志配置文件的查询  二、备份的类型❤ 1、物理备份 1.1 冷备份 1.2 热备份 1.3 温备份 2、逻辑备份❤ 2.1 完全备份 2.2 差异备份 2.3 增量...
    99+
    2024-01-21
    mysql 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作