码迷,mamicode.com
首页 > 数据库 > 详细

MySQL备份与恢复

时间:2014-08-01 20:19:22      阅读:363      评论:0      收藏:0      [点我收藏+]

标签:数据库备份   数据库表   数据库文件   服务器   tables   

第一步准备工作:

 为了避免数据的不一致问题的发生,在备份数据库文件期间,不允许对该数据库的数据进行更新操作。为了实现这个目的,最为简单的方法就是停止MySQL服务。然后,将备份文件复制到其他存储空间中。

  另一种方法无需停止MySQL服务,而是使用MySQL命令“flush tables with read lock”将服务器内存中的数据刷新到数据库文件中,同时锁定所有的表,以保证备份期间不会有新的数据写入,从而避免数据的不一致问题发生。备份文件复制到其他存储空间后,使用MySQL命令“unlock tables”进行锁文件,MySQL服务实例即可重新提供数据更新服务,执行结果操作。

 备注:MySQL命令“flush tables with read lock”禁止了所有数据库表的更新操作,但无法禁止数据库表的查询操作。

 

第二步:

  MySQL数据库中的数据最终以文件的形式存在。备份的准备工作做好后,需要将数据库的那些文件拷贝到磁盘中?

  如果数据库中全部是myISAM存储引擎的表,最为简单的数据库备份方法是“备份”整个数据库目录(例如,将choose数据库对应的choose目录拷贝到磁盘中即可)。

  如果某个数据库中还存在InnoDB存储引擎的表,此时不仅需要“备份”整个数据库目录,还需要备份ibdata1表空间文件以及重做日志文件ib_logfile0ib_logfile1.

   备份数据库时,建议将MySQL配置文件一并进行备份。

 

 第三步:

  首先停止MySQL服务,然后将整个数据库目录、MySQL配置文件、ibdata1表空间文件以及重做日志文件ib_logfile0ib_logfile1复制到新MySQL服务器对应目录,这样即可恢复数据库中的数据。

   如果“新MySQL服务器”与“旧MySQL服务器”的数据库根目录不同,则还需要修改my.ini配置文件中的【mysqld】选项组中的datadir参考信息。


MySQL备份与恢复,布布扣,bubuko.com

MySQL备份与恢复

标签:数据库备份   数据库表   数据库文件   服务器   tables   

原文地址:http://guyang.blog.51cto.com/9122948/1533688

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!