【问题标题】:How to increase mariabd disk space如何增加 mariadb 磁盘空间
【发布时间】:2022-01-12 19:39:39
【问题描述】:

我收到此错误,是的,我尝试编辑 my.ini 文件,它为空,托管面板是网络面板,即使使用“VIM”我也无法编辑它,我遇到了这个错误

  (/tmp/#sql-temptable-33e-26b-19a.MAI); waiting for someone to free some space... (errno: 28 "No space                              left on device")
Jan 12 14:14:01 hidden mariadbd[830]: 2022-01-12 14:14:01 619 [ERROR] mariadbd: Disk full                              (/tmp/#sql-temptable-33e-26b-19b.MAI); waiting for someone to free some space... (errno: 28 "No space                              left on device")
Jan 12 14:14:01 hidden mariadbd[830]: 2022-01-12 14:14:01 619 [ERROR] mariadbd: Disk full                              (/tmp/#sql-temptable-33e-26b-19c.MAI); waiting for someone to free some space... (errno: 28 "No space                              left on device")
Jan 12 14:14:01 hidden mariadbd[830]: 2022-01-12 14:14:01 619 [ERROR] mariadbd: Disk full                              (/tmp/#sql-temptable-33e-26b-19d.MAI); waiting for someone to free some space... (errno: 28 "No space                              left on device")
Jan 12 14:14:01 hidden mariadbd[830]: 2022-01-12 14:14:01 619 [ERROR] mariadbd: Disk full                              (/tmp/#sql-temptable-33e-26b-19e.MAI); waiting for someone to free some space... (errno: 28 "No space                              left on device")
Jan 12 14:14:01 hidden mariadbd[830]: 2022-01-12 14:14:01 619 [ERROR] mariadbd: Disk full                              (/tmp/#sql-temptable-33e-26b-19f.MAI); waiting for someone to free some space... (errno: 28 "No space                              left on device")
Jan 12 14:14:01 hidden mariadbd[830]: 2022-01-12 14:14:01 619 [ERROR] mariadbd: Disk full                              (/tmp/#sql-temptable-33e-26b-1a0.MAI); waiting for someone to free some space... (errno: 28 "No space                              left on device")
Jan 12 14:14:01 hidden mariadbd[830]: 2022-01-12 14:14:01 623 [ERROR] mariadbd: Disk full                              (/tmp/#sql-temptable-33e-26f-13f.MAI); waiting for someone to free some space... (errno: 28 "No space   

【问题讨论】:

  • 如果磁盘已满,您只能向文件系统添加更多磁盘或删除一些文件以腾出空间,或者您可能已超出配额
  • 您还可以将tmpdir 设置为不同的位置和/或查看在磁盘上创建的临时表的slow query log 并查找索引表以使这些查询更好。

标签: mysql mariadb


【解决方案1】:

磁盘已满。
您需要释放磁盘上的一些空间 - 通过删除文件 - 或扩展所涉及的磁盘卷。

鉴于涉及到一个临时表,这可能是由于错误的查询创建了一个非常大的内存中结果集,它想要加入到其他东西中。
如果您的数据库仍在运行并且您可以连接到它,请查看是否可以找到此查询。如果可以,则需要执行两项操作:

  • 杀死查询,这可能会使您的系统再次稳定,然后
  • 调整查询以减少其 [临时] 空间需求。

如果您根本无法进入您的数据库,那么重新启动数据库进程和/或其托管服务器将终止此(以及所有其他!)查询,并且应该释放临时磁盘空间回到操作系统。

如果问题再次出现,您可能需要进一步扩展临时 (/tmp) 文件系统,但我建议将其作为最后的手段。

【讨论】:

    【解决方案2】:

    正如 Phill 指出的,首先终止进程,然后找出是哪个查询导致了磁盘空间问题。 (问题出在磁盘上,而不是在 RAM 上。)

    可能的原因:

    • 没有ON 子句的JOIN -- 这会将其变成“交叉连接”;两百万行表可以生成一个 trillion 行临时表。检查 JOIN。
    • 在磁盘上分配一个小的/tmp,然后默认将其用于临时存储。更改 tmpdir 的 MySQL 设置可能会有所帮助,或者可能只是延迟问题;首先找到并修复查询。
    • 合适的INDEXes,尤其是复合索引可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-12-05
      • 2021-10-23
      • 2017-11-18
      • 2020-10-17
      • 1970-01-01
      • 2022-09-28
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多