请问下哪位仁兄有比较好的备份方案,用什么工具或者用什么方式,小弟借鉴下

解决方案 »

  1.   

    直接用MYSQLDUMP备份
    OR
    用SQLYOG之类的图形化管理工具备份
      

  2.   

    直接用mysql自带的 mysqldump 就可以了。http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#disaster-prevention
    5.9. 备份与恢复
    5.9.1. 数据库备份
    5.9.2. 示例用备份与恢复策略
    5.9.3. 自动恢复
    5.9.4. 表维护和崩溃恢复
    5.9.5. myisamchk:MyISAM表维护实用工具
    5.9.6. 建立表维护计划
    5.9.7. 获取关于表的信息
      

  3.   

    因为某些原因,不准备采用直接用mysql自带的 mysqldump,所以得另想办法
      

  4.   

    那就只有用SELECT INTO OUTFILE
      

  5.   

    参考:http://blog.csdn.net/chuan122345/archive/2009/12/07/4956006.aspx可以用SELECT * INTO OUTFILE 'file_name' FROM tbl_name 这个SQL 语句,这个文件将在MYSQL 服务器的主机上被创建,而不是在客户端主机上。通过这个语句生成文件时,输出文件不能已经存在,因为覆盖文件有数据安全方面的风险。这个方法可以备份任何类型的数据文件,但只能保存表数据,不能保存表结构
      

  6.   

    冷备还是热备,
    冷备,可以直接备份data目录或文件
      

  7.   

    to WWWWA chuan122345:select sql into outfile 'filename' 这个办法我现在已经用在我数据库开发的脚本跟踪里面了,把可能会出问题的脚本导到本地,然后再逐个地进行调试,是个很好的办法,但是否可以用于数据的备份上,而且涉及数据的保密性(用户是这么要求的),难度蛮大的,我也不好说
    to shine333:我是用热备,还有,冷备的的话,直接拷数据文件,这个方法是可行的,不过只能用于mysiam格式的表上,我们现在使用的是innodb表,虽然数据文件可以分文件独立存在,但不知道是否跟系统还有什么藕断丝连,你有什么不同的发现么?大家一起讨论下。谢谢目前我使用的方案是:使用一种嵌入式的文件数据库,在业务系统空闲时,用select把数据导进去,然后进进行打包处理,性能和资源占用方面我不是很满意,大家还有什么好的建议,小弟先谢谢了
      

  8.   

    冷备的话,innodb主要是data\schema目录和ibdata1, ibdata2....文件,如果没有分表储存的话,基本上就是整个data目录都保存,外加mysql的配置文件。热备的话,还有一种方案不知是否可行?就是利用replication,生产环境当然是master,以slave做备份。几乎可以视作实时备份关于“而且涉及数据的保密性(用户是这么要求的”这个没必要过分纠结。个人认为,重点在于OS和MySQL的账号安全性
      

  9.   

    4. InnoDB 表备份/恢复策略
    4.1. 使用商业的在线热备份工具 
    InnoDB Hotbackup 是一个在线备份工具,你可以用它来在InnoDB数据库运行之时备份你的InnoDB数据库。InnoDB 热备份工具 不要求你关闭数据库,并且它不设置任何锁定或干扰你正常的数据库处理。InnoDB 热备份工具 是非免费(商业的)附加软件,它每年的证书费用是每台MySQL服务器运行的计算机390欧元。具体使用方法可以参考相关文档,我也没有使用过这个工具。4.2. 使用mysqldump 热备份
    Mysqldump提供对InnoDB非物理的在线逻辑热备份。使用方法与备份MyISAM时一样。4.3. 使用select into 热备份单个/多个表
    可以使用select into备份一个或多个表,用法与MyISAM表相同。4.4. 二进制冷备份 
    如果你可以关闭你的MySQL服务器,你可以生成一个包含InnoDB用来管理它的表的所有文件的二进制备份。使用如下步骤:1.    关闭MySQL服务器,确信它是无错误关闭。2.  复制你所有数据文件(ibdata文件和.ibd文件)到一个安全的地方。3.   复制你所有ib_logfile文件到一个安全的地方。4.    复制my.cnf配置文件或文件到一个安全的地方。5.    为你InnoDB表复制.frm文件到一个安全的地方。4.5. InnoDB 表恢复
    1、 先尝试使用InnoDB的日志自动恢复功能,方法是重启mysql服务。2、 在一些情况下,明显地数据库损坏是因为操作系统损坏它自己的文件缓存,磁盘上的数据可能完好,最好是首先重启计算机。它可以消除那些显得是数据库页损坏的错误。如果不行,则采用下面的方法进行恢复。3、 如果是mysqldump做的完全备份,先恢复完全备份,然后再恢复完全备份后的增量日志备份。4、 如果是采用select into备份表的话,则采用load data或mysqlimport恢复。5、 如果是采用二进制冷备份做的完全备份,则先停止mysql服务,覆盖备份的二进制文件,然后执行上次完全备份后的增量日志备份。6、 注意:InnoDB二进制文件没有MyISAM那么好,必须在相同的浮点数的cpu机器上移植。
    本文来自CSDN博客,转载请标明出处:
    http://blog.csdn.net/forever_feng/archive/2009/10/16/4680126.aspx