【问题标题】:importing sql file into new database speed将sql文件导入新数据库速度
【发布时间】:2012-05-16 20:57:17
【问题描述】:

当我需要将我的数据库从一台机器复制到另一台机器时,我通常会这样做 mysqldump -u root -ppassword 数据库 > backup.sql 然后在另一台机器上 mysql -u root -ppassword 数据库

但是我现在正在处理一个 1 GB 的 sql 文件,而且需要几个小时!有没有其他方法可以做到这一点?

【问题讨论】:

  • 1GB的文件只是一张表吗?还是很多表/数据库?
  • 一个数据库几十个表

标签: mysql sql database


【解决方案1】:

很遗憾,问题中缺少太多变量。 db datadir 和文件是否在同一个磁盘挂载上?转储是否使用扩展插入? (假设没有)

如果文本转储是唯一的解决方案(意味着您不想使用 xtrabackup 或 LVM 快照),那么您希望让 musqldump 使用扩展插入(因此每个整个表插入一个,更快)并尝试将文件从数据目录单独挂载以减少磁盘寻道。在那一点上,所有的 IO 都受到限制,磁盘速度是您的瓶颈。

【讨论】:

    【解决方案2】:

    我个人使用 HeidiSQL 来管理我的备份。一旦你在工具中设置了连接,你就可以很快地从 source1 备份到 source2。

    【讨论】:

      【解决方案3】:

      如果您使用的是 Windows,则您的数据位于如下路径:

      C:\Program Files\MySQL\MySQL Server 5.0\data

      在那里,您将拥有包含数据库名称的文件夹,您可以将这些文件夹复制并粘贴到其他计算机上,并且应该可以工作。

      【讨论】:

        【解决方案4】:

        停止服务器,只需复制存档并压缩 db 目录中的文件,在目标机器上执行相反的操作。您需要为新服务器上的数据库分配权限等。在可行的情况下复制 mysql 数据库可能会让您陷入混乱。

        虽然这不是备份,但不要将其用作一个备份,更像是一个图像。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-05-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多