Edited at

mysql5.6 rpmインストール on CentOS6.5

More than 3 years have passed since last update.


0. 事前準備

既存のmysqlの確認

$ rpm -qa | grep mysql

mysql-utilities-1.3.6-1.el6.noarch
mysql-server-5.1.71-1.el6.x86_64
mysql-libs-5.1.71-1.el6.x86_64
mysql-5.1.71-1.el6.x86_64
mysql-connector-python-1.1.4-1.el6.noarch
mysql-devel-5.1.71-1.el6.x86_64

そして、削除

$ yum remove mysql*


1. RPM ファイルをダウンロード

$ wget -q http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-client-5.6.20-1.el6.x86_64.rpm \

http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.20-1.el6.x86_64.rpm \
http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-server-5.6.20-1.el6.x86_64.rpm \
http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-devel-5.6.20-1.el6.x86_64.rpm \
http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-5.6.20-1.el6.x86_64.rpm


2. mysql5.6のインストール

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.20-1.el6.x86_64.rpm

次に MySQL-shared をインストールします。先に MySQL-shared-compat をインストールしたので依存関係でエラーが出ることもありません。

$ sudo yum install MySQL-shared-5.6.20-1.el6.x86_64.rpm

最後にバージョンの確認

$ mysql --version

mysql Ver 14.14 Distrib 5.6.20, for Linux (x86_64) using EditLine wrapper


3. 初期設定

まず MySQL サーバを立ち上げます。

$ sudo service mysql start

Starting MySQL. SUCCESS!

5.5 までは自分で root ユーザーのパスワードを設定していましたが、セキュリティを考慮したのか 5.6 では自動的に決められます。初期パスワードは /root/.mysql_secret に書かれていますので確認します。

$ cat /root/.mysql_secret

The random password set for the root user at Tue Sep 23 06:22:16 2014 (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              # パスワードの変更

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 # 権限テーブルをリロード


4. ユーザーの追加

MySQLへログインし、管理者権限を持つユーザー登録します。

$ mysql -uroot -p

mysql> GRANT ALL PRIVILEGES ON *.* TO hoge@localhost IDENTIFIED BY 'password' WITH GRANT OPTION;

最後に確認。

mysql> select host,user from mysql.user;


5. 補足

自動起動の設定。

chkconfig mysql on

お疲れ様でした♪