2014年12月29日月曜日

nginxとunicornの環境でtimeoutエラーが出たときの対応

nginx+unicornな環境で、かなり大きいファイルをダウンロードしたいとの要望があって、
実装してみたらタイムアウトが出てしまったのでそのときにした対応を載せていきます。

まず最初にunicorn.logに出てたエラーがこれです。
E, [2014-12-19T10:06:30.924665 #17078] ERROR -- : worker=1 PID:17094 timeout (31s > 30s), killing
E, [2014-12-19T10:06:30.973611 #17078] ERROR -- : reaped # worker=1
nginx.logにもエラーが出ていました。
2014/12/19 10:06:30 [error] 26747#0: *54198 upstream prematurely closed connection while reading response header from upstream, client: 172.23.151.25, server: aaa.bbb.com, request: "GET /user_list HTTP/1.1", upstream: "http://unix:/tmp/unicorn.sock:/user_list", host: "aaa.bbb.com", referrer: "https://aaa.bbb.com/"
unicornのtimeoutの設定を30秒にしていたので、それを超えたタイミングでエラーになったようです。
なので次はtimeoutを90秒に変えてリトライしてみました。

今度はnginx.logに違うエラーが出ていました。
2014/12/19 10:20:18 [error] 26747#0: *54253 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 172.23.151.25, server: aaa.bbb.com, request: "GET /user_list HTTP/1.1", upstream: "http://unix:/tmp/unicorn.sock/user_list", host: "aaa.bbb.com", referrer: "https://aaa.bbb.com/"
nginxのタイムアウト設定まわりでエラーになっていると思われるので、
いろいろなタイムアウト設定を一つずつ追加していってみました。
    send_timeout 120s;
    fastcgi_read_timeout 120s;
    fastcgi_send_timeout 120s;
 
    location @unicorn {
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Proto https;
      proxy_pass http://unicorn;
      proxy_send_timeout 120s;
      proxy_read_timeout 120s;
    }
上から順にこれだけタイムアウトの設定を追加していったところ、エラーが出ないようになりました。
すべては必要なさそうに思えたので検証していったところ、これだけでOKでした。
proxy_read_timeout 120s;

参考URL
http://server-setting.info/centos/nginx-upstream-timed-out.html
http://hack.aipo.com/archives/3738/
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout

2014年12月27日土曜日

CentOS6.5にruby2.2.0を入れてみた

CentOS6.5にruby2.2.0を入れてみました。

rubyのバージョン管理はrbenvとruby-buildでやっています。
そのインストールは別途調べてください。

まずはruby-buildをアップデートします。
アップデート後にインストールできるバージョンを確認すると、2.2.0が追加されています。
# rbenv install -l
Available versions:
  1.8.6-p383
  1.8.6-p420
  1.8.7-p249
  1.8.7-p302
  1.8.7-p334
  1.8.7-p352
  1.8.7-p357
  1.8.7-p358
  1.8.7-p370
  1.8.7-p371
  1.8.7-p374
  1.8.7-p375
  1.9.1-p378
  1.9.1-p430
  1.9.2-p0
  1.9.2-p180
  1.9.2-p290
  1.9.2-p318
  1.9.2-p320
  1.9.2-p326
  1.9.2-p330
  1.9.3-dev
  1.9.3-preview1
  1.9.3-rc1
  1.9.3-p0
  1.9.3-p125
  1.9.3-p194
  1.9.3-p286
  1.9.3-p327
  1.9.3-p362
  1.9.3-p374
  1.9.3-p385
  1.9.3-p392
  1.9.3-p429
  1.9.3-p448
  1.9.3-p484
  1.9.3-p545
  1.9.3-p547
  1.9.3-p550
  1.9.3-p551
  2.0.0-dev
  2.0.0-preview1
  2.0.0-preview2
  2.0.0-rc1
  2.0.0-rc2
  2.0.0-p0
  2.0.0-p195
  2.0.0-p247
  2.0.0-p353
  2.0.0-p451
  2.0.0-p481
  2.0.0-p576
  2.0.0-p594
  2.0.0-p598
  2.1.0-dev
  2.1.0-preview1
  2.1.0-preview2
  2.1.0-rc1
  2.1.0
  2.1.1
  2.1.2
  2.1.3
  2.1.4
  2.1.5
  2.2.0-dev
  2.2.0-preview1
  2.2.0-preview2
  2.2.0-rc1
  2.2.0
  jruby-1.5.6
  jruby-1.6.3
  jruby-1.6.4
  jruby-1.6.5
  jruby-1.6.5.1
  jruby-1.6.6
  jruby-1.6.7
  jruby-1.6.7.2
  jruby-1.6.8
  jruby-1.7.0-preview1
  jruby-1.7.0-preview2
  jruby-1.7.0-rc1
  jruby-1.7.0-rc2
  jruby-1.7.0
  jruby-1.7.1
  jruby-1.7.2
  jruby-1.7.3
  jruby-1.7.4
  jruby-1.7.5
  jruby-1.7.6
  jruby-1.7.7
  jruby-1.7.8
  jruby-1.7.9
  jruby-1.7.10
  jruby-1.7.11
  jruby-1.7.12
  jruby-1.7.13
  jruby-1.7.14
  jruby-1.7.15
  jruby-1.7.16
  jruby-1.7.16.1
  jruby-1.7.16.2
  jruby-1.7.17
  jruby-1.7.18
  jruby-9.0.0.0-dev
  jruby-9.0.0.0+graal-dev
  jruby-9000-dev
  jruby-9000+graal-dev
  maglev-1.0.0
  maglev-1.1.0-dev
  maglev-2.0.0-dev
  mruby-dev
  mruby-1.0.0
  rbx-1.2.4
  rbx-2.0.0-dev
  rbx-2.0.0-rc1
  rbx-2.0.0
  rbx-2.1.0
  rbx-2.1.1
  rbx-2.2.0
  rbx-2.2.1
  rbx-2.2.2
  rbx-2.2.3
  rbx-2.2.4
  rbx-2.2.5
  rbx-2.2.6
  rbx-2.2.7
  rbx-2.2.9
  rbx-2.2.10
  ree-1.8.6-2009.06
  ree-1.8.7-2009.09
  ree-1.8.7-2009.10
  ree-1.8.7-2010.01
  ree-1.8.7-2010.02
  ree-1.8.7-2011.03
  ree-1.8.7-2011.12
  ree-1.8.7-2012.01
  ree-1.8.7-2012.02
  topaz-dev

早速2.2.0をインストールしてみます。
# rbenv install 2.2.0
Downloading ruby-2.2.0.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/7671e394abfb5d262fbcd3b27a71bf78737c7e9347fa21c39e58b0bb9c4840fc
Installing ruby-2.2.0...
 
BUILD FAILED (CentOS release 6.5 (Final) using ruby-build 20141225-1-g45b75ed)
 
Inspect or clean up the working tree at /tmp/ruby-build.20141226162728.13624
Results logged to /tmp/ruby-build.20141226162728.13624.log
 
Last 10 log lines:
make[3]: ディレクトリ `/tmp/ruby-build.20141226162728.13624/ruby-2.2.0/ext/fiddle/libffi-3.2.1' から出ます
linking shared-object fiddle.so
/usr/bin/ld: ./libffi-3.2.1/.libs/libffi.a(raw_api.o): relocation R_X86_64_32 against `.text' can not be used when making a shared object; recompile with -fPIC
./libffi-3.2.1/.libs/libffi.a: could not read symbols: Bad value
collect2: ld はステータス 1 で終了しました
make[2]: *** [../../.ext/x86_64-linux/fiddle.so] エラー 1
make[2]: ディレクトリ `/tmp/ruby-build.20141226162728.13624/ruby-2.2.0/ext/fiddle' から出ます
make[1]: *** [ext/fiddle/all] エラー 2
make[1]: ディレクトリ `/tmp/ruby-build.20141226162728.13624/ruby-2.2.0' から出ます
make: *** [build-ext] エラー 2
エラーが出ました。
libffi云々でエラーが出ました。
libffiのインストール状況とリポジトリの情報を調べてみました。
# yum list installed|grep libffi
libffi.x86_64           3.0.5-3.2.el6   @anaconda-CentOS-201311291202.x86_64/6.5

# yum search libffi
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: ftp.tsukuba.wide.ad.jp
 * epel: ftp.tsukuba.wide.ad.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
============================================================================= N/S Matched: libffi =============================================================================
libffi-devel.i686 : Development files for libffi
libffi-devel.x86_64 : Development files for libffi
libffi.i686 : A portable foreign function interface library
libffi.x86_64 : A portable foreign function interface library
 
  Name and summary matches only, use "search all" for everything.
libffi-devel.x86_64を入れてみて、再度2.2.0のインストールを実行すると成功しました。
# rbenv versions
  2.2.0

参考URL
http://qiita.com/MorimotoYasunori@github/items/fb81946fc088b18d6a3a

2014年12月21日日曜日

jquery mobileを使っていたら次のページが表示されない

スマホ用サイトを作っててjquery mobileを使ってたら、
次のページに遷移したら真っ白で表示されなかった時の対応です。

まず普通に開発してたらこんな感じの記載をするかと思います。
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jquerymobile/1.4.3/jquery.mobile.min.css" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquerymobile/1.4.3/jquery.mobile.min.js"></script>

そうすると、最初のページはちゃんと表示されるけれども、
次のページに遷移すると真っ白になりました。
どうやらjquery mobileがajaxで遷移を制御しているのと、
次のページをキャッシュしてそうなあたりが原因なようです。
ということで、以下の記述を入れるとよさそうです。
<script>
    $(document).bind("mobileinit", function(){
        $.mobile.ajaxEnabled = false;
        $.mobile.pushStateEnabled = false;
    });
</script>

これをjquery mobileのjs読み込みの前に入れます。
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jquerymobile/1.4.3/jquery.mobile.min.css" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
    $(document).bind("mobileinit", function(){
        $.mobile.ajaxEnabled = false;
        $.mobile.pushStateEnabled = false;
    });
</script>
<script src="//ajax.googleapis.com/ajax/libs/jquerymobile/1.4.3/jquery.mobile.min.js"></script>

表示されなかった現象は解決して、ちゃんと遷移できるようになりました。


参考URL
http://blog.ym405nm.info/archives/528

2014年12月10日水曜日

capistrano3でproduction環境にdeployしたらassets precompileが走らなかった件

railsアプリを作っててcapistrano3でdeployをするようにしていたのですが、
production環境にdeployしたらcssやjsが見れなくて調べたところ、
assets precompileが走ってなかったためでした。
で、なぜassets precompileが走らなかったか調べてみた時のことを書いていきます。

まず、Capfileはこんな感じで、
require 'capistrano/rails/assets'はちゃんと記述していました。
# Load DSL and Setup Up Stages
require 'capistrano/setup'
 
# Includes default deployment tasks
require 'capistrano/deploy'
 
# Includes tasks from other gems included in your Gemfile
#
# For documentation on these, see for example:
#
#   https://github.com/capistrano/rvm
#   https://github.com/capistrano/rbenv
#   https://github.com/capistrano/chruby
#   https://github.com/capistrano/bundler
#   https://github.com/capistrano/rails
#
# require 'capistrano/rvm'
# require 'capistrano/rbenv'
# require 'capistrano/chruby'
require 'capistrano/bundler'
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'
require 'capistrano/bundle_rsync'
require 'capistrano3/unicorn'
 
# Loads custom tasks from `lib/capistrano/tasks' if you have any defined.
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }

deploy/production.rbのserver設定は以下のように書いていました。
server 'host0001', user: 'root', roles: %w{app}

この設定でだめだったので、とりあえずいろいろとGoogle先生で調べてみましたがよくわかりませんでした。
なので、capistranoのソースを読んでみたところ、原因がわかりました。
precompileを実行するためのrolesはwebじゃないと動かないように書いてありました。
capistaranoのコードから抜粋
  namespace :assets do
    task :precompile do
      on roles(fetch(:assets_roles)) do
        within release_path do
          with rails_env: fetch(:rails_env) do
            execute :rake, "assets:precompile"
          end
        end
      end
    end
......
    set :assets_roles, [:web]

なので、deploy/production.rbのserver設定を以下のように変更したところ、ちゃんとprecompileが動くようになりました。
server 'host0001', user: 'root', roles: %w{app web}
完全に無知のためにはまった内容ですが、何かの役に立てばと思って書いてみました。


参考URL
https://github.com/capistrano/rails/blob/5f112183dad808078a56c8558046d84d182eddf6/lib/capistrano/tasks/assets.rake

2014年12月3日水曜日

railsでcsvダウンロードできるようにしたらexcelで文字化けした件

データをcsvでダウンロードしたいって要望があったので、
railsでcsvダウンロード機能を作ったら、excelで開いたら文字化けするって言われた時の対応です。

バージョンは以下で試しました。
ruby 2.1.2
rails 4.1.5

まず最初に書いたcsvダウンロード部分を抜粋。
ローカルにファイルを出力して、それをsend_fileで返す形です。
  filename = '/tmp/test.csv'
  line = ['aa','bb','cc']
  open(filename,"w"){|f|
    f.puts(line.join(','))
  }
 
  stat = File.stat(filename)
  send_file(filename, :filename => 'test.csv', :length => stat.size)
この形だとファイルの文字コードがUTF-8になります。
UTF-8だとexcelで開いた時には文字化けしました。
(Libre Officeだと最初にencodeをどれにするか聞かれたので、UTF-8にすれば問題なく開けました。)

最初の処理から文字コードを変えた形。
  filename = '/tmp/test.csv'
  line = ['aa','bb','cc']
  open(filename,"w:cp932"){|f|
    f.puts(line.join(','))
  }
 
  stat = File.stat(filename)
  send_file(filename, :filename => 'test.csv', :length => stat.size)
ローカルにファイルを出力するタイミングで
文字コードの指定を「cp932」にしてあげると、
文字化けせずにexcelで開けるようになりました。
macのexcelでもUTF-8だと文字化けしたのが、excelがっかりだなぁと思ったりした次第です。

参考URL
http://tmtms.hatenablog.com/entry/20120812/ruby_encoding

2014年11月28日金曜日

rbenvの環境でcronでrakeタスクを動かしてはまった

rakeタスクを作って、localでも動いたし、staging環境で手動で動かしても動作したのに、
cronで実行させると動かなくてはまったときの話です。

まずは手動で動かすために以下のようなコマンドを手動で実行しました。
bundle exec rake aaa:bbb
とりあえず動きはしたものの、staging環境の設定で動きませんでした。
調べたところ、RAILS_ENV=stagingをつける必要があるようです。
bundle exec rake aaa:bbb RAILS_ENV=staging
手動で動いたのでcronを以下のように設定しました。
crontab -l
0 * * * * cd /home/xxx/app && bundle exec rake aaa:bbb RAILS_ENV=staging
時間が来てうまく動かなかったので調べたところ、PATHにrbenv/shimsが入ってないようでした。
cronでrbenvのrubyを使うのにはいくつか方法があるようですが、
他の環境や設定に影響を与えない/bin/bash -lc 'コマンド'でやることにしました。
0 * * * * /bin/bash -lc 'cd /home/xxx/app && bundle exec rake aaa:bbb RAILS_ENV=staging'

RAILS_ENVのところは環境別に書きかわるようにしたかったので、
crontabにつらつら書くのではなくてシェルを作って動的に変わるように対応しました。


参考URL
http://pentan.info/ruby/ror/rake_list.html
http://blog.livedoor.jp/sonots/archives/33204053.html

2014年11月21日金曜日

nginxのログ出力場所変えたらローテートされなくなった

CentOS6.5にyumでnginxを入れたのですが、
アクセスログの出力場所をデフォルトから変更したら、
ログのローテートがされなくなったので調べました。

デフォルトではローテートがちゃんとされていました。
# ls -ltr /var/log/nginx/
-rw-r----- 1 nginx adm 44342 11月  5 15:23 2014 access.log-20141106
-rw-r----- 1 nginx adm   821 11月  5 18:27 2014 error.log-20141106
-rw-r----- 1 nginx adm  7828 11月  6 03:30 2014 access.log-20141105.gz
-rw-r----- 1 nginx adm    81 11月  6 03:30 2014 error.log-20141023.gz
-rw-r----- 1 nginx adm     0 11月  6 03:30 2014 error.log
-rw-r----- 1 nginx adm     0 11月  6 03:30 2014 access.log

デフォルトから変更したら、ローテートされなくなりました。
# ls -ltr /data/test/log/
-rw-r--r-- 1 nginx root    5568410 11月  6 10:06 2014 access.log

どこでローテートの設定をしてるのか調べたところ、ここでした。
# cat /etc/logrotate.d/nginx 
/var/log/nginx/*.log {
        daily
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 nginx adm
        sharedscripts
        postrotate
                [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
        endscript
}

結局logrotate側を書き換えるのも嫌だったので、ログの出力をデフォルトに戻しました。

参考URL
http://oki2a24.com/2014/07/24/logrotete-settings-of-nginx-installed-with-yum/

2014年11月10日月曜日

rubyのcryptではまった件

公式ドキュメントにも書いてあるんですけど、はまったので載せておきます。。。
文字列を暗号化したかったのでcrypt使ってたら、違う文字列なのに同じ結果になってしまいました。

試したrubyのバージョンはこれです。
$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]

まずはcryptつかったコード。
salt = 'qwlkjrklajfkajsfkljalkfjalksjflak'
 
str1 = '12345'
str2 = '100000001'
str3 = '100000002'
 
puts str1.crypt(salt)
puts str2.crypt(salt)
puts str3.crypt(salt)

実行するとこんな感じになります。
$ ruby test.rb 
qwAFWgKJ1g.E2
qw2y5TDILwIcA
qw2y5TDILwIcA

公式のドキュメントを見てみると、cryptは先頭8文字の内容で暗号化を行うようです。
なので、この場合はDigest使うとよいみたいです。
require 'digest'
 
str1 = '12345'
str2 = '100000001'
str3 = '100000002'
 
puts Digest::MD5.hexdigest(str1)
puts Digest::MD5.hexdigest(str2)
puts Digest::MD5.hexdigest(str3)

実行するとこうなりました。
$ ruby test.rb 
827ccb0eea8a706c4c34a16891f84e7b
d69d3401d01a8ceed4549434e5ad9f40
5a5ea04157ce4d020f65c3dd950f4fa3


参考URL
http://docs.ruby-lang.org/ja/2.1.0/method/String/i/crypt.html
http://ruby-doc.org/stdlib-2.1.0/libdoc/digest/rdoc/Digest.html

2014年11月3日月曜日

railsのbefore_actionでconcernのmoduleに引数を渡す件

railsのbefore_actionでconcernのmoduleメソッドに引数を渡したいので調べました。

railsのバージョンはこれで試してます。
$ bundle exec rails -v
Rails 4.1.5

controllerとmodule
・controller抜粋
include UserAgent
    before_action -> {user_agent_check(request.headers[:HTTP_USER_AGENT])}

・module
module UserAgent
  def user_agent_check(user_agent)
    puts "____#{user_agent}____"
  end
end 

検証にjavaのクライアントで実行したので、ログに以下が表示されました。
ログ
____Apache-HttpClient/4.3.3 (java 1.5)____

before_actionにはブロックを渡せるのでそれを使って引数を渡す形です。

参考URL
http://o.inchiki.jp/obbr/213

2014年10月27日月曜日

ActiveRecordのvalidate条件に変数を使う

ActiveRecordのvalidateはよく使うのですが、
必ずチェックを行いたいとは限らないので、validate条件を設定したりするときに、
その比較条件に変数を使いたかったので調べました。

まずは普通のvalidate
validates :shop_id,
    presence: true

validate条件を使ったとき
validates :shop_id,
    presence: true, if: "shop_flg == '1'"

マジックナンバー使うのは嫌なので変数(定数)に置き換えてみる
SHOP_FLG = '1'

validates :shop_id,
    presence: true, if: "shop_flg == #{SHOP_FLG}"

判定を文字列にするので、普通に#{}で変数を囲めば実現できるようです。


参考URL
http://www.techscore.com/tech/Ruby/Rails/model/validation/4

2014年10月21日火曜日

rubyの日付処理ではまった件

rubyの日付処理をしようとしてて、不思議な変換がかかってはまってしまった件について。

試したrubyのバージョンはこれです。
$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]

こういうrbファイルを作って実行してみると、こういう実行結果になります。
y = 10001
m = 2
d = 31
h = 0
mm = 0

begin
  puts Time.local(y, m, d, h, mm, 0)
  rescue
    puts 'error1'
end

begin
  puts DateTime.parse("#{y}-#{m}-#{d} #{h}:#{mm}:00")
rescue
  puts 'error2'
end

実行結果
10001-03-01 00:00:00 +0900
error2
Time.localに存在しない日を入れても、次の月の月初に変換してしまうようです。

Time.localに入れる日(d)を32にしてみると、結果が変わります。
y = 10001
m = 2
d = 32
h = 0
mm = 0

begin
  puts Time.local(y, m, d, h, mm, 0)
  rescue
    puts 'error1'
end

実行結果
error1
日として取りうる値が1-31だから、31まではエラーにならないようですね。
とりあえず日付のチェックはDateTime#parseで実装してしまいました。
Timeのソース見てないけどちゃんと見てみた方がよいかもですね。。

2014年10月13日月曜日

railsでテキストフォームに日付のフォーマットを行って初期値を入れる

railsでMySQLから取得した値をテキストフォームの初期値に入るようにしていたら、 日付のフォーマットをする必要があったのでそのときに調べたものです。 railsのバージョンはこちら。
$ bundle exec rails -v
Rails 4.1.5
MySQLのテーブルのデータはこうなっています。
mysql> select start_date from mst_services where mst_service_id=28;
+---------------------+
| start_date     |
+---------------------+
| 2014-09-22 10:36:00 |
+---------------------+
1 row in set (0.01 sec)
フォームにそのまま出力するとこんな感じ。
<%= form_for(@mst_service) do |f| %>
  <%= f.text_field :start_date, class: 'form-control' %>
<% end %>

# => 2014-09-22 10:36:00 +0900
日付のフォーマットを指定してみました。 valueにstrftimeしたものを入れるようにしたらよいようです。
<%= f.text_field :start_date,value:f.object.start_date.try(:strftime,'%Y-%m-%d %H:%M'), class: 'form-control' %>

# => 2014-09-22 10:36

2014年10月10日金曜日

railsでoctopus使ってたら起動直後にエラー出る件

railsでmaster-slave構成のDBサーバと接続するのにoctopusを使ってみたのですが、
unicornで複数プロセスをforkさせるようにしていると、
プロセスのfork直後にoctopusが以下のエラー吐いてたので対応調べてみました。

以下がエラー内容。
どうやらDBへの接続がうまくいってないようです。
一発目の実行時だけで、その後はエラー出ないのでfork直後にだけ起こるようです。
NoMethodError: undefined method `query' for nil:NilClass: SHOW FULL FIELDS FROM `mst_services`

config/unicorn.rbに以下を記述するとエラー出なくなりました。
after_fork do |server, worker|
    ActiveRecord::Base.connection_proxy.instance_variable_get(:@shards).each {|k,v| v.clear_reloadable_connections! }
end


参考URL
https://github.com/tchandy/octopus/issues/59

2014年9月30日火曜日

ActiveRecordをRails.cacheに入れてみたときの挙動

ActiveRecordでDBから取得した内容をキャッシュしたかったのでRails.cacheに入れてみました。

開発環境ではcacheが効かないようになっているので有効にする。
config/environments/development.rb
 config.action_controller.perform_caching = true

例としてサービスマスタのModelを作成
mst_service.rb
class MstService < ActiveRecord::Base
end

controllerから以下のようなコードでcacheを利用
    puts "cache_#{Rails.cache.read("mst_service").nil?}"
    mst_service = Rails.cache.fetch("mst_service",expires_in: 1.minutes) do
      mst = MstService.select(:service_id).where(:status => '0')
      mst
    end

4回アクセスした時の標準出力は以下のようになる。
2回目以降はキャッシュから取得できているようです。
cache_true
cache_false
cache_false
cache_false

DBへのアクセスはこんな感じ。
アクセス回数分、DBにselectが投げられている。。。
MstService Load (0.3ms)  SELECT `mst_services`.`service_id` FROM `mst_services`  WHERE `mst_services`.`status` = '0'
MstService Load (0.4ms)  SELECT `mst_services`.`service_id` FROM `mst_services`  WHERE `mst_services`.`status` = '0'
MstService Load (0.2ms)  SELECT `mst_services`.`service_id` FROM `mst_services`  WHERE `mst_services`.`status` = '0'
MstService Load (0.2ms)  SELECT `mst_services`.`service_id` FROM `mst_services`  WHERE `mst_services`.`status` = '0'

cacheには入っているようですが、DBへのアクセスが減っておらず、
やりたいことはDBへのアクセスを減らすことなので、意図したキャッシュの処理にはなっていません。
毎回SQLが発行されていることから、ActiveRecordの状態がキャッシュされていて、
データがキャッシュされる訳ではなさそうです。

DBから取得した内容をhashに入れてからキャッシュするように変えてみました。
    puts "cache_#{Rails.cache.read("mst_service").nil?}"
    mst_service = Rails.cache.fetch("mst_service",expires_in: 1.minutes) do
      mst_data = MstService.select(:service_id).where(:status => '0')
      mst = {}
      mst_data.each do |data|
        mst.store(data.service_id,data.service_id)
      end
      mst
    end

4回アクセスした時の標準出力は以下のようになりました。
上のと内容は同じです。
cache_true
cache_false
cache_false
cache_false

DBへのアクセスを確認したところ、以下のように1回だけに減っていました。
MstService Load (0.2ms)  SELECT `mst_services`.`service_id` FROM `mst_services`  WHERE `mst_services`.`status` = '0'

DBから取得した値をRails.cacheに入れるのであれば、ActiveRecordをそのまま入れるのではなく
hashに移し替えてから格納するのがよさそうですね。

2014年9月22日月曜日

rspecとfactory_girlのテストでトランザクション効かせる

railsのmodelのテストをrspecで作成していて、factory_girlで作ったデータでテストをした際に、
テストが完了したらテスト用データも削除されるようにしたいので、そのときにやった対応です。

テスト対象テーブルはこんな感じです。
mysql> select * from seq_sometest4s;
+----+--------+
| id | seq_id |
+----+--------+
|  1 |      1 |
+----+--------+
1 row in set (0.00 sec)

テストしたいクラスです。
$ cat app/models/concerns/seq_table.rb 
module SeqTable
 
  def seq_incrment(klazz)
    base = Object.const_get(klazz)
    base.transaction do
    tbl = base.lock.find(1)
 
    tbl.increment!(:seq_id)
    tbl.seq_id
  end
  rescue => e
    raise e
  end
end
 
$ cat app/models/seq_sometest4.rb 
class SeqSometest4 < ActiveRecord::Base
end

$controller抜粋
seq_id = seq_incrment("SeqSometest4")

spec/rails_helper.rbに設定
config.use_transactional_fixtures = true

まずテストを書いてみました。
require 'rails_helper'
 
describe "SeqTable" do
  include SeqTable
 
  seq = FactoryGirl.create(:seq_sometest4)
  context "#seq_incrment" do
    it {
      res = seq_incrment("SeqSometest4")
      expect(res).to eq (seq.seq_id + 1)
    }
  end
end

これだと、テスト終了後にデータが残ってしまいました。
mysql> select * from seq_sometest4s;
+----+--------+
| id | seq_id |
+----+--------+
|  1 |      1 |
+----+--------+
1 row in set (0.00 sec)

FactoryGirlの処理をit{}の中に持ってきてみました。
require 'rails_helper'
 
describe "SeqTable" do
  include SeqTable
 
  context "#seq_incrment" do
    it {
      seq = FactoryGirl.create(:seq_sometest4)
      res = seq_incrment("SeqSometest4")
      expect(res).to eq (seq.seq_id + 1)
    }
  end
end

mysql> select * from seq_sometest4s;
Empty set (0.00 sec)

itの中に書くことでテスト内での操作ってことになって、トランザクション内での処理ってことになるのかなと。


参考URL
https://relishapp.com/rspec/rspec-rails/docs/transactions

2014年9月17日水曜日

Travis CI Meetup Tokyoに参加してきました

本日開催されたTravis CI Meetup Tokyoに参加してきました。
Travis CIは名前と概要はなんとなく知ってたのですが、使ったことはなかったです。
今日話を聞いてきた限りはかなり便利でぜひ使いたいなと思いました。
jenkinsでもできそうだけど、実行するたびに毎回vm立ち上げてやってくれるのは
環境の変な影響とか受けなくてよさそうだなと感じました。

以下メモしたやつを載せてます。

・Asariさん
主にTravis入門のデモという感じでした。
デモに使われたリポジトリはこちら
https://github.com/BanzaiMan/travis-intro-tokyo
https://travis-ci.org/BanzaiMan/travis-intro-tokyo

Travisを使う上で、どういう流れで動いているかを理解することは大事。
setup/install/buildに関してはtravisの責任で実行する。
travisでsudo使いたい時はメールしてくれるとよいそうです。

matrix: allow_failures:
に書いた設定は失敗してもよい設定になる。
#今動かしてるバージョンより新しいバージョンでテストするときとか便利そう。

rubyだとrvmのバージョン指定で
rvm - ruby-head
で最新版のテストできる。

servicesでredisやelasticsearchを使うことができる

addonsでpostgresqlのバージョン9.1,9.2,9.3を使うことができる


・Joshさん
当然、英語の発表でした。。

サービスの説明
サーバー台数とか使っているサービス数とか1日のjob数とか
メモりきれませんでした。。。

使われてる言語の割合
オープンソースだとnode.jsが多い
.com(商用?)だとrubyが多い

B.I.W.O.M.M
but it works on my machine!
みんな同じようなこと言っちゃうよね、だからtravis使うといいよ的な話と受け取りました。

みんなmacで開発するけど、本番はmacで動かさないよね?的なことを言ってました

質疑応答で出てきたのが、
travis_waitでタイムアウトを変更できる。ドキュメントにはない、秘密コマンドらしい。


・pinzoloさん
Travis API

株式会社 空
redmineのプラグインを作ってる
redmine本体が壊れてないかテストできるので便利

過去のビルド情報が取得できる

TravisのAPIをたたくためのgemがある
インストールするとtravisコマンドが利用できる

access tokenはtravis tokenで取得できる
プロフィールページのtokenではない

durationはダウンロードや準備の部分の時間も含まれちゃうので、
フェーズごとのdurationが取れるといいなぁってお願いされてた。

プレゼン資料あがってました
https://speakerdeck.com/pinzolo/travis-ci-api-lt


・岸川さん
Automated releasing iOS app with Travis CI

Ubiregi Inc
申請は手作業だけど、それ以外はtravisでやってる
TestFlightとかxcodebuildでやってる
申請するためのビルドをそのまま使って配布用に使えるようにしている

プレゼン資料あがってました
https://speakerdeck.com/kishikawakatsumi/automated-releasing-ios-app-with-travis-ci


・shigemk2さん
QUnit on Travis CI

自作JSライブラリをQUnitでテストしつつ継続的インテグレーションしてみた
ハンドルネームのmk2はマーク2。ガンダムではなくエルガイムらしい

リポジトリ
https://github.com/shigemk2/regexp-js

ブログあがってました
http://shigemk2.hatenablog.com/entry/2014/09/17/QUnit_on_Travis_CI%E3%81%A8%E3%81%84%E3%81%86%E5%90%8D%E5%89%8D%E3%81%A7LT%E3%82%92%E3%82%84%E3%81%A3%E3%81%9F_%23travisci_jp


・sanematさん
When was the build passing?

githubのreadmeにはってあるbuild passingがいつのやつかぱっとわからない
自分のプルリクで壊したのじゃないのに、failureになっちゃうのとか嫌だよね

http://tachikoma.io/
使うといいよ
定期的にpull requestを送ってくれて、
いつからビルドがこけてるかがわかるようになる

bundle updateしたものをプルリク投げてくれるらしい

travis ciがやれることはtravis ciに任せる

プレゼン資料あがってました
http://sanemat.github.io/talks/20140917-travis-ci-meetup-tachikoma-io/


・yandoさん
Testing your App with Selenium on Travis CI

PHP NZでやってきた話をかいつまんで。
PHP CONFERENCE2014の宣伝あり

僕らの共通言語はtravis.yml
travis.ymlで動くjenkinsのプラグイン作った人がいるらしい
#これかなぁhttps://wiki.jenkins-ci.org/display/JENKINS/Travis+YML+Plugin

seleniumはtravisでやりやすい
travisのvmにはfirefoxとX入ってるしjavaも入ってる
wgetでselenium-server落として来て起動するだけ

プレゼン資料あがってました
https://speakerdeck.com/yandod/testing-your-app-with-selenium-on-travis-ci-1



あ、ステッカーもらいそこねました。。。

2014年9月11日木曜日

2014年9月10日水曜日

centos7に最新のnginxを入れる

centos7にnginxを入れようと思い、入れるんなら最新版がよいなということで調べました。

まずはnginxのyumレポジトリを登録
# yum -y install http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
読み込んだプラグイン:fastestmirror
nginx-release-centos-7-0.el7.ngx.noarch.rpm                                                                                   | 4.6 kB  00:00:00     
/var/tmp/yum-root-_s7dpv/nginx-release-centos-7-0.el7.ngx.noarch.rpm を調べています: nginx-release-centos-7-0.el7.ngx.noarch
/var/tmp/yum-root-_s7dpv/nginx-release-centos-7-0.el7.ngx.noarch.rpm をインストール済みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ nginx-release-centos.noarch 0:7-0.el7.ngx を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=====================================================================================================================================================
 Package                             アーキテクチャー      バージョン                  リポジトリー                                             容量
=====================================================================================================================================================
インストール中:
 nginx-release-centos                noarch                7-0.el7.ngx                 /nginx-release-centos-7-0.el7.ngx.noarch                1.5 k

トランザクションの要約
=====================================================================================================================================================
インストール  1 パッケージ

合計容量: 1.5 k
インストール容量: 1.5 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : nginx-release-centos-7-0.el7.ngx.noarch                                                                              1/1 
  検証中                  : nginx-release-centos-7-0.el7.ngx.noarch                                                                              1/1 

インストール:
  nginx-release-centos.noarch 0:7-0.el7.ngx                                                                                                          

完了しました!

このままだと、最新のmainlineではなくstableのバージョンが入ってしまうので、
/etc/yum.repos.d/nginx.repoのbaseurlを変更します。
# cat /etc/yum.repos.d/nginx.repo 
# nginx.repo

[nginx]
name=nginx repo
#baseurl=http://nginx.org/packages/centos/7/$basearch/
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

yumでnginxをインストールします。
# yum install nginx.x86_64
読み込んだプラグイン:fastestmirror
nginx                                                                                                                         | 2.9 kB  00:00:00     
nginx/x86_64/primary_db                                                                                                       | 5.0 kB  00:00:00     
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ nginx.x86_64 0:1.7.4-1.el7.ngx を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=====================================================================================================================================================
 Package                         アーキテクチャー                 バージョン                                   リポジトリー                     容量
=====================================================================================================================================================
インストール中:
 nginx                           x86_64                           1.7.4-1.el7.ngx                              nginx                           362 k

トランザクションの要約
=====================================================================================================================================================
インストール  1 パッケージ

総ダウンロード容量: 362 k
インストール容量: 866 k
Is this ok [y/d/N]: y
Downloading packages:
nginx-1.7.4-1.el7.ngx.x86_64.rpm                                                                                              | 362 kB  00:00:05     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : nginx-1.7.4-1.el7.ngx.x86_64                                                                                         1/1 
----------------------------------------------------------------------

Thanks for using nginx!

Please find the official documentation for nginx here:
* http://nginx.org/en/docs/

Commercial subscriptions for nginx are available on:
* http://nginx.com/products/

----------------------------------------------------------------------
  検証中                  : nginx-1.7.4-1.el7.ngx.x86_64                                                                                         1/1 

インストール:
  nginx.x86_64 0:1.7.4-1.el7.ngx                                                                                                                     

完了しました!

最新のnginxがインストールできました。
# nginx -v
nginx version: nginx/1.7.4

2014年9月9日火曜日

rails4でrspecにfactory_girlを使った時のエラー

rails4でrspecでテストを書こうと思って、factory_girlを使ってみたら
エラー出たのでそのときの対応

まずはバージョンを確認
gem list抜粋
factory_girl (4.4.0)
factory_girl_rails (4.4.1)
rails (4.1.4)
rspec (3.0.0)
rspec-core (3.0.4)
rspec-expectations (3.0.4)
rspec-mocks (3.0.4)
rspec-rails (3.0.2)
rspec-support (3.0.4)

テスト対象のテーブル
mysql> desc seq_sometest4s;
+--------+------------+------+-----+---------+-------+
| Field  | Type       | Null | Key | Default | Extra |
+--------+------------+------+-----+---------+-------+
| id     | int(10)    | NO   | PRI | 0       |       |
| seq_id | bigint(10) | YES  |     | NULL    |       |
+--------+------------+------+-----+---------+-------+
2 rows in set (0.01 sec)

spec_helper.rbにfactory_girlの設定を追加
require 'factory_girl_rails'
RSpec.configure do |config|
  config.fixture_path = "#{::Rails.root}/spec/fixtures"
  config.use_transactional_fixtures = true
  config.order = "random"
  config.include FactoryGirl::Syntax::Methods
  config.before do
    FactoryGirl.reload
  end
end

config/application.rbにもfactory_girlの設定を追加
config.generators do |g|
  g.test_framework :rspec, :fixture => true, :fixture_replacement => :factory_girl
  g.fixture_replacement :factory_girl, :dir => 'spec/factories'
end

テストコード
$ cat spec/models/concerns/seq_table_spec.rb 
require 'spec_helper'
 
describe "SeqTable" do
  describe "seq_incrment" do
    FactoryGirl.build(:seq_sometest4)
  end 
end

テストを実行するとエラーになりました。
$ bundle exec rspec spec/models/concerns/seq_table_spec.rb
seq_sometest4
/Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/registry.rb:33:in `find': Factory not registered: seq_sometest4 (ArgumentError)
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/decorator.rb:10:in `method_missing'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl.rb:91:in `factory_by_name'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/factory_runner.rb:12:in `run'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/strategy_syntax_method_registrar.rb:20:in `block in define_singular_strategy_method'
 from /Users/xxx/Documents/github/test20140812/test-api/spec/models/concerns/seq_table_spec.rb:6:in `block (2 levels) in '
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/example_group.rb:331:in `module_exec'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/example_group.rb:331:in `subclass'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/example_group.rb:227:in `block in define_example_group_method'
 from /Users/xxx/Documents/github/test20140812/test-api/spec/models/concerns/seq_table_spec.rb:4:in `block in '
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/example_group.rb:331:in `module_exec'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/example_group.rb:331:in `subclass'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/example_group.rb:227:in `block in define_example_group_method'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/dsl.rb:41:in `block in expose_example_group_alias'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/dsl.rb:79:in `block (2 levels) in expose_example_group_alias_globally'
 from /Users/xxx/Documents/github/test20140812/test-api/spec/models/concerns/seq_table_spec.rb:3:in `'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1058:in `load'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1058:in `block in load_spec_files'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1058:in `each'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1058:in `load_spec_files'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:97:in `setup'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:85:in `run'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:70:in `run'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:38:in `invoke'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/exe/rspec:4:in `'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/bin/rspec:23:in `load'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/bin/rspec:23:in `
'

ちょっとググってみたところ、spec_helper.rbに以下を追加するとよいとあったので入れてみました。
requireの下に
FactoryGirl.find_definitions

そして再度テストを実行してみたところ、またエラーが出ました。
$ bundle exec rspec spec/models/concerns/seq_table_spec.rb
/Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/find_definitions.rb:16: warning: File.exists? is a deprecated name, use File.exist? instead
/Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/find_definitions.rb:16: warning: File.exists? is a deprecated name, use File.exist? instead
/Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/find_definitions.rb:16: warning: File.exists? is a deprecated name, use File.exist? instead
/Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/inflector/methods.rb:238:in `const_get': uninitialized constant SeqSometest4 (NameError)
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/inflector/methods.rb:238:in `block in constantize'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/inflector/methods.rb:236:in `each'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/inflector/methods.rb:236:in `inject'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/inflector/methods.rb:236:in `constantize'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/core_ext/string/inflections.rb:66:in `constantize'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/factory.rb:26:in `build_class'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/factory.rb:37:in `run'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/factory_runner.rb:23:in `block in run'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/notifications.rb:161:in `instrument'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/factory_runner.rb:22:in `run'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/strategy_syntax_method_registrar.rb:20:in `block in define_singular_strategy_method'
 from /Users/xxx/Documents/github/test20140812/test-api/spec/models/concerns/seq_table_spec.rb:6:in `block (2 levels) in '
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/example_group.rb:331:in `module_exec'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/example_group.rb:331:in `subclass'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/example_group.rb:227:in `block in define_example_group_method'
 from /Users/xxx/Documents/github/test20140812/test-api/spec/models/concerns/seq_table_spec.rb:4:in `block in '
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/example_group.rb:331:in `module_exec'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/example_group.rb:331:in `subclass'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/example_group.rb:227:in `block in define_example_group_method'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/dsl.rb:41:in `block in expose_example_group_alias'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/dsl.rb:79:in `block (2 levels) in expose_example_group_alias_globally'
 from /Users/xxx/Documents/github/test20140812/test-api/spec/models/concerns/seq_table_spec.rb:3:in `'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1058:in `load'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1058:in `block in load_spec_files'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1058:in `each'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1058:in `load_spec_files'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:97:in `setup'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:85:in `run'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:70:in `run'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:38:in `invoke'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/exe/rspec:4:in `'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/bin/rspec:23:in `load'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/bin/rspec:23:in `
'

ちょっと原因がわからなかったので、railsコマンドでもう一度modelを作ってみました。
specファイルの中身を見ると、requireの記述が違います。
$ bundle exec rails g model seq_sometest4 id:integer seq_id:integer
      invoke  active_record
      create    db/migrate/20140827015707_create_seq_sometest4s.rb
   identical    app/models/seq_sometest4.rb
      invoke    rspec
      create      spec/models/seq_sometest4_spec.rb
      invoke      factory_girl
   identical        spec/factories/seq_sometest4s.rb
 
$ cat spec/models/seq_sometest4_spec.rb 
require 'rails_helper'
 
RSpec.describe SeqSometest4, :type => :model do
  pending "add some examples to (or delete) #{__FILE__}"
end

require 'rails_helper'に変更して再度テストを実行してみましたが、またエラーになりました。。
$ bundle exec rspec spec/models/concerns/seq_table_spec.rb
/Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/decorator.rb:10:in `method_missing': Factory already registered: seq_sometest4 (FactoryGirl::DuplicateDefinitionError)
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/decorator/disallows_duplicates_registry.rb:6:in `register'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl.rb:85:in `block in register_factory'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl.rb:84:in `each'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl.rb:84:in `register_factory'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/syntax/default.rb:20:in `factory'
 from /Users/xxx/Documents/github/test20140812/test-api/spec/factories/seq_sometest4s.rb:4:in `block in '
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/syntax/default.rb:49:in `instance_eval'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/syntax/default.rb:49:in `run'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/syntax/default.rb:7:in `define'
 from /Users/xxx/Documents/github/test20140812/test-api/spec/factories/seq_sometest4s.rb:3:in `'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in `load'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in `block in load'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232:in `load_dependency'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:241:in `load'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/find_definitions.rb:20:in `block (2 levels) in find_definitions'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/find_definitions.rb:19:in `each'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/find_definitions.rb:19:in `block in find_definitions'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/find_definitions.rb:15:in `each'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl-4.4.0/lib/factory_girl/find_definitions.rb:15:in `find_definitions'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/factory_girl_rails-4.4.1/lib/factory_girl_rails/railtie.rb:21:in `block in '
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/lazy_load_hooks.rb:36:in `call'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/lazy_load_hooks.rb:44:in `each'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.4/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/railties-4.1.4/lib/rails/application/finisher.rb:64:in `block in '
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/railties-4.1.4/lib/rails/initializable.rb:30:in `instance_exec'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/railties-4.1.4/lib/rails/initializable.rb:30:in `run'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/railties-4.1.4/lib/rails/initializable.rb:55:in `block in run_initializers'
 from /Users/xxx/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:226:in `block in tsort_each'
 from /Users/xxx/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component'
 from /Users/xxx/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:427:in `each_strongly_connected_component_from'
 from /Users/xxx/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:347:in `block in each_strongly_connected_component'
 from /Users/xxx/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:345:in `each'
 from /Users/xxx/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:345:in `call'
 from /Users/xxx/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:345:in `each_strongly_connected_component'
 from /Users/xxx/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:224:in `tsort_each'
 from /Users/xxx/.rbenv/versions/2.1.2/lib/ruby/2.1.0/tsort.rb:205:in `tsort_each'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/railties-4.1.4/lib/rails/initializable.rb:54:in `run_initializers'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/railties-4.1.4/lib/rails/application.rb:300:in `initialize!'
 from /Users/xxx/Documents/github/test20140812/test-api/config/environment.rb:5:in `'
 from /Users/xxx/Documents/github/test20140812/test-api/spec/rails_helper.rb:4:in `require'
 from /Users/xxx/Documents/github/test20140812/test-api/spec/rails_helper.rb:4:in `'
 from /Users/xxx/Documents/github/test20140812/test-api/spec/models/concerns/seq_table_spec.rb:1:in `require'
 from /Users/xxx/Documents/github/test20140812/test-api/spec/models/concerns/seq_table_spec.rb:1:in `'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1058:in `load'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1058:in `block in load_spec_files'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1058:in `each'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1058:in `load_spec_files'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:97:in `setup'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:85:in `run'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:70:in `run'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/lib/rspec/core/runner.rb:38:in `invoke'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.0.4/exe/rspec:4:in `'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/bin/rspec:23:in `load'
 from /Users/xxx/Documents/github/test20140812/test-api/vendor/bundle/ruby/2.1.0/bin/rspec:23:in `
'

先ほど付け足したspec_helper.rbのFactoryGirl.find_definitionsを削除して再度実行したら、
今度はエラーにならずに動きました。
テスト自体は書いてないので0件です。
$ bundle exec rspec spec/models/concerns/seq_table_spec.rb
No examples found.
 
Finished in 0.00033 seconds (files took 3.61 seconds to load)
0 examples, 0 failures

require 'rails_helper'が肝だった訳ですが、ちゃんとrailsコマンドで最初から作っていれば
エラーにはまらずに済んでたと思うので、あるものはちゃんと使わないといけないですね。

参考URL
http://dev.classmethod.jp/server-side/ruby-on-rails/ruby-on-rails_factorygirl/
https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md
http://thinkit.co.jp/story/2014/07/08/5092/page/0/2
http://stackoverflow.com/questions/9300231/factory-already-registered-user-factorygirlduplicatedefinitionerror
http://stackoverflow.com/questions/8409787/factorygirl-factory-not-registered-user-argumenterror
http://qiita.com/youcune/items/3a1e4ef76e71da43e043
http://j-caw.co.jp/blog/?p=1042
http://source.hatenadiary.jp/entry/2014/02/06/222318

2014年9月5日金曜日

mysql5.6でユーザー作成したらエラーになった

mysql5.6でユーザー作成したらエラーになったので調べてみました。

grant select on test.* to 'test_r'@'localhost' IDENTIFIED BY PASSWORD 'パスワード';
ERROR 1827 (HY000): The password hash doesn't have the expected format. Check if the correct password algorithm is being used with the PASSWORD() function.
どうやらパスワードを生で入れてはだめと言っているようです。
PASSWORD()で暗号化するとよいみたいです。
mysql> select password('パスワード');
+-------------------------------------------+
| password('パスワード')                    |
+-------------------------------------------+
| *CE405B6FE1164FDCD390917220F25F9E97448173 |
+-------------------------------------------+
1 row in set (0.03 sec)
暗号化したパスワードを入れて再度ユーザー作成を行うと、ちゃんと作成できました。
grant select on test.* to 'test_r'@'localhost' IDENTIFIED BY PASSWORD '*CE405B6FE1164FDCD390917220F25F9E97448173';
アプリケーションから接続する時は暗号化する前のパスワードを使う形でよいようです。

参考URL
http://shareolite.blogspot.jp/2014/03/how-to-solve-mysql-error-1827-hy000.html#.U_XEAIB_vGw

2014年9月3日水曜日

rails4のActiveRecordでselect for updateを実行

mysqlでselect for updateを使ったトランザクション処理をしたかったので調べました。

まずはrailsのバージョン
$ bundle exec rails -v
Rails 4.1.4

mysqlのテーブル
mysql> desc seq_sometest3s;
+--------+------------+------+-----+---------+-------+
| Field  | Type       | Null | Key | Default | Extra |
+--------+------------+------+-----+---------+-------+
| id     | int(10)    | NO   | PRI | 0       |       |
| seq_id | bigint(10) | YES  |     | NULL    |       |
+--------+------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
 
mysql> select * from seq_sometest3s;
+----+--------+
| id | seq_id |
+----+--------+
|  1 | 100049 |
+----+--------+
1 row in set (0.00 sec)

まずネットで調べた以下のやり方だとエラーになりました。
tbl = base.find(1, lock: true)
tbl.increment!(:seq_id)
tbl.seq_id
 
   (0.2ms)  BEGIN
  SeqSometest3 Load (0.7ms)  SELECT `seq_sometest3s`.* FROM `seq_sometest3s`  WHERE `seq_sometest3s`.`id` IN (1, '---\n:lock: true\n')
   (0.2ms)  ROLLBACK

次に出てきた以下のやり方だとエラーは出ませんでした。
ただ、プライマリーキーで指定しているのでorder byが不要です、
tbl = base.where("id =1").lock(true).first
tbl.increment!(:seq_id)
tbl.seq_id
 
   (0.1ms)  BEGIN
  SeqSometest3 Load (0.2ms)  SELECT  `seq_sometest3s`.* FROM `seq_sometest3s`  WHERE (id =1)  ORDER BY `seq_sometest3s`.`id` ASC LIMIT 1 FOR UPDATE
  SQL (0.2ms)  UPDATE `seq_sometest3s` SET `seq_id` = 100046 WHERE `seq_sometest3s`.`id` = 1
   (0.4ms)  COMMIT

次のやり方でもエラーは出ませんでしたが、
order byはつかなくなったけど2回selectが実行されてしまいます。
後半のSQLだけでよいのに。
tbl = base.find(1).lock!
tbl.increment!(:seq_id)
tbl.seq_id

   (0.1ms)  BEGIN
  SeqSometest3 Load (0.2ms)  SELECT  `seq_sometest3s`.* FROM `seq_sometest3s`  WHERE `seq_sometest3s`.`id` = 1 LIMIT 1
  SeqSometest3 Load (0.2ms)  SELECT  `seq_sometest3s`.* FROM `seq_sometest3s`  WHERE `seq_sometest3s`.`id` = 1 LIMIT 1 FOR UPDATE
  SQL (0.2ms)  UPDATE `seq_sometest3s` SET `seq_id` = 100047 WHERE `seq_sometest3s`.`id` = 1
   (0.6ms)  COMMIT

このやり方だとselectも1回しか発行されず、order byもつかないSQLが発行できました。
tbl = base.lock.find(1)
tbl.increment!(:seq_id)
tbl.seq_id
 
   (0.1ms)  BEGIN
  SeqSometest3 Load (0.4ms)  SELECT  `seq_sometest3s`.* FROM `seq_sometest3s`  WHERE `seq_sometest3s`.`id` = 1 LIMIT 1 FOR UPDATE
  SQL (0.3ms)  UPDATE `seq_sometest3s` SET `seq_id` = 100049 WHERE `seq_sometest3s`.`id` = 1
   (0.3ms)  COMMIT

ちなみに存在しないレコードにロックをかけようとすると、
RecordNotFoundのエラーが出ました。
tbl = base.lock.find(2)
tbl.increment!(:seq_id)
tbl.seq_id

   (0.2ms)  BEGIN
  SeqSometest3 Load (0.2ms)  SELECT  `seq_sometest3s`.* FROM `seq_sometest3s`  WHERE `seq_sometest3s`.`id` = 2 LIMIT 1 FOR UPDATE
   (0.1ms)  ROLLBACK
ActiveRecord::RecordNotFound (Couldn't find SeqSometest3 with 'id'=2):


参考URL
http://apidock.com/rails/ActiveRecord/Locking/Pessimistic
http://api.rubyonrails.org/classes/ActiveRecord/Locking/Pessimistic.html

2014年9月1日月曜日

rails4のActiveRecordで特定のカラムだけ取得する

ActiveRecordで普通にfindしたりすると、すべてのカラムが取得できますが、
DBの負荷を考えると必要なカラムだけ取得したいので、そのやり方を調べました。

まずはrailsのバージョンを確認
$ bundle exec rails -v
Rails 4.1.4

DBの中身はこんな感じです。
mysql> select * from sometest3s where id=2;
+----+------+--------------------------------------------------------------------------------------------+----------+---------------------+
| id | name | content                                                                                    | view_flg | ins_date            |
+----+------+--------------------------------------------------------------------------------------------+----------+---------------------+
|  2 | john | {"shop_id"=>[100, 200, 300], "item_id"=>[500, 600, 700, 800], "name"=>"jon", "user"=>2000} | 0        | 2014-08-20 02:17:17 |
+----+------+--------------------------------------------------------------------------------------------+----------+---------------------+
1 row in set (0.00 sec)

取得の仕方はこうで、pluckを使うと結果は配列に入ります。
mapss = Sometest3.select(:id,:name).where(:id => 2).pluck(:id,:name)
puts mapss # => 2 john
puts mapss[0] # => 2 john
puts mapss[0][0] # => 2
puts mapss[0][1] # => john 

その際に発行されるSQLがこんな感じです。
   (0.3ms)  SELECT `sometest3s`.`id`, `sometest3s`.`name` FROM `sometest3s`  WHERE `sometest3s`.`id` = 2

ちなみにwhereとselectを入れ替えてみても発行されるSQLは同じでした。
mapss = Sometest3.where(:id => 2).select(:id,:name).pluck(:id,:name)

   (0.3ms)  SELECT `sometest3s`.`id`, `sometest3s`.`name` FROM `sometest3s`  WHERE `sometest3s`.`id` = 2


参考URL
http://6rats.blog62.fc2.com/blog-entry-75.html
http://d.hatena.ne.jp/suginoy/20120605/p3

2014年8月29日金曜日

rails4のActiveRecordでid以外をプライマリーキーに設定する

rails使ってる場合、DBのテーブルのプライマリーキーはidにしといた方が楽なのですが、
他のテーブルとの関連とか考えるとすべてのテーブルでidってのはなかなかわかりづらいです。
なので、ActiveRecordでid以外をプライマリーキーに設定したいです。

まずはrailsのバージョンを確認
$ bundle exec rails -v
Rails 4.1.4

DBのテーブルはこんな感じ
create table sometest4s(
  sometest4_id bigint(10),
  sometest3_id bigint(10),
  val varchar(256),
  ins_date datetime default '9999-12-31 23:59:59',
  primary key (sometest4_id)
);

modelでのプライマリーキーはこんな感じで設定します。
コメントアウトしてるのはrails3のときの設定方法のようです。
$ cat app/models/sometest4.rb 
class Sometest4 < ActiveRecord::Base
#  set_primary_key :sometest4_id
   self.primary_key = :sometest4_id
end

参考URL
http://qiita.com/k-shogo/items/884498ad512c0e6eb303
http://www.atmarkit.co.jp/ait/articles/1104/12/news135.html

CentOS7にmysql5.6を入れた

CentOS7にmysql5.6を入れてみました。

CentOSのバージョン
$ cat /etc/redhat-release 
CentOS Linux release 7.0.1406 (Core) 

まずはmysqlコミュニティのyumリポジトリを登録
# yum -y install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

現在のyumのインストール状況を確認。
CentOS7のデフォルトはmariadbになっているので、それのモジュールがすでに入ってますね。
# yum list installed
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
インストール済みパッケージ
ModemManager-glib.x86_64                   1.1.0-6.git20130913.el7                @CentOS-7                   
NetworkManager.x86_64                      1:0.9.9.1-25.git20140326.4dba720.el7_0 @CentOS-7-update            
NetworkManager-glib.x86_64                 1:0.9.9.1-25.git20140326.4dba720.el7_0 @CentOS-7-update            
NetworkManager-tui.x86_64                  1:0.9.9.1-25.git20140326.4dba720.el7_0 @CentOS-7-update            
acl.x86_64                                 2.2.51-12.el7                          @CentOS-7                   
aic94xx-firmware.noarch                    30-6.el7                               @CentOS-7                   
alsa-firmware.noarch                       1.0.27-2.el7                           @CentOS-7                   
alsa-lib.x86_64                            1.0.27.2-3.el7                         @CentOS-7                   
alsa-tools-firmware.x86_64                 1.0.27-4.el7                           @CentOS-7                   
audit.x86_64                               2.3.3-4.el7                            @CentOS-7                   
audit-libs.x86_64                          2.3.3-4.el7                            @CentOS-7                   
authconfig.x86_64                          6.2.8-8.el7                            @CentOS-7                   
avahi.x86_64                               0.6.31-13.el7                          @CentOS-7                   
avahi-autoipd.x86_64                       0.6.31-13.el7                          @CentOS-7                   
avahi-libs.x86_64                          0.6.31-13.el7                          @CentOS-7                   
basesystem.noarch                          10.0-7.el7.centos                      @CentOS-7                   
bash.x86_64                                4.2.45-5.el7                           @CentOS-7                   
bind-libs-lite.x86_64                      32:9.9.4-14.el7                        @CentOS-7                   
bind-license.noarch                        32:9.9.4-14.el7                        @CentOS-7                   
binutils.x86_64                            2.23.52.0.1-16.el7                     @CentOS-7                   
biosdevname.x86_64                         0.5.0-10.el7                           @CentOS-7                   
btrfs-progs.x86_64                         3.12-4.el7                             @CentOS-7                   
bzip2-libs.x86_64                          1.0.6-12.el7                           @CentOS-7                   
ca-certificates.noarch                     2013.1.95-71.el7                       @CentOS-7                   
centos-logos.noarch                        70.0.6-1.el7.centos                    @CentOS-7                   
centos-release.x86_64                      7-0.1406.el7.centos.2.4                @CentOS-7-update            
chkconfig.x86_64                           1.3.61-4.el7                           @CentOS-7                   
chrony.x86_64                              1.29.1-1.el7.centos                    @CentOS-7                   
coreutils.x86_64                           8.22-11.el7                            @CentOS-7                   
cpio.x86_64                                2.11-22.el7                            @CentOS-7                   
cracklib.x86_64                            2.9.0-11.el7                           @CentOS-7                   
cracklib-dicts.x86_64                      2.9.0-11.el7                           @CentOS-7                   
cronie.x86_64                              1.4.11-11.el7                          @CentOS-7                   
cronie-anacron.x86_64                      1.4.11-11.el7                          @CentOS-7                   
crontabs.noarch                            1.11-6.20121102git.el7                 @CentOS-7                   
cryptsetup-libs.x86_64                     1.6.3-2.el7                            @CentOS-7                   
curl.x86_64                                7.29.0-19.el7                          @CentOS-7                   
cyrus-sasl-lib.x86_64                      2.1.26-17.el7                          @CentOS-7                   
dbus.x86_64                                1:1.6.12-8.el7                         @CentOS-7                   
dbus-glib.x86_64                           0.100-7.el7                            @CentOS-7                   
dbus-libs.x86_64                           1:1.6.12-8.el7                         @CentOS-7                   
dbus-python.x86_64                         1.1.1-9.el7                            @CentOS-7                   
device-mapper.x86_64                       7:1.02.84-14.el7                       @CentOS-7                   
device-mapper-event.x86_64                 7:1.02.84-14.el7                       @CentOS-7                   
device-mapper-event-libs.x86_64            7:1.02.84-14.el7                       @CentOS-7                   
device-mapper-libs.x86_64                  7:1.02.84-14.el7                       @CentOS-7                   
device-mapper-persistent-data.x86_64       0.3.2-1.el7                            @CentOS-7                   
dhclient.x86_64                            12:4.2.5-27.el7.centos                 @CentOS-7                   
dhcp-common.x86_64                         12:4.2.5-27.el7.centos                 @CentOS-7                   
dhcp-libs.x86_64                           12:4.2.5-27.el7.centos                 @CentOS-7                   
diffutils.x86_64                           3.3-4.el7                              @CentOS-7                   
dmidecode.x86_64                           1:2.12-5.el7                           @CentOS-7                   
dnsmasq.x86_64                             2.66-12.el7                            @CentOS-7                   
dracut.x86_64                              033-161.el7                            @CentOS-7                   
dracut-config-rescue.x86_64                033-161.el7                            @CentOS-7                   
dracut-network.x86_64                      033-161.el7                            @CentOS-7                   
e2fsprogs.x86_64                           1.42.9-4.el7                           @CentOS-7                   
e2fsprogs-libs.x86_64                      1.42.9-4.el7                           @CentOS-7                   
ebtables.x86_64                            2.0.10-13.el7                          @CentOS-7                   
elfutils-libelf.x86_64                     0.158-3.el7                            @CentOS-7                   
elfutils-libs.x86_64                       0.158-3.el7                            @CentOS-7                   
ethtool.x86_64                             2:3.8-3.el7                            @CentOS-7                   
expat.x86_64                               2.1.0-8.el7                            @CentOS-7                   
file.x86_64                                5.11-21.el7                            @CentOS-7                   
file-libs.x86_64                           5.11-21.el7                            @CentOS-7                   
filesystem.x86_64                          3.2-18.el7                             @CentOS-7                   
findutils.x86_64                           1:4.5.11-3.el7                         @CentOS-7                   
fipscheck.x86_64                           1.4.1-5.el7                            @CentOS-7                   
fipscheck-lib.x86_64                       1.4.1-5.el7                            @CentOS-7                   
firewalld.noarch                           0.3.9-7.el7                            @CentOS-7                   
freetype.x86_64                            2.4.11-9.el7                           @CentOS-7                   
fxload.x86_64                              2002_04_11-16.el7                      @CentOS-7                   
gawk.x86_64                                4.0.2-4.el7                            @CentOS-7                   
gdbm.x86_64                                1.10-8.el7                             @CentOS-7                   
gettext.x86_64                             0.18.2.1-4.el7                         @CentOS-7                   
gettext-libs.x86_64                        0.18.2.1-4.el7                         @CentOS-7                   
glib-networking.x86_64                     2.36.2-3.el7                           @CentOS-7                   
glib2.x86_64                               2.36.3-5.el7                           @CentOS-7                   
glibc.x86_64                               2.17-55.el7                            @CentOS-7                   
glibc-common.x86_64                        2.17-55.el7                            @CentOS-7                   
gmp.x86_64                                 1:5.1.1-5.el7                          @CentOS-7                   
gnupg2.x86_64                              2.0.22-3.el7                           @CentOS-7                   
gnutls.x86_64                              3.1.18-9.el7_0                         @CentOS-7-update            
gobject-introspection.x86_64               1.36.0-4.el7                           @CentOS-7                   
gpgme.x86_64                               1.3.2-5.el7                            @CentOS-7                   
grep.x86_64                                2.16-1.el7                             @CentOS-7                   
groff-base.x86_64                          1.22.2-8.el7                           @CentOS-7                   
grub2.x86_64                               1:2.02-0.2.10.el7.centos.1             @CentOS-7                   
grub2-tools.x86_64                         1:2.02-0.2.10.el7.centos.1             @CentOS-7                   
grubby.x86_64                              8.28-8.el7                             @CentOS-7                   
gsettings-desktop-schemas.x86_64           3.8.2-3.el7                            @CentOS-7                   
gzip.x86_64                                1.5-7.el7                              @CentOS-7                   
hardlink.x86_64                            1:1.0-19.el7                           @CentOS-7                   
hostname.x86_64                            3.13-3.el7                             @CentOS-7                   
hwdata.noarch                              0.252-7.3.el7                          @CentOS-7                   
info.x86_64                                5.1-4.el7                              @CentOS-7                   
initscripts.x86_64                         9.49.17-1.el7                          @CentOS-7                   
iproute.x86_64                             3.10.0-13.el7                          @CentOS-7                   
iprutils.x86_64                            2.3.16-4.el7                           @CentOS-7                   
iptables.x86_64                            1.4.21-13.el7                          @CentOS-7                   
iputils.x86_64                             20121221-6.el7                         @CentOS-7                   
irqbalance.x86_64                          2:1.0.6-5.el7                          @CentOS-7                   
ivtv-firmware.noarch                       2:20080701-26.el7                      @CentOS-7                   
iwl100-firmware.noarch                     39.31.5.1-34.el7                       @CentOS-7                   
iwl1000-firmware.noarch                    1:39.31.5.1-34.el7                     @CentOS-7                   
iwl105-firmware.noarch                     18.168.6.1-34.el7                      @CentOS-7                   
iwl135-firmware.noarch                     18.168.6.1-34.el7                      @CentOS-7                   
iwl2000-firmware.noarch                    18.168.6.1-34.el7                      @CentOS-7                   
iwl2030-firmware.noarch                    18.168.6.1-34.el7                      @CentOS-7                   
iwl3160-firmware.noarch                    22.0.7.0-34.el7                        @CentOS-7                   
iwl3945-firmware.noarch                    15.32.2.9-34.el7                       @CentOS-7                   
iwl4965-firmware.noarch                    228.61.2.24-34.el7                     @CentOS-7                   
iwl5000-firmware.noarch                    8.83.5.1_1-34.el7                      @CentOS-7                   
iwl5150-firmware.noarch                    8.24.2.2-34.el7                        @CentOS-7                   
iwl6000-firmware.noarch                    9.221.4.1-34.el7                       @CentOS-7                   
iwl6000g2a-firmware.noarch                 17.168.5.3-34.el7                      @CentOS-7                   
iwl6000g2b-firmware.noarch                 17.168.5.2-34.el7                      @CentOS-7                   
iwl6050-firmware.noarch                    41.28.5.1-34.el7                       @CentOS-7                   
iwl7260-firmware.noarch                    22.0.7.0-34.el7                        @CentOS-7                   
jansson.x86_64                             2.4-6.el7                              @CentOS-7                   
json-c.x86_64                              0.11-4.el7_0                           @CentOS-7-update            
kbd.x86_64                                 1.15.5-10.el7                          @CentOS-7                   
kbd-misc.noarch                            1.15.5-10.el7                          @CentOS-7                   
kernel.x86_64                              3.10.0-123.6.3.el7                     @CentOS-7-update            
kernel-tools.x86_64                        3.10.0-123.6.3.el7                     @CentOS-7-update            
kernel-tools-libs.x86_64                   3.10.0-123.6.3.el7                     @CentOS-7-update            
kexec-tools.x86_64                         2.0.4-32.el7.centos.2                  @CentOS-7-update            
keyutils-libs.x86_64                       1.5.8-3.el7                            @CentOS-7                   
kmod.x86_64                                14-9.el7                               @CentOS-7                   
kmod-libs.x86_64                           14-9.el7                               @CentOS-7                   
kpartx.x86_64                              0.4.9-66.el7                           @CentOS-7                   
krb5-libs.x86_64                           1.11.3-49.el7                          @CentOS-7                   
less.x86_64                                458-8.el7                              @CentOS-7                   
libacl.x86_64                              2.2.51-12.el7                          @CentOS-7                   
libassuan.x86_64                           2.1.0-3.el7                            @CentOS-7                   
libattr.x86_64                             2.4.46-12.el7                          @CentOS-7                   
libblkid.x86_64                            2.23.2-16.el7                          @CentOS-7                   
libcap.x86_64                              2.22-8.el7                             @CentOS-7                   
libcap-ng.x86_64                           0.7.3-5.el7                            @CentOS-7                   
libcom_err.x86_64                          1.42.9-4.el7                           @CentOS-7                   
libcroco.x86_64                            0.6.8-5.el7                            @CentOS-7                   
libcurl.x86_64                             7.29.0-19.el7                          @CentOS-7                   
libdaemon.x86_64                           0.14-7.el7                             @CentOS-7                   
libdb.x86_64                               5.3.21-17.el7_0.1                      @CentOS-7-update            
libdb-utils.x86_64                         5.3.21-17.el7_0.1                      @CentOS-7-update            
libdrm.x86_64                              2.4.50-1.1.el7                         @CentOS-7                   
libedit.x86_64                             3.0-12.20121213cvs.el7                 @CentOS-7                   
libertas-sd8686-firmware.noarch            20140213-0.3.git4164c23.el7            @CentOS-7                   
libertas-sd8787-firmware.noarch            20140213-0.3.git4164c23.el7            @CentOS-7                   
libertas-usb8388-firmware.noarch           2:20140213-0.3.git4164c23.el7          @CentOS-7                   
libestr.x86_64                             0.1.9-2.el7                            @CentOS-7                   
libffi.x86_64                              3.0.13-11.el7                          @CentOS-7                   
libgcc.x86_64                              4.8.2-16.el7                           @CentOS-7                   
libgcrypt.x86_64                           1.5.3-4.el7                            @CentOS-7                   
libgomp.x86_64                             4.8.2-16.el7                           @CentOS-7                   
libgpg-error.x86_64                        1.12-3.el7                             @CentOS-7                   
libgudev1.x86_64                           208-11.el7_0.2                         @CentOS-7-update            
libidn.x86_64                              1.28-3.el7                             @CentOS-7                   
libmnl.x86_64                              1.0.3-7.el7                            @CentOS-7                   
libmodman.x86_64                           2.0.1-8.el7                            @CentOS-7                   
libmount.x86_64                            2.23.2-16.el7                          @CentOS-7                   
libndp.x86_64                              1.2-4.el7                              @CentOS-7                   
libnetfilter_conntrack.x86_64              1.0.4-2.el7                            @CentOS-7                   
libnfnetlink.x86_64                        1.0.1-4.el7                            @CentOS-7                   
libnl3.x86_64                              3.2.21-6.el7                           @CentOS-7                   
libnl3-cli.x86_64                          3.2.21-6.el7                           @CentOS-7                   
libpcap.x86_64                             14:1.5.3-3.el7                         @CentOS-7                   
libpciaccess.x86_64                        0.13.1-4.1.el7                         @CentOS-7                   
libpipeline.x86_64                         1.2.3-3.el7                            @CentOS-7                   
libproxy.x86_64                            0.4.11-6.el7                           @CentOS-7                   
libpwquality.x86_64                        1.2.3-4.el7                            @CentOS-7                   
libselinux.x86_64                          2.2.2-6.el7                            @CentOS-7                   
libselinux-python.x86_64                   2.2.2-6.el7                            @CentOS-7                   
libselinux-utils.x86_64                    2.2.2-6.el7                            @CentOS-7                   
libsemanage.x86_64                         2.1.10-16.el7                          @CentOS-7                   
libsepol.x86_64                            2.1.9-3.el7                            @CentOS-7                   
libsoup.x86_64                             2.42.2-3.el7                           @CentOS-7                   
libss.x86_64                               1.42.9-4.el7                           @CentOS-7                   
libssh2.x86_64                             1.4.3-8.el7                            @CentOS-7                   
libstdc++.x86_64                           4.8.2-16.el7                           @CentOS-7                   
libsysfs.x86_64                            2.1.0-16.el7                           @CentOS-7                   
libtasn1.x86_64                            3.3-5.el7_0                            @CentOS-7-update            
libteam.x86_64                             1.9-15.el7                             @CentOS-7                   
libunistring.x86_64                        0.9.3-9.el7                            @CentOS-7                   
libuser.x86_64                             0.60-5.el7                             @CentOS-7                   
libutempter.x86_64                         1.1.6-4.el7                            @CentOS-7                   
libuuid.x86_64                             2.23.2-16.el7                          @CentOS-7                   
libverto.x86_64                            0.2.5-4.el7                            @CentOS-7                   
libxml2.x86_64                             2.9.1-5.el7                            @CentOS-7                   
linux-firmware.noarch                      20140213-0.3.git4164c23.el7            @CentOS-7                   
logrotate.x86_64                           3.8.6-4.el7                            @CentOS-7                   
lua.x86_64                                 5.1.4-14.el7                           @CentOS-7                   
lvm2.x86_64                                7:2.02.105-14.el7                      @CentOS-7                   
lvm2-libs.x86_64                           7:2.02.105-14.el7                      @CentOS-7                   
lzo.x86_64                                 2.06-6.el7_0.2                         @CentOS-7-update            
make.x86_64                                1:3.82-21.el7                          @CentOS-7                   
man-db.x86_64                              2.6.3-9.el7                            @CentOS-7                   
mariadb-libs.x86_64                        1:5.5.37-1.el7_0                       @CentOS-7-update            
microcode_ctl.x86_64                       2:2.1-7.1.el7_0.2                      @CentOS-7-update            
mozjs17.x86_64                             17.0.0-10.el7                          @CentOS-7                   
mysql-community-release.noarch             el7-5                                  @/mysql-community-release-el7-5.noarch
ncurses.x86_64                             5.9-13.20130511.el7                    @CentOS-7                   
ncurses-base.noarch                        5.9-13.20130511.el7                    @CentOS-7                   
ncurses-libs.x86_64                        5.9-13.20130511.el7                    @CentOS-7                   
net-tools.x86_64                           2.0-0.17.20131004git.el7               @CentOS-7                   
nettle.x86_64                              2.7.1-2.el7                            @CentOS-7                   
newt.x86_64                                0.52.15-4.el7                          @CentOS-7                   
newt-python.x86_64                         0.52.15-4.el7                          @CentOS-7                   
nspr.x86_64                                4.10.6-1.el7_0                         @CentOS-7-update            
nss.x86_64                                 3.15.4-7.el7_0                         @CentOS-7-update            
nss-softokn.x86_64                         3.15.4-2.el7                           @CentOS-7                   
nss-softokn-freebl.x86_64                  3.15.4-2.el7                           @CentOS-7                   
nss-sysinit.x86_64                         3.15.4-7.el7_0                         @CentOS-7-update            
nss-tools.x86_64                           3.15.4-7.el7_0                         @CentOS-7-update            
nss-util.x86_64                            3.15.4-2.el7                           @CentOS-7                   
numactl-libs.x86_64                        2.0.9-2.el7                            @CentOS-7                   
openldap.x86_64                            2.4.39-3.el7                           @CentOS-7                   
openssh.x86_64                             6.4p1-8.el7                            @CentOS-7                   
openssh-clients.x86_64                     6.4p1-8.el7                            @CentOS-7                   
openssh-server.x86_64                      6.4p1-8.el7                            @CentOS-7                   
openssl.x86_64                             1:1.0.1e-34.el7_0.4                    @CentOS-7-update            
openssl-libs.x86_64                        1:1.0.1e-34.el7_0.4                    @CentOS-7-update            
os-prober.x86_64                           1.58-5.el7                             @CentOS-7                   
p11-kit.x86_64                             0.18.7-4.el7                           @CentOS-7                   
p11-kit-trust.x86_64                       0.18.7-4.el7                           @CentOS-7                   
pam.x86_64                                 1.1.8-9.el7                            @CentOS-7                   
parted.x86_64                              3.1-17.el7                             @CentOS-7                   
passwd.x86_64                              0.79-4.el7                             @CentOS-7                   
pciutils-libs.x86_64                       3.2.1-4.el7                            @CentOS-7                   
pcre.x86_64                                8.32-12.el7                            @CentOS-7                   
pinentry.x86_64                            0.8.1-14.el7                           @CentOS-7                   
pkgconfig.x86_64                           1:0.27.1-4.el7                         @CentOS-7                   
plymouth.x86_64                            0.8.9-0.10.20140113.el7.centos         @CentOS-7                   
plymouth-core-libs.x86_64                  0.8.9-0.10.20140113.el7.centos         @CentOS-7                   
plymouth-scripts.x86_64                    0.8.9-0.10.20140113.el7.centos         @CentOS-7                   
policycoreutils.x86_64                     2.2.5-11.el7                           @CentOS-7                   
polkit.x86_64                              0.112-5.el7                            @CentOS-7                   
polkit-pkla-compat.x86_64                  0.1-4.el7                              @CentOS-7                   
popt.x86_64                                1.13-16.el7                            @CentOS-7                   
postfix.x86_64                             2:2.10.1-6.el7                         @CentOS-7                   
ppp.x86_64                                 2.4.5-33.el7                           @CentOS-7                   
procps-ng.x86_64                           3.3.9-6.el7                            @CentOS-7                   
pth.x86_64                                 2.0.7-22.el7                           @CentOS-7                   
pygobject3-base.x86_64                     3.8.2-4.el7                            @CentOS-7                   
pygpgme.x86_64                             0.3-9.el7                              @CentOS-7                   
pyliblzma.x86_64                           0.5.3-11.el7                           @CentOS-7                   
python.x86_64                              2.7.5-16.el7                           @CentOS-7                   
python-backports.noarch                    1.0-6.el7                              @CentOS-7                   
python-backports-ssl_match_hostname.noarch 3.4.0.2-4.el7                          @CentOS-7                   
python-configobj.noarch                    4.7.2-7.el7                            @CentOS-7                   
python-decorator.noarch                    3.4.0-3.el7                            @CentOS-7                   
python-iniparse.noarch                     0.4-9.el7                              @CentOS-7                   
python-libs.x86_64                         2.7.5-16.el7                           @CentOS-7                   
python-pycurl.x86_64                       7.19.0-17.el7                          @CentOS-7                   
python-pyudev.noarch                       0.15-6.el7                             @CentOS-7                   
python-setuptools.noarch                   0.9.8-3.el7                            @CentOS-7                   
python-slip.noarch                         0.4.0-2.el7                            @CentOS-7                   
python-slip-dbus.noarch                    0.4.0-2.el7                            @CentOS-7                   
python-urlgrabber.noarch                   3.10-4.el7                             @CentOS-7                   
pyxattr.x86_64                             0.5.1-5.el7                            @CentOS-7                   
qrencode-libs.x86_64                       3.4.1-3.el7                            @CentOS-7                   
readline.x86_64                            6.2-9.el7                              @CentOS-7                   
rootfiles.noarch                           8.1-11.el7                             @CentOS-7                   
rpm.x86_64                                 4.11.1-16.el7                          @CentOS-7                   
rpm-build-libs.x86_64                      4.11.1-16.el7                          @CentOS-7                   
rpm-libs.x86_64                            4.11.1-16.el7                          @CentOS-7                   
rpm-python.x86_64                          4.11.1-16.el7                          @CentOS-7                   
rsyslog.x86_64                             7.4.7-6.el7                            @CentOS-7                   
sed.x86_64                                 4.2.2-5.el7                            @CentOS-7                   
selinux-policy.noarch                      3.12.1-153.el7_0.10                    @CentOS-7-update            
selinux-policy-targeted.noarch             3.12.1-153.el7_0.10                    @CentOS-7-update            
setup.noarch                               2.8.71-4.el7                           @CentOS-7                   
shadow-utils.x86_64                        2:4.1.5.1-13.el7                       @CentOS-7                   
shared-mime-info.x86_64                    1.1-7.el7                              @CentOS-7                   
slang.x86_64                               2.2.4-11.el7                           @CentOS-7                   
snappy.x86_64                              1.1.0-3.el7                            @CentOS-7                   
sqlite.x86_64                              3.7.17-4.el7                           @CentOS-7                   
sudo.x86_64                                1.8.6p7-11.el7                         @CentOS-7                   
systemd.x86_64                             208-11.el7_0.2                         @CentOS-7-update            
systemd-libs.x86_64                        208-11.el7_0.2                         @CentOS-7-update            
systemd-sysv.x86_64                        208-11.el7_0.2                         @CentOS-7-update            
sysvinit-tools.x86_64                      2.88-14.dsf.el7                        @CentOS-7                   
tar.x86_64                                 2:1.26-29.el7                          @CentOS-7                   
tcp_wrappers-libs.x86_64                   7.6-77.el7                             @CentOS-7                   
teamd.x86_64                               1.9-15.el7                             @CentOS-7                   
tuned.noarch                               2.3.0-11.el7_0.3                       @CentOS-7-update            
tzdata.noarch                              2014e-1.el7_0                          @CentOS-7-update            
ustr.x86_64                                1.0.4-16.el7                           @CentOS-7                   
util-linux.x86_64                          2.23.2-16.el7                          @CentOS-7                   
vim-minimal.x86_64                         2:7.4.160-1.el7                        @CentOS-7                   
virt-what.x86_64                           1.13-5.el7                             @CentOS-7                   
which.x86_64                               2.20-7.el7                             @CentOS-7                   
wpa_supplicant.x86_64                      1:2.0-12.el7                           @CentOS-7                   
xfsprogs.x86_64                            3.2.0-0.10.alpha2.el7                  @CentOS-7                   
xz.x86_64                                  5.1.2-8alpha.el7                       @CentOS-7                   
xz-libs.x86_64                             5.1.2-8alpha.el7                       @CentOS-7                   
yum.noarch                                 3.4.3-118.el7.centos                   @CentOS-7                   
yum-metadata-parser.x86_64                 1.1.4-10.el7                           @CentOS-7                   
yum-plugin-fastestmirror.noarch            1.1.31-25.el7_0                        @CentOS-7-update            
zlib.x86_64                                1.2.7-13.el7                           @CentOS-7          

では早速mysql-serverを入れます。
元々入っていたmariadbのライブラリが入れ替え対象になっています。
# yum install mysql-server
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ mysql-community-server.x86_64 0:5.6.20-4.el7 を インストール
--> 依存性の処理をしています: mysql-community-common(x86-64) = 5.6.20-4.el7 のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: mysql-community-client(x86-64) = 5.6.20-4.el7 のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: perl(warnings) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: perl(strict) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: perl(if) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: perl(Sys::Hostname) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: perl(POSIX) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: perl(Getopt::Long) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: perl(File::Temp) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: perl(File::Spec) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: perl(File::Path) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: perl(File::Copy) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: perl(File::Basename) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: perl(Fcntl) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: perl(Data::Dumper) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: perl(DBI) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: libaio.so.1(LIBAIO_0.4)(64bit) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: libaio.so.1(LIBAIO_0.1)(64bit) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: /usr/bin/perl のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: libaio.so.1()(64bit) のパッケージ: mysql-community-server-5.6.20-4.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libaio.x86_64 0:0.3.109-12.el7 を インストール
---> パッケージ mysql-community-client.x86_64 0:5.6.20-4.el7 を インストール
--> 依存性の処理をしています: mysql-community-libs(x86-64) = 5.6.20-4.el7 のパッケージ: mysql-community-client-5.6.20-4.el7.x86_64
--> 依存性の処理をしています: perl(Exporter) のパッケージ: mysql-community-client-5.6.20-4.el7.x86_64
---> パッケージ mysql-community-common.x86_64 0:5.6.20-4.el7 を インストール
---> パッケージ perl.x86_64 4:5.16.3-283.el7 を インストール
--> 依存性の処理をしています: perl-libs = 4:5.16.3-283.el7 のパッケージ: 4:perl-5.16.3-283.el7.x86_64
--> 依存性の処理をしています: perl(Socket) >= 1.3 のパッケージ: 4:perl-5.16.3-283.el7.x86_64
--> 依存性の処理をしています: perl(Scalar::Util) >= 1.10 のパッケージ: 4:perl-5.16.3-283.el7.x86_64
--> 依存性の処理をしています: perl-macros のパッケージ: 4:perl-5.16.3-283.el7.x86_64
--> 依存性の処理をしています: perl-libs のパッケージ: 4:perl-5.16.3-283.el7.x86_64
--> 依存性の処理をしています: perl(threads::shared) のパッケージ: 4:perl-5.16.3-283.el7.x86_64
--> 依存性の処理をしています: perl(threads) のパッケージ: 4:perl-5.16.3-283.el7.x86_64
--> 依存性の処理をしています: perl(constant) のパッケージ: 4:perl-5.16.3-283.el7.x86_64
--> 依存性の処理をしています: perl(Time::Local) のパッケージ: 4:perl-5.16.3-283.el7.x86_64
--> 依存性の処理をしています: perl(Storable) のパッケージ: 4:perl-5.16.3-283.el7.x86_64
--> 依存性の処理をしています: perl(Socket) のパッケージ: 4:perl-5.16.3-283.el7.x86_64
--> 依存性の処理をしています: perl(Scalar::Util) のパッケージ: 4:perl-5.16.3-283.el7.x86_64
--> 依存性の処理をしています: perl(Pod::Simple::XHTML) のパッケージ: 4:perl-5.16.3-283.el7.x86_64
--> 依存性の処理をしています: perl(Pod::Simple::Search) のパッケージ: 4:perl-5.16.3-283.el7.x86_64
--> 依存性の処理をしています: perl(Filter::Util::Call) のパッケージ: 4:perl-5.16.3-283.el7.x86_64
--> 依存性の処理をしています: perl(Carp) のパッケージ: 4:perl-5.16.3-283.el7.x86_64
--> 依存性の処理をしています: libperl.so()(64bit) のパッケージ: 4:perl-5.16.3-283.el7.x86_64
---> パッケージ perl-DBI.x86_64 0:1.627-4.el7 を インストール
--> 依存性の処理をしています: perl(RPC::PlServer) >= 0.2001 のパッケージ: perl-DBI-1.627-4.el7.x86_64
--> 依存性の処理をしています: perl(RPC::PlClient) >= 0.2000 のパッケージ: perl-DBI-1.627-4.el7.x86_64
---> パッケージ perl-Data-Dumper.x86_64 0:2.145-3.el7 を インストール
---> パッケージ perl-File-Path.noarch 0:2.09-2.el7 を インストール
---> パッケージ perl-File-Temp.noarch 0:0.23.01-3.el7 を インストール
---> パッケージ perl-Getopt-Long.noarch 0:2.40-2.el7 を インストール
--> 依存性の処理をしています: perl(Pod::Usage) >= 1.14 のパッケージ: perl-Getopt-Long-2.40-2.el7.noarch
--> 依存性の処理をしています: perl(Text::ParseWords) のパッケージ: perl-Getopt-Long-2.40-2.el7.noarch
---> パッケージ perl-PathTools.x86_64 0:3.40-5.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ mariadb-libs.x86_64 1:5.5.37-1.el7_0 を 不要
---> パッケージ mysql-community-libs.x86_64 0:5.6.20-4.el7 を 非推奨
---> パッケージ perl-Carp.noarch 0:1.26-244.el7 を インストール
---> パッケージ perl-Exporter.noarch 0:5.68-3.el7 を インストール
---> パッケージ perl-Filter.x86_64 0:1.49-3.el7 を インストール
---> パッケージ perl-PlRPC.noarch 0:0.2020-14.el7 を インストール
--> 依存性の処理をしています: perl(Net::Daemon) >= 0.13 のパッケージ: perl-PlRPC-0.2020-14.el7.noarch
--> 依存性の処理をしています: perl(Net::Daemon::Test) のパッケージ: perl-PlRPC-0.2020-14.el7.noarch
--> 依存性の処理をしています: perl(Net::Daemon::Log) のパッケージ: perl-PlRPC-0.2020-14.el7.noarch
--> 依存性の処理をしています: perl(Compress::Zlib) のパッケージ: perl-PlRPC-0.2020-14.el7.noarch
---> パッケージ perl-Pod-Simple.noarch 1:3.28-4.el7 を インストール
--> 依存性の処理をしています: perl(Pod::Escapes) >= 1.04 のパッケージ: 1:perl-Pod-Simple-3.28-4.el7.noarch
--> 依存性の処理をしています: perl(Encode) のパッケージ: 1:perl-Pod-Simple-3.28-4.el7.noarch
---> パッケージ perl-Pod-Usage.noarch 0:1.63-3.el7 を インストール
--> 依存性の処理をしています: perl(Pod::Text) >= 3.15 のパッケージ: perl-Pod-Usage-1.63-3.el7.noarch
--> 依存性の処理をしています: perl-Pod-Perldoc のパッケージ: perl-Pod-Usage-1.63-3.el7.noarch
---> パッケージ perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 を インストール
---> パッケージ perl-Socket.x86_64 0:2.010-3.el7 を インストール
---> パッケージ perl-Storable.x86_64 0:2.45-3.el7 を インストール
---> パッケージ perl-Text-ParseWords.noarch 0:3.29-4.el7 を インストール
---> パッケージ perl-Time-Local.noarch 0:1.2300-2.el7 を インストール
---> パッケージ perl-constant.noarch 0:1.27-2.el7 を インストール
---> パッケージ perl-libs.x86_64 4:5.16.3-283.el7 を インストール
---> パッケージ perl-macros.x86_64 4:5.16.3-283.el7 を インストール
---> パッケージ perl-threads.x86_64 0:1.87-4.el7 を インストール
---> パッケージ perl-threads-shared.x86_64 0:1.43-6.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ perl-Encode.x86_64 0:2.51-7.el7 を インストール
---> パッケージ perl-IO-Compress.noarch 0:2.061-2.el7 を インストール
--> 依存性の処理をしています: perl(Compress::Raw::Zlib) >= 2.061 のパッケージ: perl-IO-Compress-2.061-2.el7.noarch
--> 依存性の処理をしています: perl(Compress::Raw::Bzip2) >= 2.061 のパッケージ: perl-IO-Compress-2.061-2.el7.noarch
---> パッケージ perl-Net-Daemon.noarch 0:0.48-5.el7 を インストール
---> パッケージ perl-Pod-Escapes.noarch 1:1.04-283.el7 を インストール
---> パッケージ perl-Pod-Perldoc.noarch 0:3.20-4.el7 を インストール
--> 依存性の処理をしています: perl(parent) のパッケージ: perl-Pod-Perldoc-3.20-4.el7.noarch
--> 依存性の処理をしています: perl(HTTP::Tiny) のパッケージ: perl-Pod-Perldoc-3.20-4.el7.noarch
---> パッケージ perl-podlators.noarch 0:2.5.1-3.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 を インストール
---> パッケージ perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 を インストール
---> パッケージ perl-HTTP-Tiny.noarch 0:0.033-3.el7 を インストール
---> パッケージ perl-parent.noarch 1:0.225-244.el7 を インストール
--> 依存性解決を終了しました。
 
依存性を解決しました
 
==============================================================================================================
 Package                          アーキテクチャー
                                                  バージョン                 リポジトリー                容量
==============================================================================================================
インストール中:
 mysql-community-libs             x86_64          5.6.20-4.el7               mysql56-community          2.0 M
     mariadb-libs.x86_64 1:5.5.37-1.el7_0 を入れ替えます
 mysql-community-server           x86_64          5.6.20-4.el7               mysql56-community           57 M
依存性関連でのインストールをします:
 libaio                           x86_64          0.3.109-12.el7             base                        24 k
 mysql-community-client           x86_64          5.6.20-4.el7               mysql56-community           19 M
 mysql-community-common           x86_64          5.6.20-4.el7               mysql56-community          248 k
 perl                             x86_64          4:5.16.3-283.el7           base                       8.0 M
 perl-Carp                        noarch          1.26-244.el7               base                        19 k
 perl-Compress-Raw-Bzip2          x86_64          2.061-3.el7                base                        32 k
 perl-Compress-Raw-Zlib           x86_64          1:2.061-4.el7              base                        57 k
 perl-DBI                         x86_64          1.627-4.el7                base                       802 k
 perl-Data-Dumper                 x86_64          2.145-3.el7                base                        47 k
 perl-Encode                      x86_64          2.51-7.el7                 base                       1.5 M
 perl-Exporter                    noarch          5.68-3.el7                 base                        28 k
 perl-File-Path                   noarch          2.09-2.el7                 base                        26 k
 perl-File-Temp                   noarch          0.23.01-3.el7              base                        56 k
 perl-Filter                      x86_64          1.49-3.el7                 base                        76 k
 perl-Getopt-Long                 noarch          2.40-2.el7                 base                        56 k
 perl-HTTP-Tiny                   noarch          0.033-3.el7                base                        38 k
 perl-IO-Compress                 noarch          2.061-2.el7                base                       260 k
 perl-Net-Daemon                  noarch          0.48-5.el7                 base                        51 k
 perl-PathTools                   x86_64          3.40-5.el7                 base                        82 k
 perl-PlRPC                       noarch          0.2020-14.el7              base                        36 k
 perl-Pod-Escapes                 noarch          1:1.04-283.el7             base                        49 k
 perl-Pod-Perldoc                 noarch          3.20-4.el7                 base                        87 k
 perl-Pod-Simple                  noarch          1:3.28-4.el7               base                       216 k
 perl-Pod-Usage                   noarch          1.63-3.el7                 base                        27 k
 perl-Scalar-List-Utils           x86_64          1.27-248.el7               base                        36 k
 perl-Socket                      x86_64          2.010-3.el7                base                        49 k
 perl-Storable                    x86_64          2.45-3.el7                 base                        77 k
 perl-Text-ParseWords             noarch          3.29-4.el7                 base                        14 k
 perl-Time-Local                  noarch          1.2300-2.el7               base                        24 k
 perl-constant                    noarch          1.27-2.el7                 base                        19 k
 perl-libs                        x86_64          4:5.16.3-283.el7           base                       686 k
 perl-macros                      x86_64          4:5.16.3-283.el7           base                        42 k
 perl-parent                      noarch          1:0.225-244.el7            base                        12 k
 perl-podlators                   noarch          2.5.1-3.el7                base                       112 k
 perl-threads                     x86_64          1.87-4.el7                 base                        49 k
 perl-threads-shared              x86_64          1.43-6.el7                 base                        39 k
 
トランザクションの要約
==============================================================================================================
インストール  2 パッケージ (+36 個の依存関係のパッケージ)
 
総ダウンロード容量: 91 M
Is this ok [y/d/N]: y
Downloading packages:
警告: /var/cache/yum/x86_64/7/base/packages/libaio-0.3.109-12.el7.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID f4a80eb5: NOKEY
libaio-0.3.109-12.el7.x86_64.rpm の公開鍵がインストールされていません
(1/38): libaio-0.3.109-12.el7.x86_64.rpm                                               |  24 kB  00:00:00     
警告: /var/cache/yum/x86_64/7/mysql56-community/packages/mysql-community-common-5.6.20-4.el7.x86_64.rpm: V3 DSA/SHA1 Signature、鍵 ID 5072e1f5: NOKEY
mysql-community-common-5.6.20-4.el7.x86_64.rpm の公開鍵がインストールされていません
(2/38): mysql-community-common-5.6.20-4.el7.x86_64.rpm                                 | 248 kB  00:00:06     
(3/38): mysql-community-libs-5.6.20-4.el7.x86_64.rpm                                   | 2.0 MB  00:00:00     
(4/38): perl-Carp-1.26-244.el7.noarch.rpm                                              |  19 kB  00:00:00     
(5/38): perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm                                  |  57 kB  00:00:00     
(6/38): perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm                                 |  32 kB  00:00:00     
(7/38): perl-Data-Dumper-2.145-3.el7.x86_64.rpm                                        |  47 kB  00:00:00     
(8/38): perl-DBI-1.627-4.el7.x86_64.rpm                                                | 802 kB  00:00:00     
(9/38): perl-Exporter-5.68-3.el7.noarch.rpm                                            |  28 kB  00:00:00     
(10/38): perl-File-Path-2.09-2.el7.noarch.rpm                                          |  26 kB  00:00:00     
(11/38): perl-File-Temp-0.23.01-3.el7.noarch.rpm                                       |  56 kB  00:00:00     
(12/38): perl-Filter-1.49-3.el7.x86_64.rpm                                             |  76 kB  00:00:00     
(13/38): perl-Getopt-Long-2.40-2.el7.noarch.rpm                                        |  56 kB  00:00:00     
(14/38): perl-HTTP-Tiny-0.033-3.el7.noarch.rpm                                         |  38 kB  00:00:00     
(15/38): perl-Encode-2.51-7.el7.x86_64.rpm                                             | 1.5 MB  00:00:00     
(16/38): perl-IO-Compress-2.061-2.el7.noarch.rpm                                       | 260 kB  00:00:00     
(17/38): perl-Net-Daemon-0.48-5.el7.noarch.rpm                                         |  51 kB  00:00:00     
(18/38): perl-PathTools-3.40-5.el7.x86_64.rpm                                          |  82 kB  00:00:00     
(19/38): perl-PlRPC-0.2020-14.el7.noarch.rpm                                           |  36 kB  00:00:00     
(20/38): perl-Pod-Escapes-1.04-283.el7.noarch.rpm                                      |  49 kB  00:00:00     
(21/38): perl-Pod-Perldoc-3.20-4.el7.noarch.rpm                                        |  87 kB  00:00:00     
(22/38): perl-Pod-Simple-3.28-4.el7.noarch.rpm                                         | 216 kB  00:00:00     
(23/38): perl-Pod-Usage-1.63-3.el7.noarch.rpm                                          |  27 kB  00:00:00     
(24/38): perl-Scalar-List-Utils-1.27-248.el7.x86_64.rpm                                |  36 kB  00:00:00     
(25/38): perl-Socket-2.010-3.el7.x86_64.rpm                                            |  49 kB  00:00:00     
(26/38): perl-Storable-2.45-3.el7.x86_64.rpm                                           |  77 kB  00:00:00     
(27/38): perl-Text-ParseWords-3.29-4.el7.noarch.rpm                                    |  14 kB  00:00:00     
(28/38): perl-Time-Local-1.2300-2.el7.noarch.rpm                                       |  24 kB  00:00:00     
(29/38): perl-constant-1.27-2.el7.noarch.rpm                                           |  19 kB  00:00:00     
(30/38): perl-5.16.3-283.el7.x86_64.rpm                                                | 8.0 MB  00:00:02     
(31/38): perl-macros-5.16.3-283.el7.x86_64.rpm                                         |  42 kB  00:00:00     
(32/38): perl-libs-5.16.3-283.el7.x86_64.rpm                                           | 686 kB  00:00:00     
(33/38): perl-parent-0.225-244.el7.noarch.rpm                                          |  12 kB  00:00:00     
(34/38): perl-podlators-2.5.1-3.el7.noarch.rpm                                         | 112 kB  00:00:00     
(35/38): perl-threads-1.87-4.el7.x86_64.rpm                                            |  49 kB  00:00:00     
(36/38): perl-threads-shared-1.43-6.el7.x86_64.rpm                                     |  39 kB  00:00:00     
(37/38): mysql-community-server-5.6.20-4.el7.x86_64.rpm                                |  57 MB  00:00:06     
(38/38): mysql-community-client-5.6.20-4.el7.x86_64.rpm                                |  19 MB  00:00:53     
--------------------------------------------------------------------------------------------------------------
合計                                                                          1.7 MB/s |  91 MB  00:00:53     
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) "
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-0.1406.el7.centos.2.4.x86_64 (@CentOS-7-update)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
上記の処理を行います。よろしいでしょうか? [y/N]y
file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql から鍵を取得中です。
Importing GPG key 0x5072E1F5:
 Userid     : "MySQL Release Engineering "
 Fingerprint: a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5
 Package    : mysql-community-release-el7-5.noarch (@/mysql-community-release-el7-5.noarch)
 From       : file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
上記の処理を行います。よろしいでしょうか? [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : mysql-community-common-5.6.20-4.el7.x86_64                                   1/39 
  インストール中          : mysql-community-libs-5.6.20-4.el7.x86_64                                     2/39 
  インストール中          : 1:perl-parent-0.225-244.el7.noarch                                           3/39 
  インストール中          : perl-HTTP-Tiny-0.033-3.el7.noarch                                            4/39 
  インストール中          : perl-podlators-2.5.1-3.el7.noarch                                            5/39 
  インストール中          : perl-Pod-Perldoc-3.20-4.el7.noarch                                           6/39 
  インストール中          : 1:perl-Pod-Escapes-1.04-283.el7.noarch                                       7/39 
  インストール中          : perl-Text-ParseWords-3.29-4.el7.noarch                                       8/39 
  インストール中          : perl-Encode-2.51-7.el7.x86_64                                                9/39 
  インストール中          : perl-Pod-Usage-1.63-3.el7.noarch                                            10/39 
  インストール中          : 4:perl-libs-5.16.3-283.el7.x86_64                                           11/39 
  インストール中          : 4:perl-macros-5.16.3-283.el7.x86_64                                         12/39 
  インストール中          : perl-Storable-2.45-3.el7.x86_64                                             13/39 
  インストール中          : perl-Exporter-5.68-3.el7.noarch                                             14/39 
  インストール中          : perl-constant-1.27-2.el7.noarch                                             15/39 
  インストール中          : perl-Time-Local-1.2300-2.el7.noarch                                         16/39 
  インストール中          : perl-Socket-2.010-3.el7.x86_64                                              17/39 
  インストール中          : perl-Carp-1.26-244.el7.noarch                                               18/39 
  インストール中          : perl-PathTools-3.40-5.el7.x86_64                                            19/39 
  インストール中          : perl-Scalar-List-Utils-1.27-248.el7.x86_64                                  20/39 
  インストール中          : perl-File-Temp-0.23.01-3.el7.noarch                                         21/39 
  インストール中          : perl-File-Path-2.09-2.el7.noarch                                            22/39 
  インストール中          : perl-threads-shared-1.43-6.el7.x86_64                                       23/39 
  インストール中          : perl-threads-1.87-4.el7.x86_64                                              24/39 
  インストール中          : perl-Filter-1.49-3.el7.x86_64                                               25/39 
  インストール中          : 1:perl-Pod-Simple-3.28-4.el7.noarch                                         26/39 
  インストール中          : perl-Getopt-Long-2.40-2.el7.noarch                                          27/39 
  インストール中          : 4:perl-5.16.3-283.el7.x86_64                                                28/39 
  インストール中          : perl-Data-Dumper-2.145-3.el7.x86_64                                         29/39 
  インストール中          : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64                                  30/39 
  インストール中          : perl-Net-Daemon-0.48-5.el7.noarch                                           31/39 
  インストール中          : mysql-community-client-5.6.20-4.el7.x86_64                                  32/39 
  インストール中          : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64                                 33/39 
  インストール中          : perl-IO-Compress-2.061-2.el7.noarch                                         34/39 
  インストール中          : perl-PlRPC-0.2020-14.el7.noarch                                             35/39 
  インストール中          : perl-DBI-1.627-4.el7.x86_64                                                 36/39 
  インストール中          : libaio-0.3.109-12.el7.x86_64                                                37/39 
  インストール中          : mysql-community-server-5.6.20-4.el7.x86_64                                  38/39 
  削除中                  : 1:mariadb-libs-5.5.37-1.el7_0.x86_64                                        39/39 
  検証中                  : perl-HTTP-Tiny-0.033-3.el7.noarch                                            1/39 
  検証中                  : mysql-community-common-5.6.20-4.el7.x86_64                                   2/39 
  検証中                  : perl-threads-shared-1.43-6.el7.x86_64                                        3/39 
  検証中                  : perl-Storable-2.45-3.el7.x86_64                                              4/39 
  検証中                  : perl-IO-Compress-2.061-2.el7.noarch                                          5/39 
  検証中                  : perl-Exporter-5.68-3.el7.noarch                                              6/39 
  検証中                  : perl-constant-1.27-2.el7.noarch                                              7/39 
  検証中                  : perl-PathTools-3.40-5.el7.x86_64                                             8/39 
  検証中                  : 1:perl-Pod-Escapes-1.04-283.el7.noarch                                       9/39 
  検証中                  : libaio-0.3.109-12.el7.x86_64                                                10/39 
  検証中                  : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64                                  11/39 
  検証中                  : 1:perl-parent-0.225-244.el7.noarch                                          12/39 
  検証中                  : perl-Net-Daemon-0.48-5.el7.noarch                                           13/39 
  検証中                  : 1:perl-Pod-Simple-3.28-4.el7.noarch                                         14/39 
  検証中                  : perl-File-Temp-0.23.01-3.el7.noarch                                         15/39 
  検証中                  : 4:perl-libs-5.16.3-283.el7.x86_64                                           16/39 
  検証中                  : perl-Time-Local-1.2300-2.el7.noarch                                         17/39 
  検証中                  : mysql-community-client-5.6.20-4.el7.x86_64                                  18/39 
  検証中                  : perl-DBI-1.627-4.el7.x86_64                                                 19/39 
  検証中                  : perl-Socket-2.010-3.el7.x86_64                                              20/39 
  検証中                  : 4:perl-macros-5.16.3-283.el7.x86_64                                         21/39 
  検証中                  : 4:perl-5.16.3-283.el7.x86_64                                                22/39 
  検証中                  : perl-Carp-1.26-244.el7.noarch                                               23/39 
  検証中                  : perl-Data-Dumper-2.145-3.el7.x86_64                                         24/39 
  検証中                  : perl-podlators-2.5.1-3.el7.noarch                                           25/39 
  検証中                  : perl-Scalar-List-Utils-1.27-248.el7.x86_64                                  26/39 
  検証中                  : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64                                 27/39 
  検証中                  : perl-Pod-Usage-1.63-3.el7.noarch                                            28/39 
  検証中                  : perl-PlRPC-0.2020-14.el7.noarch                                             29/39 
  検証中                  : perl-Encode-2.51-7.el7.x86_64                                               30/39 
  検証中                  : mysql-community-server-5.6.20-4.el7.x86_64                                  31/39 
  検証中                  : perl-Getopt-Long-2.40-2.el7.noarch                                          32/39 
  検証中                  : perl-File-Path-2.09-2.el7.noarch                                            33/39 
  検証中                  : perl-threads-1.87-4.el7.x86_64                                              34/39 
  検証中                  : perl-Filter-1.49-3.el7.x86_64                                               35/39 
  検証中                  : perl-Pod-Perldoc-3.20-4.el7.noarch                                          36/39 
  検証中                  : perl-Text-ParseWords-3.29-4.el7.noarch                                      37/39 
  検証中                  : mysql-community-libs-5.6.20-4.el7.x86_64                                    38/39 
  検証中                  : 1:mariadb-libs-5.5.37-1.el7_0.x86_64                                        39/39 
 
インストール:
  mysql-community-libs.x86_64 0:5.6.20-4.el7           mysql-community-server.x86_64 0:5.6.20-4.el7          
 
依存性関連をインストールしました:
  libaio.x86_64 0:0.3.109-12.el7                        mysql-community-client.x86_64 0:5.6.20-4.el7         
  mysql-community-common.x86_64 0:5.6.20-4.el7          perl.x86_64 4:5.16.3-283.el7                         
  perl-Carp.noarch 0:1.26-244.el7                       perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7         
  perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7           perl-DBI.x86_64 0:1.627-4.el7                        
  perl-Data-Dumper.x86_64 0:2.145-3.el7                 perl-Encode.x86_64 0:2.51-7.el7                      
  perl-Exporter.noarch 0:5.68-3.el7                     perl-File-Path.noarch 0:2.09-2.el7                   
  perl-File-Temp.noarch 0:0.23.01-3.el7                 perl-Filter.x86_64 0:1.49-3.el7                      
  perl-Getopt-Long.noarch 0:2.40-2.el7                  perl-HTTP-Tiny.noarch 0:0.033-3.el7                  
  perl-IO-Compress.noarch 0:2.061-2.el7                 perl-Net-Daemon.noarch 0:0.48-5.el7                  
  perl-PathTools.x86_64 0:3.40-5.el7                    perl-PlRPC.noarch 0:0.2020-14.el7                    
  perl-Pod-Escapes.noarch 1:1.04-283.el7                perl-Pod-Perldoc.noarch 0:3.20-4.el7                 
  perl-Pod-Simple.noarch 1:3.28-4.el7                   perl-Pod-Usage.noarch 0:1.63-3.el7                   
  perl-Scalar-List-Utils.x86_64 0:1.27-248.el7          perl-Socket.x86_64 0:2.010-3.el7                     
  perl-Storable.x86_64 0:2.45-3.el7                     perl-Text-ParseWords.noarch 0:3.29-4.el7             
  perl-Time-Local.noarch 0:1.2300-2.el7                 perl-constant.noarch 0:1.27-2.el7                    
  perl-libs.x86_64 4:5.16.3-283.el7                     perl-macros.x86_64 4:5.16.3-283.el7                  
  perl-parent.noarch 1:0.225-244.el7                    perl-podlators.noarch 0:2.5.1-3.el7                  
  perl-threads.x86_64 0:1.87-4.el7                      perl-threads-shared.x86_64 0:1.43-6.el7              
 
置換:
  mariadb-libs.x86_64 1:5.5.37-1.el7_0                                                                        
 
完了しました!
再度、yumのインストール状態を確認します。 mysqlが増えてmariadbのがなくなっていますね。
# yum list installed
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
インストール済みパッケージ
ModemManager-glib.x86_64                   1.1.0-6.git20130913.el7                @CentOS-7                   
NetworkManager.x86_64                      1:0.9.9.1-25.git20140326.4dba720.el7_0 @CentOS-7-update            
NetworkManager-glib.x86_64                 1:0.9.9.1-25.git20140326.4dba720.el7_0 @CentOS-7-update            
NetworkManager-tui.x86_64                  1:0.9.9.1-25.git20140326.4dba720.el7_0 @CentOS-7-update            
acl.x86_64                                 2.2.51-12.el7                          @CentOS-7                   
aic94xx-firmware.noarch                    30-6.el7                               @CentOS-7                   
alsa-firmware.noarch                       1.0.27-2.el7                           @CentOS-7                   
alsa-lib.x86_64                            1.0.27.2-3.el7                         @CentOS-7                   
alsa-tools-firmware.x86_64                 1.0.27-4.el7                           @CentOS-7                   
audit.x86_64                               2.3.3-4.el7                            @CentOS-7                   
audit-libs.x86_64                          2.3.3-4.el7                            @CentOS-7                   
authconfig.x86_64                          6.2.8-8.el7                            @CentOS-7                   
avahi.x86_64                               0.6.31-13.el7                          @CentOS-7                   
avahi-autoipd.x86_64                       0.6.31-13.el7                          @CentOS-7                   
avahi-libs.x86_64                          0.6.31-13.el7                          @CentOS-7                   
basesystem.noarch                          10.0-7.el7.centos                      @CentOS-7                   
bash.x86_64                                4.2.45-5.el7                           @CentOS-7                   
bind-libs-lite.x86_64                      32:9.9.4-14.el7                        @CentOS-7                   
bind-license.noarch                        32:9.9.4-14.el7                        @CentOS-7                   
binutils.x86_64                            2.23.52.0.1-16.el7                     @CentOS-7                   
biosdevname.x86_64                         0.5.0-10.el7                           @CentOS-7                   
btrfs-progs.x86_64                         3.12-4.el7                             @CentOS-7                   
bzip2-libs.x86_64                          1.0.6-12.el7                           @CentOS-7                   
ca-certificates.noarch                     2013.1.95-71.el7                       @CentOS-7                   
centos-logos.noarch                        70.0.6-1.el7.centos                    @CentOS-7                   
centos-release.x86_64                      7-0.1406.el7.centos.2.4                @CentOS-7-update            
chkconfig.x86_64                           1.3.61-4.el7                           @CentOS-7                   
chrony.x86_64                              1.29.1-1.el7.centos                    @CentOS-7                   
coreutils.x86_64                           8.22-11.el7                            @CentOS-7                   
cpio.x86_64                                2.11-22.el7                            @CentOS-7                   
cracklib.x86_64                            2.9.0-11.el7                           @CentOS-7                   
cracklib-dicts.x86_64                      2.9.0-11.el7                           @CentOS-7                   
cronie.x86_64                              1.4.11-11.el7                          @CentOS-7                   
cronie-anacron.x86_64                      1.4.11-11.el7                          @CentOS-7                   
crontabs.noarch                            1.11-6.20121102git.el7                 @CentOS-7                   
cryptsetup-libs.x86_64                     1.6.3-2.el7                            @CentOS-7                   
curl.x86_64                                7.29.0-19.el7                          @CentOS-7                   
cyrus-sasl-lib.x86_64                      2.1.26-17.el7                          @CentOS-7                   
dbus.x86_64                                1:1.6.12-8.el7                         @CentOS-7                   
dbus-glib.x86_64                           0.100-7.el7                            @CentOS-7                   
dbus-libs.x86_64                           1:1.6.12-8.el7                         @CentOS-7                   
dbus-python.x86_64                         1.1.1-9.el7                            @CentOS-7                   
device-mapper.x86_64                       7:1.02.84-14.el7                       @CentOS-7                   
device-mapper-event.x86_64                 7:1.02.84-14.el7                       @CentOS-7                   
device-mapper-event-libs.x86_64            7:1.02.84-14.el7                       @CentOS-7                   
device-mapper-libs.x86_64                  7:1.02.84-14.el7                       @CentOS-7                   
device-mapper-persistent-data.x86_64       0.3.2-1.el7                            @CentOS-7                   
dhclient.x86_64                            12:4.2.5-27.el7.centos                 @CentOS-7                   
dhcp-common.x86_64                         12:4.2.5-27.el7.centos                 @CentOS-7                   
dhcp-libs.x86_64                           12:4.2.5-27.el7.centos                 @CentOS-7                   
diffutils.x86_64                           3.3-4.el7                              @CentOS-7                   
dmidecode.x86_64                           1:2.12-5.el7                           @CentOS-7                   
dnsmasq.x86_64                             2.66-12.el7                            @CentOS-7                   
dracut.x86_64                              033-161.el7                            @CentOS-7                   
dracut-config-rescue.x86_64                033-161.el7                            @CentOS-7                   
dracut-network.x86_64                      033-161.el7                            @CentOS-7                   
e2fsprogs.x86_64                           1.42.9-4.el7                           @CentOS-7                   
e2fsprogs-libs.x86_64                      1.42.9-4.el7                           @CentOS-7                   
ebtables.x86_64                            2.0.10-13.el7                          @CentOS-7                   
elfutils-libelf.x86_64                     0.158-3.el7                            @CentOS-7                   
elfutils-libs.x86_64                       0.158-3.el7                            @CentOS-7                   
ethtool.x86_64                             2:3.8-3.el7                            @CentOS-7                   
expat.x86_64                               2.1.0-8.el7                            @CentOS-7                   
file.x86_64                                5.11-21.el7                            @CentOS-7                   
file-libs.x86_64                           5.11-21.el7                            @CentOS-7                   
filesystem.x86_64                          3.2-18.el7                             @CentOS-7                   
findutils.x86_64                           1:4.5.11-3.el7                         @CentOS-7                   
fipscheck.x86_64                           1.4.1-5.el7                            @CentOS-7                   
fipscheck-lib.x86_64                       1.4.1-5.el7                            @CentOS-7                   
firewalld.noarch                           0.3.9-7.el7                            @CentOS-7                   
freetype.x86_64                            2.4.11-9.el7                           @CentOS-7                   
fxload.x86_64                              2002_04_11-16.el7                      @CentOS-7                   
gawk.x86_64                                4.0.2-4.el7                            @CentOS-7                   
gdbm.x86_64                                1.10-8.el7                             @CentOS-7                   
gettext.x86_64                             0.18.2.1-4.el7                         @CentOS-7                   
gettext-libs.x86_64                        0.18.2.1-4.el7                         @CentOS-7                   
glib-networking.x86_64                     2.36.2-3.el7                           @CentOS-7                   
glib2.x86_64                               2.36.3-5.el7                           @CentOS-7                   
glibc.x86_64                               2.17-55.el7                            @CentOS-7                   
glibc-common.x86_64                        2.17-55.el7                            @CentOS-7                   
gmp.x86_64                                 1:5.1.1-5.el7                          @CentOS-7                   
gnupg2.x86_64                              2.0.22-3.el7                           @CentOS-7                   
gnutls.x86_64                              3.1.18-9.el7_0                         @CentOS-7-update            
gobject-introspection.x86_64               1.36.0-4.el7                           @CentOS-7                   
gpgme.x86_64                               1.3.2-5.el7                            @CentOS-7                   
grep.x86_64                                2.16-1.el7                             @CentOS-7                   
groff-base.x86_64                          1.22.2-8.el7                           @CentOS-7                   
grub2.x86_64                               1:2.02-0.2.10.el7.centos.1             @CentOS-7                   
grub2-tools.x86_64                         1:2.02-0.2.10.el7.centos.1             @CentOS-7                   
grubby.x86_64                              8.28-8.el7                             @CentOS-7                   
gsettings-desktop-schemas.x86_64           3.8.2-3.el7                            @CentOS-7                   
gzip.x86_64                                1.5-7.el7                              @CentOS-7                   
hardlink.x86_64                            1:1.0-19.el7                           @CentOS-7                   
hostname.x86_64                            3.13-3.el7                             @CentOS-7                   
hwdata.noarch                              0.252-7.3.el7                          @CentOS-7                   
info.x86_64                                5.1-4.el7                              @CentOS-7                   
initscripts.x86_64                         9.49.17-1.el7                          @CentOS-7                   
iproute.x86_64                             3.10.0-13.el7                          @CentOS-7                   
iprutils.x86_64                            2.3.16-4.el7                           @CentOS-7                   
iptables.x86_64                            1.4.21-13.el7                          @CentOS-7                   
iputils.x86_64                             20121221-6.el7                         @CentOS-7                   
irqbalance.x86_64                          2:1.0.6-5.el7                          @CentOS-7                   
ivtv-firmware.noarch                       2:20080701-26.el7                      @CentOS-7                   
iwl100-firmware.noarch                     39.31.5.1-34.el7                       @CentOS-7                   
iwl1000-firmware.noarch                    1:39.31.5.1-34.el7                     @CentOS-7                   
iwl105-firmware.noarch                     18.168.6.1-34.el7                      @CentOS-7                   
iwl135-firmware.noarch                     18.168.6.1-34.el7                      @CentOS-7                   
iwl2000-firmware.noarch                    18.168.6.1-34.el7                      @CentOS-7                   
iwl2030-firmware.noarch                    18.168.6.1-34.el7                      @CentOS-7                   
iwl3160-firmware.noarch                    22.0.7.0-34.el7                        @CentOS-7                   
iwl3945-firmware.noarch                    15.32.2.9-34.el7                       @CentOS-7                   
iwl4965-firmware.noarch                    228.61.2.24-34.el7                     @CentOS-7                   
iwl5000-firmware.noarch                    8.83.5.1_1-34.el7                      @CentOS-7                   
iwl5150-firmware.noarch                    8.24.2.2-34.el7                        @CentOS-7                   
iwl6000-firmware.noarch                    9.221.4.1-34.el7                       @CentOS-7                   
iwl6000g2a-firmware.noarch                 17.168.5.3-34.el7                      @CentOS-7                   
iwl6000g2b-firmware.noarch                 17.168.5.2-34.el7                      @CentOS-7                   
iwl6050-firmware.noarch                    41.28.5.1-34.el7                       @CentOS-7                   
iwl7260-firmware.noarch                    22.0.7.0-34.el7                        @CentOS-7                   
jansson.x86_64                             2.4-6.el7                              @CentOS-7                   
json-c.x86_64                              0.11-4.el7_0                           @CentOS-7-update            
kbd.x86_64                                 1.15.5-10.el7                          @CentOS-7                   
kbd-misc.noarch                            1.15.5-10.el7                          @CentOS-7                   
kernel.x86_64                              3.10.0-123.6.3.el7                     @CentOS-7-update            
kernel-tools.x86_64                        3.10.0-123.6.3.el7                     @CentOS-7-update            
kernel-tools-libs.x86_64                   3.10.0-123.6.3.el7                     @CentOS-7-update            
kexec-tools.x86_64                         2.0.4-32.el7.centos.2                  @CentOS-7-update            
keyutils-libs.x86_64                       1.5.8-3.el7                            @CentOS-7                   
kmod.x86_64                                14-9.el7                               @CentOS-7                   
kmod-libs.x86_64                           14-9.el7                               @CentOS-7                   
kpartx.x86_64                              0.4.9-66.el7                           @CentOS-7                   
krb5-libs.x86_64                           1.11.3-49.el7                          @CentOS-7                   
less.x86_64                                458-8.el7                              @CentOS-7                   
libacl.x86_64                              2.2.51-12.el7                          @CentOS-7                   
libaio.x86_64                              0.3.109-12.el7                         @base                       
libassuan.x86_64                           2.1.0-3.el7                            @CentOS-7                   
libattr.x86_64                             2.4.46-12.el7                          @CentOS-7                   
libblkid.x86_64                            2.23.2-16.el7                          @CentOS-7                   
libcap.x86_64                              2.22-8.el7                             @CentOS-7                   
libcap-ng.x86_64                           0.7.3-5.el7                            @CentOS-7                   
libcom_err.x86_64                          1.42.9-4.el7                           @CentOS-7                   
libcroco.x86_64                            0.6.8-5.el7                            @CentOS-7                   
libcurl.x86_64                             7.29.0-19.el7                          @CentOS-7                   
libdaemon.x86_64                           0.14-7.el7                             @CentOS-7                   
libdb.x86_64                               5.3.21-17.el7_0.1                      @CentOS-7-update            
libdb-utils.x86_64                         5.3.21-17.el7_0.1                      @CentOS-7-update            
libdrm.x86_64                              2.4.50-1.1.el7                         @CentOS-7                   
libedit.x86_64                             3.0-12.20121213cvs.el7                 @CentOS-7                   
libertas-sd8686-firmware.noarch            20140213-0.3.git4164c23.el7            @CentOS-7                   
libertas-sd8787-firmware.noarch            20140213-0.3.git4164c23.el7            @CentOS-7                   
libertas-usb8388-firmware.noarch           2:20140213-0.3.git4164c23.el7          @CentOS-7                   
libestr.x86_64                             0.1.9-2.el7                            @CentOS-7                   
libffi.x86_64                              3.0.13-11.el7                          @CentOS-7                   
libgcc.x86_64                              4.8.2-16.el7                           @CentOS-7                   
libgcrypt.x86_64                           1.5.3-4.el7                            @CentOS-7                   
libgomp.x86_64                             4.8.2-16.el7                           @CentOS-7                   
libgpg-error.x86_64                        1.12-3.el7                             @CentOS-7                   
libgudev1.x86_64                           208-11.el7_0.2                         @CentOS-7-update            
libidn.x86_64                              1.28-3.el7                             @CentOS-7                   
libmnl.x86_64                              1.0.3-7.el7                            @CentOS-7                   
libmodman.x86_64                           2.0.1-8.el7                            @CentOS-7                   
libmount.x86_64                            2.23.2-16.el7                          @CentOS-7                   
libndp.x86_64                              1.2-4.el7                              @CentOS-7                   
libnetfilter_conntrack.x86_64              1.0.4-2.el7                            @CentOS-7                   
libnfnetlink.x86_64                        1.0.1-4.el7                            @CentOS-7                   
libnl3.x86_64                              3.2.21-6.el7                           @CentOS-7                   
libnl3-cli.x86_64                          3.2.21-6.el7                           @CentOS-7                   
libpcap.x86_64                             14:1.5.3-3.el7                         @CentOS-7                   
libpciaccess.x86_64                        0.13.1-4.1.el7                         @CentOS-7                   
libpipeline.x86_64                         1.2.3-3.el7                            @CentOS-7                   
libproxy.x86_64                            0.4.11-6.el7                           @CentOS-7                   
libpwquality.x86_64                        1.2.3-4.el7                            @CentOS-7                   
libselinux.x86_64                          2.2.2-6.el7                            @CentOS-7                   
libselinux-python.x86_64                   2.2.2-6.el7                            @CentOS-7                   
libselinux-utils.x86_64                    2.2.2-6.el7                            @CentOS-7                   
libsemanage.x86_64                         2.1.10-16.el7                          @CentOS-7                   
libsepol.x86_64                            2.1.9-3.el7                            @CentOS-7                   
libsoup.x86_64                             2.42.2-3.el7                           @CentOS-7                   
libss.x86_64                               1.42.9-4.el7                           @CentOS-7                   
libssh2.x86_64                             1.4.3-8.el7                            @CentOS-7                   
libstdc++.x86_64                           4.8.2-16.el7                           @CentOS-7                   
libsysfs.x86_64                            2.1.0-16.el7                           @CentOS-7                   
libtasn1.x86_64                            3.3-5.el7_0                            @CentOS-7-update            
libteam.x86_64                             1.9-15.el7                             @CentOS-7                   
libunistring.x86_64                        0.9.3-9.el7                            @CentOS-7                   
libuser.x86_64                             0.60-5.el7                             @CentOS-7                   
libutempter.x86_64                         1.1.6-4.el7                            @CentOS-7                   
libuuid.x86_64                             2.23.2-16.el7                          @CentOS-7                   
libverto.x86_64                            0.2.5-4.el7                            @CentOS-7                   
libxml2.x86_64                             2.9.1-5.el7                            @CentOS-7                   
linux-firmware.noarch                      20140213-0.3.git4164c23.el7            @CentOS-7                   
logrotate.x86_64                           3.8.6-4.el7                            @CentOS-7                   
lua.x86_64                                 5.1.4-14.el7                           @CentOS-7                   
lvm2.x86_64                                7:2.02.105-14.el7                      @CentOS-7                   
lvm2-libs.x86_64                           7:2.02.105-14.el7                      @CentOS-7                   
lzo.x86_64                                 2.06-6.el7_0.2                         @CentOS-7-update            
make.x86_64                                1:3.82-21.el7                          @CentOS-7                   
man-db.x86_64                              2.6.3-9.el7                            @CentOS-7                   
microcode_ctl.x86_64                       2:2.1-7.1.el7_0.2                      @CentOS-7-update            
mozjs17.x86_64                             17.0.0-10.el7                          @CentOS-7                   
mysql-community-client.x86_64              5.6.20-4.el7                           @mysql56-community          
mysql-community-common.x86_64              5.6.20-4.el7                           @mysql56-community          
mysql-community-libs.x86_64                5.6.20-4.el7                           @mysql56-community          
mysql-community-release.noarch             el7-5                                  @/mysql-community-release-el7-5.noarch
mysql-community-server.x86_64              5.6.20-4.el7                           @mysql56-community          
ncurses.x86_64                             5.9-13.20130511.el7                    @CentOS-7                   
ncurses-base.noarch                        5.9-13.20130511.el7                    @CentOS-7                   
ncurses-libs.x86_64                        5.9-13.20130511.el7                    @CentOS-7                   
net-tools.x86_64                           2.0-0.17.20131004git.el7               @CentOS-7                   
nettle.x86_64                              2.7.1-2.el7                            @CentOS-7                   
newt.x86_64                                0.52.15-4.el7                          @CentOS-7                   
newt-python.x86_64                         0.52.15-4.el7                          @CentOS-7                   
nspr.x86_64                                4.10.6-1.el7_0                         @CentOS-7-update            
nss.x86_64                                 3.15.4-7.el7_0                         @CentOS-7-update            
nss-softokn.x86_64                         3.15.4-2.el7                           @CentOS-7                   
nss-softokn-freebl.x86_64                  3.15.4-2.el7                           @CentOS-7                   
nss-sysinit.x86_64                         3.15.4-7.el7_0                         @CentOS-7-update            
nss-tools.x86_64                           3.15.4-7.el7_0                         @CentOS-7-update            
nss-util.x86_64                            3.15.4-2.el7                           @CentOS-7                   
numactl-libs.x86_64                        2.0.9-2.el7                            @CentOS-7                   
openldap.x86_64                            2.4.39-3.el7                           @CentOS-7                   
openssh.x86_64                             6.4p1-8.el7                            @CentOS-7                   
openssh-clients.x86_64                     6.4p1-8.el7                            @CentOS-7                   
openssh-server.x86_64                      6.4p1-8.el7                            @CentOS-7                   
openssl.x86_64                             1:1.0.1e-34.el7_0.4                    @CentOS-7-update            
openssl-libs.x86_64                        1:1.0.1e-34.el7_0.4                    @CentOS-7-update            
os-prober.x86_64                           1.58-5.el7                             @CentOS-7                   
p11-kit.x86_64                             0.18.7-4.el7                           @CentOS-7                   
p11-kit-trust.x86_64                       0.18.7-4.el7                           @CentOS-7                   
pam.x86_64                                 1.1.8-9.el7                            @CentOS-7                   
parted.x86_64                              3.1-17.el7                             @CentOS-7                   
passwd.x86_64                              0.79-4.el7                             @CentOS-7                   
pciutils-libs.x86_64                       3.2.1-4.el7                            @CentOS-7                   
pcre.x86_64                                8.32-12.el7                            @CentOS-7                   
perl.x86_64                                4:5.16.3-283.el7                       @base                       
perl-Carp.noarch                           1.26-244.el7                           @base                       
perl-Compress-Raw-Bzip2.x86_64             2.061-3.el7                            @base                       
perl-Compress-Raw-Zlib.x86_64              1:2.061-4.el7                          @base                       
perl-DBI.x86_64                            1.627-4.el7                            @base                       
perl-Data-Dumper.x86_64                    2.145-3.el7                            @base                       
perl-Encode.x86_64                         2.51-7.el7                             @base                       
perl-Exporter.noarch                       5.68-3.el7                             @base                       
perl-File-Path.noarch                      2.09-2.el7                             @base                       
perl-File-Temp.noarch                      0.23.01-3.el7                          @base                       
perl-Filter.x86_64                         1.49-3.el7                             @base                       
perl-Getopt-Long.noarch                    2.40-2.el7                             @base                       
perl-HTTP-Tiny.noarch                      0.033-3.el7                            @base                       
perl-IO-Compress.noarch                    2.061-2.el7                            @base                       
perl-Net-Daemon.noarch                     0.48-5.el7                             @base                       
perl-PathTools.x86_64                      3.40-5.el7                             @base                       
perl-PlRPC.noarch                          0.2020-14.el7                          @base                       
perl-Pod-Escapes.noarch                    1:1.04-283.el7                         @base                       
perl-Pod-Perldoc.noarch                    3.20-4.el7                             @base                       
perl-Pod-Simple.noarch                     1:3.28-4.el7                           @base                       
perl-Pod-Usage.noarch                      1.63-3.el7                             @base                       
perl-Scalar-List-Utils.x86_64              1.27-248.el7                           @base                       
perl-Socket.x86_64                         2.010-3.el7                            @base                       
perl-Storable.x86_64                       2.45-3.el7                             @base                       
perl-Text-ParseWords.noarch                3.29-4.el7                             @base                       
perl-Time-Local.noarch                     1.2300-2.el7                           @base                       
perl-constant.noarch                       1.27-2.el7                             @base                       
perl-libs.x86_64                           4:5.16.3-283.el7                       @base                       
perl-macros.x86_64                         4:5.16.3-283.el7                       @base                       
perl-parent.noarch                         1:0.225-244.el7                        @base                       
perl-podlators.noarch                      2.5.1-3.el7                            @base                       
perl-threads.x86_64                        1.87-4.el7                             @base                       
perl-threads-shared.x86_64                 1.43-6.el7                             @base                       
pinentry.x86_64                            0.8.1-14.el7                           @CentOS-7                   
pkgconfig.x86_64                           1:0.27.1-4.el7                         @CentOS-7                   
plymouth.x86_64                            0.8.9-0.10.20140113.el7.centos         @CentOS-7                   
plymouth-core-libs.x86_64                  0.8.9-0.10.20140113.el7.centos         @CentOS-7                   
plymouth-scripts.x86_64                    0.8.9-0.10.20140113.el7.centos         @CentOS-7                   
policycoreutils.x86_64                     2.2.5-11.el7                           @CentOS-7                   
polkit.x86_64                              0.112-5.el7                            @CentOS-7                   
polkit-pkla-compat.x86_64                  0.1-4.el7                              @CentOS-7                   
popt.x86_64                                1.13-16.el7                            @CentOS-7                   
postfix.x86_64                             2:2.10.1-6.el7                         @CentOS-7                   
ppp.x86_64                                 2.4.5-33.el7                           @CentOS-7                   
procps-ng.x86_64                           3.3.9-6.el7                            @CentOS-7                   
pth.x86_64                                 2.0.7-22.el7                           @CentOS-7                   
pygobject3-base.x86_64                     3.8.2-4.el7                            @CentOS-7                   
pygpgme.x86_64                             0.3-9.el7                              @CentOS-7                   
pyliblzma.x86_64                           0.5.3-11.el7                           @CentOS-7                   
python.x86_64                              2.7.5-16.el7                           @CentOS-7                   
python-backports.noarch                    1.0-6.el7                              @CentOS-7                   
python-backports-ssl_match_hostname.noarch 3.4.0.2-4.el7                          @CentOS-7                   
python-configobj.noarch                    4.7.2-7.el7                            @CentOS-7                   
python-decorator.noarch                    3.4.0-3.el7                            @CentOS-7                   
python-iniparse.noarch                     0.4-9.el7                              @CentOS-7                   
python-libs.x86_64                         2.7.5-16.el7                           @CentOS-7                   
python-pycurl.x86_64                       7.19.0-17.el7                          @CentOS-7                   
python-pyudev.noarch                       0.15-6.el7                             @CentOS-7                   
python-setuptools.noarch                   0.9.8-3.el7                            @CentOS-7                   
python-slip.noarch                         0.4.0-2.el7                            @CentOS-7                   
python-slip-dbus.noarch                    0.4.0-2.el7                            @CentOS-7                   
python-urlgrabber.noarch                   3.10-4.el7                             @CentOS-7                   
pyxattr.x86_64                             0.5.1-5.el7                            @CentOS-7                   
qrencode-libs.x86_64                       3.4.1-3.el7                            @CentOS-7                   
readline.x86_64                            6.2-9.el7                              @CentOS-7                   
rootfiles.noarch                           8.1-11.el7                             @CentOS-7                   
rpm.x86_64                                 4.11.1-16.el7                          @CentOS-7                   
rpm-build-libs.x86_64                      4.11.1-16.el7                          @CentOS-7                   
rpm-libs.x86_64                            4.11.1-16.el7                          @CentOS-7                   
rpm-python.x86_64                          4.11.1-16.el7                          @CentOS-7                   
rsyslog.x86_64                             7.4.7-6.el7                            @CentOS-7                   
sed.x86_64                                 4.2.2-5.el7                            @CentOS-7                   
selinux-policy.noarch                      3.12.1-153.el7_0.10                    @CentOS-7-update            
selinux-policy-targeted.noarch             3.12.1-153.el7_0.10                    @CentOS-7-update            
setup.noarch                               2.8.71-4.el7                           @CentOS-7                   
shadow-utils.x86_64                        2:4.1.5.1-13.el7                       @CentOS-7                   
shared-mime-info.x86_64                    1.1-7.el7                              @CentOS-7                   
slang.x86_64                               2.2.4-11.el7                           @CentOS-7                   
snappy.x86_64                              1.1.0-3.el7                            @CentOS-7                   
sqlite.x86_64                              3.7.17-4.el7                           @CentOS-7                   
sudo.x86_64                                1.8.6p7-11.el7                         @CentOS-7                   
systemd.x86_64                             208-11.el7_0.2                         @CentOS-7-update            
systemd-libs.x86_64                        208-11.el7_0.2                         @CentOS-7-update            
systemd-sysv.x86_64                        208-11.el7_0.2                         @CentOS-7-update            
sysvinit-tools.x86_64                      2.88-14.dsf.el7                        @CentOS-7                   
tar.x86_64                                 2:1.26-29.el7                          @CentOS-7                   
tcp_wrappers-libs.x86_64                   7.6-77.el7                             @CentOS-7                   
teamd.x86_64                               1.9-15.el7                             @CentOS-7                   
tuned.noarch                               2.3.0-11.el7_0.3                       @CentOS-7-update            
tzdata.noarch                              2014e-1.el7_0                          @CentOS-7-update            
ustr.x86_64                                1.0.4-16.el7                           @CentOS-7                   
util-linux.x86_64                          2.23.2-16.el7                          @CentOS-7                   
vim-minimal.x86_64                         2:7.4.160-1.el7                        @CentOS-7                   
virt-what.x86_64                           1.13-5.el7                             @CentOS-7                   
which.x86_64                               2.20-7.el7                             @CentOS-7                   
wpa_supplicant.x86_64                      1:2.0-12.el7                           @CentOS-7                   
xfsprogs.x86_64                            3.2.0-0.10.alpha2.el7                  @CentOS-7                   
xz.x86_64                                  5.1.2-8alpha.el7                       @CentOS-7                   
xz-libs.x86_64                             5.1.2-8alpha.el7                       @CentOS-7                   
yum.noarch                                 3.4.3-118.el7.centos                   @CentOS-7                   
yum-metadata-parser.x86_64                 1.1.4-10.el7                           @CentOS-7                   
yum-plugin-fastestmirror.noarch            1.1.31-25.el7_0                        @CentOS-7-update            
zlib.x86_64                                1.2.7-13.el7                           @CentOS-7

mysql-develも入れておきます。
# yum install mysql-devel
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ mysql-community-devel.x86_64 0:5.6.20-4.el7 を インストール
--> 依存性解決を終了しました。
 
依存性を解決しました
 
==============================================================================================================
 Package                         アーキテクチャー バージョン                リポジトリー                 容量
==============================================================================================================
インストール中:
 mysql-community-devel           x86_64           5.6.20-4.el7              mysql56-community           3.4 M
 
トランザクションの要約
==============================================================================================================
インストール  1 パッケージ
 
総ダウンロード容量: 3.4 M
インストール容量: 21 M
Is this ok [y/d/N]: y
Downloading packages:
mysql-community-devel-5.6.20-4.el7.x86_64.rpm                                          | 3.4 MB  00:00:06     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : mysql-community-devel-5.6.20-4.el7.x86_64                                     1/1 
  検証中                  : mysql-community-devel-5.6.20-4.el7.x86_64                                     1/1 
 
インストール:
  mysql-community-devel.x86_64 0:5.6.20-4.el7                                                                 
 
完了しました!

mysqlの5.6が無事にインストールされました。
$ mysql -V
mysql  Ver 14.14 Distrib 5.6.20, for Linux (x86_64) using  EditLine wrapper