MySQL がちょいちょい落ちるので EC2 に swap 領域を設定

ちょいちょい MySQL が落ちるな~と思ってたんですが、swap 領域がないことが原因なのかもということで、swap 領域設定してみました。

メモリ確認

$ free
              total        used        free      shared  buff/cache   available
Mem:        1015348      423808      217400       46212      374140      400740
Swap:             0           0           0

Swap 0!

空き容量確認

$ df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   29G  4.2G   25G  15% /
devtmpfs                 487M     0  487M   0% /dev
...以下略

空ファイル作成

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

swap 領域作成

$ mkswap /swapfile

権限変更

$ chmod 600 /swapfile

swap 領域有効化

$ wapon /swapfile

確認

$ swapon -s
Filename                                Type            Size    Used    Priority
/swapfile                               file    1048572 0       -1

$ free
Mem:        1015348      334316      279932       59680      401100      479768
Swap:       1048572           0     1048572

再起動しても swap が有効になるように

$ sudo vi /etc/fstab

で編集モードに入って、次の内容を末尾に追加

/swapfile   none    swap    sw    0   0

おわり。これで MySQL 落ちなくなるといいな~。

参考)

MySQL が起動しない原因がディスクフルだった

MySQL が起動しなくて、なんでだなんでだと調べたところサーバー容量が足りなかった、ということがありました。MySQL 起動しないのがディスクフルのせいだとは全然気づかなくて、しばらく journalctl -xn  してエラーログみたり色々してました。

珍しいケースだとは思いますが、MySQL 起動しなくて困った時は念のためサーバー空き容量を調べてみるといい、と勉強になりました。

未来の自分のために簡単に一応メモ。

CentOS7 でのサービスの起動・終了・再起動・状態

systemctl start 【サービス名】
systemctl stop 【サービス名】
systemctl restart 【サービス名】
systemctl status 【サービス名】

MySQL の状態を見たいなら次のようなかんじ。

systemctl status mysql

起動しない場合は、journalctl -xn  でエラーログを見る。

参考)CentOS7でのサービス(デーモン)の起動・停止方法 | server-memo.net

サーバー空き容量を調べる

$ df -h

Filesystem Size Used Avail Use% マウント位置
などが表示される。

サーバーのディスク容量アップ

今回はさくらのクラウドだったので、仮想サーバと仮想ディスク – 「さくらのクラウド入門」(1) – さくらのナレッジ を参考にディスク容量をアップ。

MySQL が壊れてる

さらに MySQL のテーブルが壊れてしまってたので、phpMyAdmin から

  • 「オーバーヘッド」のあるところは「テーブルの最適化」
  • 「使用中」になったままで構造が壊れてたところは「テーブルの修復」

をしました。これでなんとか復活。

参考)MySQL のテーブルを修復 – STAFF_01 [KYS-LAB]

t1.micro から t2.microへ 移行しました(AMIMOTO)

t2.micro が少し前に出てなかなか良さそうだったので、このサイトでも利用している網元の対応版が利用可能になるのを待っていました。昨日、T2 ファミリーに対応した網元が利用可能になったとの発表があったので、早速試してみました。

2014年7月17日(米国時間)より、T2ファミリーに対応した網元AMI「WordPress powered by AMIMOTO (HVM)」をご利用いただけるようになりました。

T2ファミリー対応網元AMI「WordPress powered by AMIMOTO (HVM)」をリリースしました! | 超高速 WordPress AMI 網元』より引用

移行手順は、下記にまとまってますので見ながら作業しました。最初この記事に気づかないでゴリゴリ自力でやりかけたのは内緒だよ。

作業手順&つまづいた点

AMIMOTO (PVM版)からAMIMOTO (HVM版)へのインスタンス移行方法 | 超高速 WordPress AMI 網元 の一番最初である「1. AMIMOTO (HVM版)でインスタンスを作成」をやろうとして、しょっぱなからつまづきました。WordPress powered by AMIMOTO (HVM) on AWS Marketplace から進んだ Launch on EC2 の画面で、人によっては下図のように「EC2 Instance Type」に t2.micro などが出てきません。 “t1.micro から t2.microへ 移行しました(AMIMOTO)” の続きを読む

VCCW を Windows 環境で使う

vccw

みやさんの「WordPressのプラグインやテーマ、ウェブサイトの開発に超便利なVagrantつくりました。 | firegoby」を読んで Windows 環境で試したのが確か 2013 年の 10 月頃。wp-cli がプリインストールだったりステキだーと思ってなんとか動かそうと試行錯誤したものの、そのときはうまく動かすことができずそのままに。Mac ではスンナリ動いたのですが、メインマシンが Windows という哀しみを背負い……。

Vagrant もバージョンアップしているし、VCCW も開発続けられているので、あれから時間もあいたところで再チャレンジしてみました。

結果を先に書くと、無事動かすことができましたー! ヤッター!! 分かってはいたものの、VirtualBox などの仮想マシン+Vagrant は使ってみると「うわああ便利、なんだこれー」となりますね、テンションあがります。

以下、その作業ログや感想です。 “VCCW を Windows 環境で使う” の続きを読む