优化MySQL数据库以防止超出容量限制

2020年12月29日15:59:12 发表评论 37 次浏览

在我们当前的软件包中, 每个MySQL数据库有2 GB的存储空间。如果超过此限制, 则对该数据库的写访问将被阻止, 直到再次削弱该限制为止。以下说明向你展示如何优化数据库, 从而防止数据库被锁定。

你可以通过查看notlogy客户帐户中显示的值或使用phpMyAdmin来查找用于MySQL数据库的存储空间。请注意:使用innodb表时, phpMyAdmin显示的内存使用量值不正确。因此, 在notlogy客户帐户下显示的值托管>合同选择>数据库>管理被用作参考点。

MySQL数据库中的内存严重过量使用的可能原因可能是对表的频繁更改。结果, 尽管对实际存储空间的更改不多, 但数据库本身占用了越来越多的空间。你可以重新组织和优化数据库使用的存储空间。

注意
  • 无法将数据库的存储空间增加到超过2 GB。
  • 如果你已经超出了数据库的最大存储空间, 则只能通过notlogy客户服务进行清理。适用于innodb表的异常适用于可使用Alter Table命令的表, 请参见下面的步骤8。

可用内存空间

要优化你的notlogy客户帐户中的数据库:

  • 如果你尚未这样做, 请登录到notlogy客户帐户.

  • 点击代管并选择适当的托管合同。
  • 请点击管理在里面资料库瓦。将显示你创建的MySQL数据库的概述。
  • 点击打开显示数据库的行中的链接。管理程序phpMyAdmin将在新窗口中打开。
  • 在树形视图中单击数据库名称。详细信息视图将显示此数据库中的所有表。
  • 查找SQL在菜单栏中。
  • 在" SQL"窗口中键入以下命令:SELECT concat('优化表`', table_schema, '`.`', TABLE_NAME, '`;')
    来自information_schema.tables
    在哪里table_schema = database()
    AND data_free /(data_length + index_length + data_free)> 0.6
    ORDER BY data_free DESC;将生成SQL命令, 使你可以释放内存。在SQL窗口中执行Optimize命令。数据库名称对应于你的实际数据库名称。+ ------------------------------------------------- ------------------ +
    | concat('优化表`', table_schema, '`.`', table_name, '`;')|
    + ------------------------------------------------- ------------------ +
    |优化表dbname`attemptoptions`; |
    |优化表`dbname`.`attemptsimple_login_log`; |
    |优化表dbname`.attemptposts`; |
    |优化表`dbname`.`attemptpostmeta`; |
    + ------------------------------------------------- ------------------ +
    一组4列(0.01秒)请注意:仅当数据库未锁定时, 才能执行此优化。
  • 可选的:对于已经超过最大允许存储空间的innodb表, 你可以选择执行以下SQL命令:
    SELECT concat(" ALTER TABLE`", table_schema, "`.`", TABLE_NAME, "`ENGINE = InnoDB;")
    来自information_schema.tables
    在哪里table_schema = database()
    AND ENGINE ='InnoDB'
    AND data_free /(data_length + index_length + data_free)> 0.6
    ORDER BY data_free DESC;将生成SQL命令, 使你可以释放内存。在SQL窗口中执行Alter Table命令。数据库名称对应于你的实际数据库名称。
    + ------------------------------------------------- ----------------------------- +
    | concat('ALTER TABLE`', table_schema, '`.`', table_name, '`ENGINE INNODB;')|
    + ------------------------------------------------- ----------------------------- +
    | ALTER TABLE`dbname`.`attemptoptions`引擎INNODB; |
    | ALTER TABLE`dbname`.`attemptsimple_login_log`引擎INNODB; |
    | ALTER TABLE`dbname`.attemptposts`引擎INNODB; |
    | ALTER TABLE`dbname`.`attemptpostmeta`引擎INNODB; |
    + ------------------------------------------------- ----------------------------- +
    设置4行(0.60秒)
注意

一段时间后, 你清理的磁盘空间将在MySQL数据库中可用。通常, 你可以在第二天再次使用数据库。

自动优化

你可以使用Cron Jobs自动执行优化。有关Cron Jobs的更多信息, 请参阅相应的帮助中心文章.


内容

  • 可用内存空间
  • 自动优化
  • 到达顶点
一盏木

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: