MySQL备份恢复数据的一般步骤

转载 2012年03月24日 14:19:17

下面是备份一个数据库的例子:

1、备份前读锁定涉及的表

mysql>LOCK TABLES tbl1 READ,tbl1 READ,
如果,你在mysqldump实用程序中使用--lock-tables选项则不必使用如上SQL语句。

2、导出数据库中表的结构和数据

shell>mysqldump --opt db_name>db_name.sql

3、启用新的更新日志

shell>mysqladmin flush-logs

这样可以记录你备份后的数据改变为恢复数据准备。

4、解除表的读锁

mysql>UNLOCK TABLES;

为了加速上述过程,你可以这样做:

shell> mysqldump --lock-tables --opt db_name>db_name.sql; mysqladmin flush-logs

但是这样可能会有点小问题。上命令在启用新的更新日志前就恢复表的读锁,
在更新繁忙的站点,可能有备份后的更新数据没有记录在新的日志中。
现在恢复上面备份的数据库

1、对涉及的表使用写锁

mysql>LOCK TABLES tbl1 WRITE,tbl1 WRITE,

2、恢复备份的数据

shell>mysql db_name < db_name.sql

3、恢复更新日志的内容

shell>mysql --one-database db_name < hostname.nnn

假设需要使用的日志名字为hostname.nnn

4、启用新的更新日志

shell>mysqladmin flush-logs

5、解除表的写锁

mysql>UNLOCK TABLES;

希望上面的例子能给你启发,因为备份数据的手法多种多样,你所使用的和上面所述可能大不一样,但是对于备份和恢复中,表的锁定、启用新的更新日志的时机应该是类似的,仔细考虑这个问题。

思考题

请在完成这些思考题之前,启用常规日志和更新日志,因为下面的思考题将涉及到这个问题。

1、使用带有带有--all-databases选项的mysqldump实用程序,备份你现有的所有数据到一个文件all.sql中(如果你的数据不太多的话),查看输出的SQL语句。

2、使用带有--ab选项的mysqldump,把你的test数据库中的表结构和数据分别备份到一个目录中。检查一下生成的SQL语句与上题中备份文件中的有什么不同。

3、建立一个新的数据库test1,把上题的备份文件恢复到该数据库中。请简述一下过程。

4、查看你的更新日志和常规日志,看看上述操作是否都留下了记录以及留下了什么记录。

5、先在test数据库中的任意一个表中INSERT一个记录,然后在删除这个记录。(目的是在更新日志中留下记录。)删除数据库test1,试试如何从更新日志恢复test1数据库。

mysql数据的备份还原三种方法

MySQL的备份和恢复: 为什么要对数据做备份?        数据备份主要是用于灾难恢复和测试要求,灾难恢复指硬件故障,软件故障,自然灾害,黑客攻击以及误操作; 备份分为以下几类:...
  • dingjixian
  • dingjixian
  • 2014年09月16日 03:34
  • 2527

MySQL数据库备份还原(基于binlog的增量备份)

1 简介 1.1 增量备份简介 增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件。这就意味着,第一次增量备份的对象是进行全备后...
  • JesseYoung
  • JesseYoung
  • 2014年07月05日 22:34
  • 7140

mysql怎样利用对所有数据库进行备份的备份文件只恢复某一个数据库

一:实验介绍 我们一般会在备份的时候指定--all-databases来备份所有数据库,利用该备份文件还原的时候默认会还原所有数据库(即使你指定了某一个数据库,如mysql -u root -p 数据...
  • YABIGNSHI
  • YABIGNSHI
  • 2015年03月31日 16:03
  • 3131

php源码,MySQL数据备份恢复

  • 2016年12月31日 01:38
  • 7KB
  • 下载

MySQL DBA备份恢复与数据导入导出 全揭秘

  • 2017年08月05日 13:23
  • 566KB
  • 下载

mysql数据的备份恢复和导入导出

如果只是原样复制表,可以用如下的语句 create table bigtable2 select * from bigtable;  如果表已经建好并且略有出入,可以这样用。如果表bigtable2里...
  • liweisnake
  • liweisnake
  • 2013年12月18日 08:48
  • 1065

Mysql数据回滚和备份恢复方法

MYSQL的事务处理主要有两种方法。 1、用begin,rollback,commit来实现 begin 开始一个事务 rollback 事务回滚 commit 事务确认 2、直接用set来...
  • SprintfWater
  • SprintfWater
  • 2013年07月17日 21:44
  • 3231

MySQL数据的备份恢复和还原

1.  数据的备份,恢复和还原准备: (1)      将要导入的.sql文件移至bin文件下,这样的路径比较方便 (2)    同上面导出的第1步 (3)      进入MySQL:mysql -...
  • fanyunda1988
  • fanyunda1988
  • 2016年03月15日 16:52
  • 164

备份恢复IBM DB2数据库的基本步骤-----文件转自DB2china

备份恢复IBM DB2数据库的基本步骤 文档转自DBchina--http://www.db2china.net/club/viewthread.php?tid=10531 一、设置归档参数: ...
  • shlei5580
  • shlei5580
  • 2012年08月06日 14:57
  • 242

MySQL 最有力的备份恢复工具 XtraBackup使用操作手册

  • 2016年07月05日 14:43
  • 599KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL备份恢复数据的一般步骤
举报原因:
原因补充:

(最多只允许输入30个字)