LoginSignup
8
7

More than 5 years have passed since last update.

Vagrant仮想マシン上にMySQL5.5インストール

Last updated at Posted at 2014-07-06

MySQLインストール

Berkshelf

Berkshelfファイルにcookbookを指定します。

source "https://api.berkshelf.com"

cookbook 'mysql'

cookbookダウンロード

cookbooksディレクトリが存在するとダウンロード出来ないので、削除してダウンロードします。

rm -fr cookbooks
/opt/chef/embedded/bin/berks vendor cookbooks

Vagrantfile

Vagrantfileへrecipeとattributesを追加します。

  config.vm.provision :chef_solo do |chef|
    chef.cookbooks_path = ["cookbooks", "site-cookbooks"]
    chef.add_recipe "mysql"

    chef.json = {
      mysql: {
        version: "5.5",
        server_root_password: "",
      },
    }
  end

MySQL conf

character-setをutf8にする設定を追加します。

cookbookの作成

mysql-confという名前でcookbookを作ります。

knife cookbook create mysql-conf -o site-cookbooks/

recipeの作成

site-cookbooks/mysql-conf/recipes/default.rbを編集します。
ここに実行する内容を記述します。

  • cookbook内のファイルのコピー
  • mysqldサービスの再起動
default.rb
cookbook_file "/etc/mysql/conf.d/character-set.cnf" do
  source "character-set.cnf"
  owner "mysql"
  group "mysql"
  mode "755"
end

cookbook_file "/etc/mysql/conf.d/engine.cnf" do
  source "engine.cnf"
  owner "mysql"
  group "mysql"
  mode "755"
end

service 'mysqld' do
  action [:restart, ]
end

コピーファイルの作成

site-cookbooks/mysql-conf/files/default配下にファイルを置きます。

character-set.cnf
[mysqld]
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8

[client]
default-character-set = utf8

[mysqldump]
default-character-set = utf8

[mysql]
default-character-set = utf8
engine.cnf
[mysqld]
default-storage-engine = InnoDB

recipeに追加

Vagrantfileにrecipeを追加します。

  config.vm.provision :chef_solo do |chef|
    chef.cookbooks_path = ["cookbooks", "site-cookbooks"]
    chef.add_recipe "mysql::server"
    chef.add_recipe "mysql-conf"
  end

起動

vagrant up

リンク

Vagrant初期設定
自分で作成したcookbookをVagrantで適用する
VagrantでCentOS外部レポジトリの追加
Vagrant仮想マシン上にMySQL5.5インストール
Vagrant仮想マシン上のMySQLに接続
Vagrant仮想マシン上にredis2.8.12インストール

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7