akishin999の日記

調べた事などを書いて行きます。

CentOS 6.3 に MySQL 5.6 をインストールしてみた

MySQLのインストール方法が進化していた! - sakaikの日々雑感〜(T)編
http://d.hatena.ne.jp/sakaik/20130205/mysql5_6_install

こちらの記事を読んだら使ってみたくなったので、 MySQL 5.6 を CentOS 6.3(x86_64) にインストールしてみました。
手順もほぼ上記記事と同じです。

CentOS 6 なので以下のように yum に RPM ファイルの URL を直接指定してインストールできます。

# yum install http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-client-5.6.10-1.el6.x86_64.rpm \
              http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.10-1.el6.x86_64.rpm \
              http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-server-5.6.10-1.el6.x86_64.rpm \
              http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-devel-5.6.10-1.el6.x86_64.rpm

CentOS 6 ではデフォルトで mysql-libs.x86_64 の 5.1.61-4.el6 がインストールされているので、 MySQL-shared-5.6.10-1.el6.x86_64.rpm の方を選択するとエラーになってしまいます。
そのため、 MySQL-shared-compat-5.6.10-1.el6.x86_64.rpm の方を使用しています。

※ 2013/02/26 追記
コメント欄で id:sh2 さんに教えていただきましたが、shared-compat をインストールした後であれば shared の方もインストール出来るそうです。
というわけで、以下を実行し、MySQL-shared-5.6.10-1.el6.x86_64.rpm もインストールして下さい。

# yum install http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-shared-5.6.10-1.el6.x86_64.rpm

インストールが完了したら MySQL サーバを起動します。

# service mysql start

インストール時のメッセージに書いてある通り、5.6 では root ユーザに初期パスワードが設定されており、以下のファイルに書き込まれているので確認します。

# cat /root/.mysql_secret
# The random password set for the root user at Thu Feb  7 14:24:54 2013 (local time): XXXXXXXX

上記の「XXXXXXXX」の部分が初期設定されているパスワードになります。

デフォルトのパスワードのままでは何もできないので、パスワードを確認したら root ユーザで MySQL に接続します。

# mysql -uroot -p

接続したら以下のようにしてパスワードを変更して一旦抜けます。

mysql> SET PASSWORD FOR root@localhost=PASSWORD('password');
mysql> exit

これで mysql_secure_installation コマンドを実行できるので実行します。

# mysql_secure_installation

いくつか質問されるのですが、ここでは以下のように回答しました。

Change the root password? [Y/n] n              # 既に先ほど変更したので n
Remove anonymous users? [Y/n] Y                # 匿名ユーザを削除
Disallow root login remotely? [Y/n] Y          # root ユーザでのリモートからのログインを禁止
Remove test database and access to it? [Y/n] Y # test データベースを削除
Reload privilege tables now? [Y/n] Y           # 権限テーブルをリロード

これでインストールは完了です。

他、大きな違いとして、設定ファイルである my.cnf は /usr/my.cnf の方が使用されるようになったようです。

せっかく入れたので、これから使ってみたいと思います。