Chef を使って CentOS で MySQL 5.5系のセットアップを行う
昨日の夜、@shimizukawa がこんなことを言っていた。
2013-04-02 19:25:03 via web
というわけで、この記事では chef を使って CentOS で MySQL 5.5 系をセットアップする方法を紹介しよう。
この方法は CentOS 5.x 系でも 6.x 系でも使えるはずだ。
remi リポジトリを使おう
MySQL 5.5 のセットアップといっても、特に複雑なことはしない。Les RPM de Remi というサードパーティのリポジトリを使う。
remi リポジトリは LAMP 環境の最新版を RedHat 系 distro. にバックポートすることを目的としているもので、
このリポジトリでは他にも PHP 5.4 系のパッケージを提供しているので、その用途でも使われることが多い。
MySQL 公式のものを使うべき、という主張もあるかと思うが、ここでは yum repos として提供されており、
簡単にインストールできる方法として remi リポジトリを設定することにしよう。
幸運なことに、community cookbooks の yum cookbook は remi リポジトリをサポートしている*1。
そのため、次のように run_list を定義するだけで MySQL 5.5 をインストールすることができる。
"run_list" : { "recipe[yum::remi]", "recipe[mysql::server]" }
余計なパッケージを入れないようにする
先ほども述べたが、remi リポジトリには PHP 5.4 を始めとするパッケージがいくつも含まれている。
MySQL 5.5 だけをインストールしたいにも関わらず、PHP がアップグレードされてしまう、というトラブルが起きる可能性もある。
そこで、必要なパッケージだけを使うよう includepkgs の設定をしよう。
幸運なことに、yum cookbook は includepkgs を attribute を介して設定できる*2。
だから、solo.json などで次のように定義しておくとよいだろう。
"yum" : { "remi" : { "includepkgs" : "compat-mysql* mysql*" } }
追記: 4/9(15:15): compat-mysql を追加
これで remi リポジトリからは MySQL 関連のパッケージ以外はダウンロードされなくなる。
ちなみに、使うケースは少ないが excludepkgs という設定もあるので、うまく組み合わせて使ってほしい。
Happy cooking!