- もともと CentOS 標準の mysql-5.1が入っていた。
- でも Community Server を使いたい (http://dev.mysql.com/downloads/mysql/5.5.html#downloads)
MySQL Community Release のYum Repositoryを使う(thanks to @ngyuki)
既存のMySQLをアンインストールしなくても大丈夫。
$ sudo yum localinstall http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
$ sudo yum install mysql-community-client mysql-community-devel mysql-community-server
Chef recipeバージョン
default.rb
default['mysql']['file_name'] = "mysql-community-release-el6-5.noarch.rpm"
default['mysql']['remote_uri'] = "http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm"
default['mysql']['packages'] = %w[
mysql-community-client
mysql-community-devel
mysql-community-server
]
mysql.rb
remote_file "/tmp/#{node['mysql']['file_name']}" do
source "#{node['mysql']['remote_uri']}"
end
package "mysql-community-release" do
action :install
provider Chef::Provider::Package::Rpm
source "/tmp/#{node['mysql']['file_name']}"
end
node['mysql']['packages'].each do |package|
package package do
action :install
end
end
service "mysqld" do
supports :status => true, :restart => true, :reload => true
action [ :enable, :start ]
end
以前使っていた手順
# 標準のMySQL関連のRPMを削除
sudo rpm -e mysql-server mysql mysql-devel
# mysql-libs と libmysqlclient に依存しているRPMを全部削除
sudo rpm -e mysql-libs perl-DBD-MySQL postfix php-mysql cronie cronie-anacron crontabs
# Community server のRPMをインストール
sudo rpm -ivh MySQL-*.rpm
# mysql-libs以外のRPMは念のため元に戻しておく(厳密には別バージョンになってしまうがこの場合はあまり気にしなかった)
sudo yum install perl-DBD-MySQL postfix php-mysql cronie cronie-anacron crontabs