首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >你通常如何备份你的数据库?

你通常如何备份你的数据库?
EN

Server Fault用户
提问于 2009-06-23 07:15:07
回答 8查看 3.9K关注 0票数 8

我正在使用mysql

你多久备份一次数据库?

通常如何备份数据库?

将所有数据导出为sql或cvs格式,并将其保存在文件夹中??

EN

回答 8

Server Fault用户

回答已采纳

发布于 2009-06-23 07:55:38

如果您想要正确地进行MySQL备份,而不需要任何停机时间,则应该将数据库复制到备用服务器。它不需要强大的功能,它只需要处理您的主数据库的写负载。您不应该在生产中使用此服务器。如果复制无法保持,则需要一个功能更强大的服务器。的输出比较日志文件和位置,可以进行检查。

代码语言:javascript
复制
 > SHOW MASTER STATUS\G

在主人和

代码语言:javascript
复制
 > SHOW SLAVE STATUS\G

在奴隶身上。我认为MySQL5会显示出SHOW SLAVE STATUS的滞后。

当你很高兴你的奴隶能跟上你的步伐时,你可以通过

  1. 停止在从服务器上使用SLAVE STOP;进行复制
  2. 在从服务器上执行mysqldump --opt
  3. 使用从服务器上的SLAVE START;再次启动复制

如果这样做,那么您将对数据库进行一致的备份。此方法可防止不同的数据库,甚至更糟的是,同一数据库中的不同表不同步,并通过在备份时锁定写表来防止停机。

这种设置的一个好处是,您有一个数据库副本,您可以使用它来运行昂贵的长查询,不会影响您的实时服务。

几个随机的提示:

  • 不要试图对mysql数据文件执行基于文件的备份。它的麻烦比它的价值和MySQL转储更灵活。
  • 在转储过程中小心mysqldump锁定表。
  • 除非在转储过程中锁定每个表,否则要注意转储中的不一致。
  • 使用mysqldump --opt,因为它通常是导入结果SQL的最快方法
  • 尽可能多地倾诉。我们每天都转储数据,因为我们有数据的40GB+。
  • 偶尔在备用服务器上测试转储,以确保它们正常工作。
票数 11
EN

Server Fault用户

发布于 2009-06-23 07:21:50

通常,如果必须停止数据库,则每天备份一次,然后将备份转移到存储区域进行合并,然后转到磁带。

数据库备份大部分是使用数据库引擎提供的本机工具完成的。

在发生硬件故障时,不得将备份与数据一起保存在服务器上。

我们建议在可能的情况下拥有最新的数据库服务器副本,最好为生产数据库设置故障转移机制。

例如,对于软件,您可以查看巴库拉兹曼达

票数 1
EN

Server Fault用户

发布于 2009-06-23 08:07:35

我们的标准设置是一个HA集群,其中有两个数据库,一个是复制到另一个数据库,是只读的。

我们每天做一次备份,然后根据客户的策略淘汰旧的备份,通常我们每天备份4次(以度过周末;),4个最后的星期日和4个最后的第一个星期日。在那之后,每年有一两次转储将被永久保存在档案馆中。

我们还保留复制日志的时间,无论我们能花多长时间来节省磁盘空间。它们作为调试工具也非常有用,因为它们准确地记录了更改的内容和时间。

理论上,您所需要的只是一个完全备份和所有复制日志,以便能够在某个时间点恢复,但更频繁的完全备份将加快还原速度。

备份的一个巧妙方法是使用无害数据库表和-单事务参数作为mysql转储,这样备份就不会在数据库运行时阻塞数据库。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/30139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档