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

8 mysql backup database

我正在使用 mysql

您多久备份一次数据库?

您通常如何备份数据库?

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

Dav*_*ley 11

如果您想正确地进行 MySQL 备份,而没有任何停机时间,您应该将数据库复制到备用服务器。它不需要非常强大,它只需要应付你的主数据库的写负载。您不应在生产中使用此服务器。如果复制永远跟不上,您需要一个更强大的服务器。您可以通过比较日志文件和来自输出的位置来检查

 > SHOW MASTER STATUS\G
Run Code Online (Sandbox Code Playgroud)

在主人和

 > SHOW SLAVE STATUS\G
Run Code Online (Sandbox Code Playgroud)

在奴隶上。我认为 MySQL5 会显示从SHOW SLAVE STATUS.

当你很高兴你的奴隶跟上,你可以做你的备份

  1. SLAVE STOP;在从站上停止复制
  2. mysqldump --opt在从服务器上做一个。
  3. SLAVE START;在从属设备上再次启动复制

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

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

几个随机提示:

  • 不要试图对 mysql 数据文件进行基于文件的备份。它比它的价值更麻烦,而且 MySQL 转储更灵活。
  • 在转储期间当心 mysqldump 锁定表。
  • 注意转储中的不一致,除非您在转储期间锁定每个表
  • 使用mysqldump --opt,因为它通常是导入生成的 SQL 的最快方法
  • 尽可能多地转储。我们每天都进行转储,因为我们有 40GB 以上的数据。
  • 偶尔在备用服务器上测试您的转储以确保它们正常工作。

  • 来自 SHOW SLAVE STATUS 的 Seconds_Behind_Master 在 4.1.9 及更高版本中可用。 (2认同)