【问题标题】:1030 Got error 28 from storage engine1030 从存储引擎收到错误 28
【发布时间】:2012-05-24 18:34:42
【问题描述】:

我正在做一个项目,我需要为每个想要查看演示应用程序的用户创建一个包含 300 个表的数据库。它工作正常,但是今天当我与新用户一起测试以查看演示时,它向我显示了此错误消息

1030 Got error 28 from storage engine

花了一些时间谷歌搜索后,我发现这是一个与数据库空间或临时文件有关的错误。我试图修复它,但我失败了。现在我什至无法启动mysql。我该如何解决这个问题,我也想将尺寸增加到最大,这样我就不会一次又一次地面临同样的问题。

【问题讨论】:

  • 显而易见...存储 mysql 数据的分区上是否有足够的可用空间?你在什么平台上运行?本地主机还是托管公司?
  • @DCoder :- 我在亚马逊云上有一个服务器
  • @ShowketBhat 我有同样的问题,我的/tmp 文件夹有 100% 的空间使用率。可以只删除这个 /tmp 文件夹中的所有文件吗?还有一个问题,为什么它不自动删除?

标签: mysql


【解决方案1】:

我在 AWS RDS 中遇到了同样的问题。这是由于 Freeable Space(硬盘存储空间)已满。您需要增加空间,或删除一些数据。

【讨论】:

    【解决方案2】:

    对此进行扩展(即使这是一个较老的问题);这可能不是关于 MySQL 空间本身,而是关于一般空间,假设用于 tmp 文件或类似的东西。 我的 mysql 数据目录未满,/(根)分区是

    【讨论】:

      【解决方案3】:

      Mysql 错误“28 from storage engine” - 表示“磁盘空间不足”。

      在下面显示磁盘空间使用命令。

      myServer# df -h
      

      结果一定是这样的。

      Filesystem    Size    Used   Avail Capacity  Mounted on
      /dev/vdisk     13G     13G     46M   100%    /
      devfs         1.0k    1.0k      0B   100%    /dev
      

      【讨论】:

      • 有关更多信息,如果 /tmp 文件系统达到 100% 的使用率,您将收到相同的错误。
      • 即使你的 Mysql data_dir 在另一个有空闲空间的分区(或磁盘)中,你也必须在 / 和 /tmp 上有空闲空间(当然你可以有最后一个在不同的分区/磁盘)
      • 你救了我的命,我找到了 390 Gb 的慢日志文件((
      • 不错的答案。它节省了我很多时间。 +1
      【解决方案4】:

      我的 /tmp 是 %100。删除所有文件并重新启动 mysql 后一切正常。

      【讨论】:

        【解决方案5】:

        我的 /var/log/apache2 文件夹是 35g,而 /var/log 中的一些日志总计是我 40g 硬盘的另外 5g。我清除了所有 *.gz 日志,在确保其他日志如果我弄乱它们不会做坏事后,我也将它们也清除了。

        echo "clear" > access.log
        

        等等

        【讨论】:

        • 这是一种非常奇怪的清除日志文件的方法,不是吗?为什么不直接 rm 呢?
        • 也许你可以保留文件和权限?
        • 我推荐使用truncate清除日志,truncate -s 0 access.log
        【解决方案6】:

        由于我的复制二进制日志,我遇到了类似的问题。

        如果是这种情况,只需创建一个 cronjob 来每天运行此查询:

        PURGE BINARY LOGS BEFORE DATE_SUB( NOW(), INTERVAL 2 DAY );
        

        这将删除所有超过 2 天的二进制日志。

        我找到了这个解决方案here

        【讨论】:

          【解决方案7】:

          一个简单的: $sth->finish(); 可能会让你不用担心这个。 Mysql使用系统的tmp空间而不是自己的空间。

          【讨论】:

            【解决方案8】:

            检查您的 /backup 以查看是否可以删除旧的不需要的备份。

            【讨论】:

              【解决方案9】:
              sudo su
              
              
              cd /var/log/mysql
              

              最后输入:> mysql-slow.log

              这对我有用

              【讨论】:

                【解决方案10】:

                删除问题数据库,然后重启 mysql 服务(例如sudo service mysql restart)。

                【讨论】:

                  【解决方案11】:

                  如果你想使用 tokudb 插件 如果您的可用空间少于 5%(默认情况下),就会发生这种情况。

                  查看选项:tokudb_fs_reserve_percent

                  【讨论】:

                    猜你喜欢
                    • 2023-03-03
                    • 1970-01-01
                    • 2020-07-06
                    • 2020-07-22
                    • 1970-01-01
                    • 2012-05-17
                    • 2018-06-25
                    • 1970-01-01
                    • 2016-11-10
                    相关资源
                    最近更新 更多