RailsでDBが文字化けするからMySQLを調べてみたら
案の定エンコーディングがlatin1になってた。
default-character-set=utf8を追記して再起動するも立ち上がらない。
そんな命令はないというので調べると、命令が変わった模様。
最近のMySQLでは
[mysqld] collation-server = utf8_unicode_ci init-connect='SET NAMES utf8' character-set-server = utf8
と書く。 http://stackoverflow.com/questions/3513773/change-mysql-default-character-set-to-utf8-in-my-cnf
で、起動するも、なぜか起動できない。
InnoDB: Fatal error: cannot allocate memory for the buffer pool
といっていて、InnoDBがエラーを起こしている。
調べると、EC2のマイクロインスタンスではMySQLが勝手に落ちたりするらしい。なんと!
スワップを設定しろとのこと。
http://stackoverflow.com/questions/10284532/amazon-ec2-mysql-aborting-to-start-because-innodb-mmap-x-bytes-failed-err
やり方は以下。
http://www.prowebdev.us/2012/05/amazon-ec2-linux-micro-swap-space.html
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 sudo mkswap /swapfile sudo swapon /swapfile
/etc/fstab に以下を追記
/swapfile swap swap defaults 0 0
で、再起動したら治った。