建立数据库连接时出错 - WordPress 和 mysql

Error establishing a database connection - WordPress and mysql

我的 WordPress 网站经常出现错误 Error establishing a database connection

之前,我使用 sudo chmod 755 /var/lib/mysqlsudo /etc/init.d/mysql restart 来修复它。然而,这一次,他们不能再工作了; sudo /etc/init.d/mysql 返回

stop: Unknown instance: 
start: Job failed to start

并且 mysqld --verbose 返回

180120  3:24:48 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
180120  3:24:48 [Warning] Can't create test file /var/lib/mysql/chengtie.lower-test
180120  3:24:48 [Note] mysqld (mysqld 5.5.58-0ubuntu0.14.04.1) starting as process 20724 ...
180120  3:24:48 [Warning] Can't create test file /var/lib/mysql/chengtie.lower-test
180120  3:24:48 [Warning] Can't create test file /var/lib/mysql/chengtie.lower-test
180120  3:24:48 [Warning] One can only use the --user switch if running as root

180120  3:24:48 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
180120  3:24:48 [Note] Plugin 'FEDERATED' is disabled.
mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
180120  3:24:48 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
180120  3:24:48 InnoDB: The InnoDB memory heap is disabled
180120  3:24:48 InnoDB: Mutexes and rw_locks use GCC atomic builtins
180120  3:24:48 InnoDB: Compressed tables use zlib 1.2.8
180120  3:24:48 InnoDB: Using Linux native AIO
180120  3:24:48 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
180120  3:24:48 InnoDB: Completed initialization of buffer pool
180120  3:24:48 InnoDB: Fatal error: cannot allocate memory for the buffer pool
180120  3:24:48 [ERROR] Plugin 'InnoDB' init function returned error.
180120  3:24:48 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
180120  3:24:48 [ERROR] Unknown/unsupported storage engine: InnoDB
180120  3:24:48 [ERROR] Aborting

180120  3:24:48 [Note] mysqld: Shutdown complete

有谁知道如何恢复我的网站?

您的 Droplet 没有足够的可用内存来启动 MySQL。请参阅错误 InnoDB: mmap(137363456 bytes) failed; errno 12 - MySQL 在尝试分配 ~130MB 内存时失败。
运行 free -m 检查应用程序可用的内存量。

您可以通过两种方式解决此问题:

  1. 增加液滴的大小。这会花费你更多的钱。
  2. Add (more) swap space to your droplet. 这很可能会影响性能,但可以为您省钱。