【问题标题】:MySQL Backup/Restore IssueMySQL 备份/恢复问题
【发布时间】:2016-12-05 16:29:13
【问题描述】:

我需要将 MySQL 数据库移动到新位置。 根据工作台,数据库只有 200MB 大小,但有些表有数百万行报告索引和数 GB 数据长度。因此,EXPORT 的大小为 15GB,导出数据库并将其复制到新位置需要花费数小时,然后再次导入需要更多时间。在这个过程中,网站需要离线,这样数据库就不会被改变。第一次尝试超过 36 小时,导入失败。 这太长了,有没有比可怕的导入/导出更好/更快的方法来做到这一点?我习惯于使用 MSSQL,它可以很快地完成这类事情,使数据库脱机,将文件复制到新位置,挂载数据库,完成。这需要几分钟,而且非常容易。一直不明白 MySQL 为什么这么难。

【问题讨论】:

  • 您使用的是哪个 MySQL 引擎? MySQL?创新数据库?其他的?
  • 您可以对 MySQL 执行相同操作,“将 db 文件 脱机复制到新位置,挂载 DB,完成”。但是请确保您安装了相同版本的mysql,并且在复制db文件时,没有进行读写操作。
  • MySQL 没有这样的选项,INNODB 数据库不在单独的文件中。它将所有数据库的所有数据存储在同一个文件中。所以我不能这样做,因为服务器上有许多其他数据库。

标签: mysql


【解决方案1】:

Percona XtraBackup 是一个有用的工具,如果你有 InnoDB 表 innobackupex 将有助于进行热备份和恢复。

同时配置InnoDB File-Per-Table备份会像MyISAM表一样。

如果您有 MyISAM 表,则流程是:

  1. 停止服务器源服务器。
  2. 将您的database folder 复制(并压缩)到安全的地方,例如:/var/lib/mysql/your_database
  3. 停止 MySQL 服务器后将文件恢复到目标服务器的同一位置。
  4. 启动目标服务器。

两个服务器的版本差异必须很小,因为 MyISAM 有自己的格式版本。

【讨论】:

    猜你喜欢
    • 2019-05-14
    • 1970-01-01
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 2012-11-24
    相关资源
    最近更新 更多