CentOS 6.4 に MySQL 5.6 をサクッとインストールする
Posted on
お知らせ: CentOS 6.5 でも同じ手順でインストールできることを確認済みです。
CentOS の標準リポジトリからインストールできる MySQL は未だに 5.1 系です。 5.5 以降の圧倒的な速さを知っているので、今さら 5.1 は使う気になりません。
というわけで、CentOS 6.4 に RPM パッケージからインストールする手順です。 4/29 時点の最新バージョンは MySQL 5.6.11 です。バージョンはその時の最新に読み替えてください。
まずは RPM ファイルをダウンロードします。
wget -q http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-client-5.6.11-1.el6.x86_64.rpm \
http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.11-1.el6.x86_64.rpm \
http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-server-5.6.11-1.el6.x86_64.rpm \
http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-devel-5.6.11-1.el6.x86_64.rpm \
http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-5.6.11-1.el6.x86_64.rpm
各パッケージの説明は公式サイトを参照してください。
CentOS 6.4 にはデフォルトで 5.1 系の mysql-libs がインストールされており、mysql-libs に依存しているパッケージがいくつかあります。先ほどダウンロードした MySQL-shared をインストールしようとすると依存性のチェックで怒られるので、2 回のステップを踏んでインストールします。
先に MySQL-client, MySQL-devel, MySQL-server, MySQL-shared-compat をインストールします。 MySQL-shared-compat は今の環境の依存性を壊すことなく共有ライブラリを置き換えてくれます。
$ sudo yum install MySQL-{client,devel,server,shared-compat}-5.6.11-1.el6.x86_64.rpm
...
====================================================================================================
Package Arch Version Repository Size
====================================================================================================
Installing:
MySQL-client x86_64 5.6.11-1.el6 /MySQL-client-5.6.11-1.el6.x86_64 81 M
MySQL-devel x86_64 5.6.11-1.el6 /MySQL-devel-5.6.11-1.el6.x86_64 19 M
MySQL-server x86_64 5.6.11-1.el6 /MySQL-server-5.6.11-1.el6.x86_64 233 M
MySQL-shared-compat x86_64 5.6.11-1.el6 /MySQL-shared-compat-5.6.11-1.el6.x86_64 11 M
replacing mysql-libs.x86_64 5.1.67-1.el6_3
Transaction Summary
====================================================================================================
Install 4 Package(s)
次に MySQL-shared をインストールします。先に MySQL-shared-compat をインストールしたので依存関係でエラーが出ることもありません。
$ sudo yum install MySQL-shared-5.6.11-1.el6.x86_64.rpm
...
====================================================================================================
Package Arch Version Repository Size
====================================================================================================
Installing:
MySQL-shared x86_64 5.6.11-1.el6 /MySQL-shared-5.6.11-1.el6.x86_64 8.4 M
Transaction Summary
====================================================================================================
Install 1 Package(s)
これでインストールは完了です。 /var/log/yum.log を確認すると、mysql-libs がアンインストールされていることが分かります。
$ sudo tail /var/log/yum.log
Apr 29 05:13:10 Installed: MySQL-client-5.6.11-1.el6.x86_64
Apr 29 05:13:44 Installed: MySQL-server-5.6.11-1.el6.x86_64
Apr 29 05:13:45 Installed: MySQL-devel-5.6.11-1.el6.x86_64
Apr 29 05:13:48 Installed: MySQL-shared-compat-5.6.11-1.el6.x86_64
Apr 29 05:13:48 Erased: mysql-libs
Apr 29 05:14:38 Installed: MySQL-shared-5.6.11-1.el6.x86_64
初期設定
5.6 からインストール後の手順が少し変わりました。まず MySQL サーバを立ち上げます。
$ sudo service mysql start
Starting MySQL. SUCCESS!
5.5 までは自分で root ユーザーのパスワードを設定していましたが、セキュリティを考慮したのか 5.6 では自動的に決められます。初期パスワードは /root/.mysql_secret に書かれています。
初期パスワードを使ってログインし、root ユーザーのパスワードを変更します。初期パスワードのままだと何の操作もできません。
$ mysql -uroot -p
mysql> SET PASSWORD FOR root@localhost=PASSWORD('xxxxxxxx');
次に mysql_secure_installation コマンドを実行します。これは以前と同じです。質問項目だけ抜き出すと以下の 5 つを聞かれます。
# root ユーザーのパスワードを変更するか?
Change the root password? [Y/n] n
# 匿名ユーザーを削除するか?
Remove anonymous users? [Y/n] Y
# リモートから root ユーザーのログインを禁止するか?
Disallow root login remotely? [Y/n] Y
# test データベースを削除するか?
Remove test database and access to it? [Y/n] Y
# 権限テーブルをリロードするか?
Reload privilege tables now? [Y/n] Y
これで初期設定も完了です。あとは my.cnf の設定を行ってください。
「MySQL のインストール方法が進化していた!」を参考にさせていただきました。