環境
- CentOS 6.5
- yumで入れたmysql5.6
- http://dev.mysql.com/doc/mysql-repo-excerpt/5.6/en/linux-installation-yum-repo.html
- 昔と比べて楽になったなぁ
(おっさん臭い)
やったこと
全部root
# mysqlとめた
service mysqld stop
# ramディスク作った
mkdir -p /mnt/ramdisk
mount -t tmpfs -o size=2G tmpfs /mnt/ramdisk
# mysqlディレクトリをコピーした(パーミッションそのままに)
cp -pr /var/lib/mysql /mnt/ramdisk/
/etc/my.cnf いじった
# datadir=/var/lib/mysql
datadir=/mnt/ramdisk/mysql
起動しない
service mysqld start
/var/log/mysqld.log を見る
2013-12-05 10:58:01 10047 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
他にもパーミッションねぇとかなんとか。あるよ!!
原因はSELinux
- ググるとubuntuでapparmorがどうのこうのというのを見かける
- じゃCentOSならSELinuxじゃねぇ?
- selinuxとかつけてググり直す
- ビンゴ
- selinuxとかつけてググり直す
- じゃCentOSならSELinuxじゃねぇ?
# 試しに切ってみる
/usr/sbin/setenforce 0
# 動いた!
service mysqld start
後々
/etc/sysconfig/selinux を弄っておく(permissiveでも問題ないサーバなので)
もともとの目的
jenkinsで異様にテストが重い→ローカルマシンでは早い→原因はI/Oくさい→「Ramディスク使えばいいんじゃね?」(←天からの啓示)
結果、22分かかってたテストが1分で終わるようになった。ひゃっほう。