【wordpress】データベース接続確率エラーで繋がらない

wordpress が表示されなくなった。

「データベース接続確率エラー」と出る。mysql(MariaDB)につながっていない。

ターミナルから mysql の状態を確認する。

$ mysql ping
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
[kanasui97@ik1-114-63704 ~]$

エラーが出る。サーバーを再起動したらつながった。

sudo reboot

mysql のエラーを確認してみる。

2023-03-22 14:42:14 0 [Note] InnoDB: Number of pools: 1
2023-03-22 14:42:14 0 [Note] InnoDB: Using SSE2 crc32 instructions
2023-03-22 14:42:14 0 [Note] InnoDB: Initializing buffer pool, total size = 128M                                                                                                                                                             , instances = 1, chunk size = 128M
2023-03-22 14:42:14 0 [ERROR] InnoDB: mmap(137035776 bytes) failed; errno 12
2023-03-22 14:42:14 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2023-03-22 14:42:14 0 [ERROR] InnoDB: Plugin initialization aborted with error G                                                                                                                                                             eneric error
2023-03-22 14:42:14 0 [Note] InnoDB: Starting shutdown...
2023-03-22 14:42:15 0 [ERROR] Plugin 'InnoDB' init functio

「Cannot allocate memory for the buffer pool」メモリが少ないのが原因でデータベースサーバーが落ちた?

mysql がよく落ちる場合、swap 領域を作ることで問題解決できる場合があるとのこと。
swap とは交換という意味で、コンピューターの世界では、使用頻度の低いメモリーを一時的にハードディスク預けて、メモリーに余裕を持たせることを、swapという。swap 領域は、メモリーの割当先になる、あらかじめ確保してあるハードディスク内の領域のことらしい。

AmazonAWSで、MySQL がよく落ちる? そんな時はSWAP領域をチェック! - Qiita
Amazon AWSにてt1microサービスを利用していますが、MySQLがよく落ちるんです。それで、ログを確認したところ。。。 InnoDB: Initializing buff…

現在の swap領域の設定を確認。

 free
              total        used        free      shared  buff/cache   available
Mem:         987700      402268      295368       40784      290064      403820
Swap:             0           0           0

swap領域がないのでつくってやる。

swap 領域の大きさの目安

第15章 swap 領域 Red Hat Enterprise Linux 7 | Red Hat Customer Portal
Access Red Hat’s knowledge, guidance, and support through your subscription.

表15.1 システムの推奨 swap 領域

システム内の RAM の容量推奨されるスワップ領域ハイバネートを許可する場合に推奨されるスワップ領域
⩽ 2 GBRAM 容量の 2 倍RAM 容量の 3 倍
> 2 GB ~ 8 GBRAM 容量と同じRAM 容量の 2 倍
> 8 GB ~ 64 GB最低 4GBRAM 容量の 1.5 倍
> 64 GB最低 4GBハイバネートは推奨されない

1G のスワップファイルを作る

dd if=/dev/zero of=/swapfile bs=1M count=1024

#2G の場合
dd if=/dev/zero of=/swapfile bs=1M count=2048

#6G の場合
dd if=/dev/zero of=/swapfile bs=1M count=6144

スワップ領域を作成

mkswap /swapfile

スワップ領域を有効

swapon /swapfile

この時点で swap領域は確保されたはずだが、再起動した時にマウントされないので、 /etc/fstab の一番下に以下の1行を追加。

/swapfile swap swap defaults 0 0
タイトルとURLをコピーしました