从AWS MYSQL移动大表

时间:2013-02-16 21:40:50

标签: mysql linux

我有一个问题,就是从AWS中运行的mysql中获取一个巨大的表到本地机器。 我刚刚创建了一个大小为2.3GB的表,但是我只有2 GB的可用磁盘空间。 这导致我甚至无法将我的表转储到转储文件中的情况,这会导致错误28.然后我有两个选择。

  1. 使用300 + MB可用空间清理磁盘。 我已经尝试删除我能做的一切。 我只有2.5G数据库,但mysqldb1占用4GB大小,我不知道。

    ubuntu@ip-10-60-125-122:~$ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/xvda1      8.0G  5.6G  2.0G  74% /
    udev            819M   12K  819M   1% /dev
    tmpfs           331M  184K  331M   1% /run
    none            5.0M     0  5.0M   0% /run/lock
    none            827M     0  827M   0% /run/shm
    /dev/xvdb       147G  188M  140G   1% /mnt
    
  2. 将我的桌子拆分成两个或更多的桌子,我可以单独转储,然后将它们放在一起。

  3. 我是mysql的新手,希望能提供安全简便的解决方案。

    致以最诚挚的问候,如果我能做任何改进我的问题,请告诉我。

1 个答案:

答案 0 :(得分:0)

如果你确定你实际上没有在数据库中存储那么多数据,你可能想在SO上看看这个其他问题:

MySQL InnoDB not releasing disk space after deleting data rows from table

默认情况下,如果删除数据,MySQL不会减小文件大小。如果为每个表文件配置了MySQL,则应该能够通过优化数据库来减少数据。否则,您必须将所有数据都获取到另一台计算机,并使用配置的每个表文件重新创建数据库。