MariaDB优化和转储超过1GB的数据库以及每分钟1500+次更新操作

时间:2019-01-18 03:54:07

标签: mysql ubuntu mariadb

我想知道我可以在MariaDB中对缓存进行哪些优化,允许更多连接或您提出任何建议。 我刚刚在干净的digitaocean Ubuntu上安装了MariaDB。 (在mysql配置中没有优化)只是在数据库级别进行索引。 另外,在更新和选择查询运行时,每晚进行数据库转储是否很好? (我需要对应用程序进行重大更改,以停止所有查询以备份,然后重新启动正常操作,我正在寻找一些可以优雅地备份而不停止任何操作的东西)

如有任何疑问,请告诉我。 谢谢

1 个答案:

答案 0 :(得分:0)

  1. 将InnoDB用于所有 表。
  2. 使用XtraBackup(来自Percona)。 (此 可能比常规的[data-value] { /* Attribute exists. */ } [data-value="foo"] { /* Attribute has exact value "foo". */ } [data-value*="foo"] { /* Attribute value contains value "foo" somewhere in it. */ } [data-value~="foo"] { /* Attribute has value "foo" in a space-separated list somewhere. */ } [data-value^="foo"] { /* Attribute value starts with "foo". */ } [data-value|="foo"] { /* Attribute value starts with "foo" in a dash-separated list. */ } [data-value$="foo"] { /* Attribute value ends with "foo". */ } 更好。)
  3. 放心。

您将不会丢失任何更新。最糟糕的是,转储期间更新和选择的速度会变慢。我认为XtraBackup具有更好的侵入性。

一个更极端的解决方案是设置复制。然后,您将拥有与之对话的Master,再加上一个连续“备份”的Slave(因为它是Master的副本)。

要检查的其他事项:

  • 您更改了mysqldump吗? (您有多少RAM?)
  • 索引是否有助于innodb_buffer_pool_size。 (向我们展示SELECTs和慢速SHOW CREATE TABLE。)