【MySQL】 MySQLインストール後、起動に失敗する
ひょんなことからGCPで新しい環境を構築することになり(といっても昔で言うLAMP環境のようなもの) PHPやらNginx、MySQLをインストールしているのですが どうしてもMySQLのStartで[FAILED]になってしまう。
MySQLもyumで入れているし、何か指定が必要だったのかとか考えたのですが 推測で物事を進めると良いことがないのでまずはlogを確認します。
するとserviceを立ち上げた時のログの中にERRORが見受けられました。
/var/log/mysqld.log 2016-11-29 11:08:39 1958 [ERROR] InnoDB: Cannot allocate memory for the buffer pool 2016-11-29 11:08:39 1958 [ERROR] Plugin 'InnoDB' init function returned error. 2016-11-29 11:08:39 1958 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 2016-11-29 11:08:39 1958 [ERROR] Unknown/unsupported storage engine: InnoDB 2016-11-29 11:08:39 1958 [ERROR] Aborting
Cannot allocate memory for the buffer pool. よくあるやーつです。
実はGCPの環境については f1-micro(vCPU x 1、メモリ 0.6 GB) という要は最低スペックで作られているので、メモリも600Mちょっとしかなかったのです。
freeコマンドでSWAP領域を確認してみると
# free total used free shared buffers cached Mem: 604380 159344 445036 156 2260 19948 -/+ buffers/cache: 137136 467244 Swap: 0 0 0
案の定SWAP領域がありませんでした。
ということで、SWAP領域を作ります。
# dd if=/dev/zero of=/swapfile bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 26.8912 s, 39.9 MB/s
次にSWAP領域を有効にします。
# mkswap /swapfile # swapon /swapfile
これでMySQLが起動できるようになるはずです。