科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道教你如何备份和拷贝 MYSQL 数据库(4)

教你如何备份和拷贝 MYSQL 数据库(4)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

重要的是在表丢失和毁坏时备份数据库。如果系统发生崩溃,您就能够将表恢复到崩溃时刻的状态,并尽可能不丢失数据。

作者:小飞龙 来源:赛迪网技术社区 2007年9月11日

关键字: 备份和拷贝 SQL Server SQL Server 各版本 数据库

  • 评论
  • 分享微博
  • 分享邮件

使用直接拷贝数据库备份和拷贝方法不用mysqldump 来备份数据库或表的另一种方法是直接拷贝表文件。通常可利用像cp、tar 或cpio这样的实用程序来进行。本节的例子使用的是c p。

使用直接拷贝备份(direct-copy backup)方法时,必须确保没有使用这些表。如果在拷贝一个表的同时服务器正在修改它,则拷贝无效。

确保拷贝完整性的最好方法是关闭服务器,拷贝文件,然后重新启动服务器。如果不想关闭服务器,则应参考第13章,查阅有关在执行表检查点时锁定服务器的介绍。如果服务器在运行中,则相同的约束都适用于拷贝文件,您应该用同样的锁定协议使服务器保持静止状态。

假定服务器关闭,或者已经锁定了想要拷贝的表,下面的例子将说明怎样将整个samp_db 数据库备份到备份目录中( DATADIR代表服务器的数据目录):

% cd DATADIR
% cp -r samp_db /usr/archive/mysql

单个表可按如下进行拷贝:

% cd DATADIR/samp_db
% cd member.* /usr/archive/mysql/samp_db
% cd score.* /usr/archive/mysql/samp_db
...

当完成备份时,可以重新启动服务器(如果已使它关闭),或者释放在表上施加的锁(如果保持服务器运行)。要想用直接拷贝文件将数据库从一台机器拷贝到另一台机器,只要将这些文件拷贝到另一台服务器主机上的相应数据库上即可。应确保这些文件是对MyISAM表的或者两台机器都有相同的硬件结构。否则这些表在第二个主机上看起来好象有很奇怪的内容。还应该确保第二台主机的服务器不会在您安装这些表时去访问它们。

复制数据库

术语“复制”的含义简单地说有点像“拷贝数据库到另一个服务器”,或者是包含在主数据库的内容发生变化时次数据库的有效更新(live updating)的含义。如果想简单地将数据库拷贝到另一个服务器上,则可以使用在前面已经讨论的那些命令。自MySQL3.23版本以来,就已经开始出现对基于有效更新的复制的支持。但它的功能仍未成熟,因此,在这方面笔者没有什么可讨论的,如果有兴趣,您可以注意一下当前的新版本,看看有些什么新的开发功能。

 

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章