読者です 読者をやめる 読者になる 読者になる

CaramelTrip

家族で海外を旅するフリーランス・プログラマーのログ

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

mysql
f:id:parsetree:20170120184349p:plain


mysql5.6のインスールをまとめて紹介します。


サーバーOSはCentOS6.5です。使い慣れた6系のCentOSにインストールしていきます。

では、いってみましょう。

MySQL5.6

mysql5.7も出ていますが、使い慣れた5.6をrpmでイントールします。

1. 事前準備

既存の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*


2. 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


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

CentOS 6.5 にはデフォルトで 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


4. 初期設定

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


5. ユーザーの追加

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;


6. 補足

自動起動の設定。

chkconfig mysql on


まとめ

以下、5.6以降のバージョンの注意点です。

  • my.confの場所が変更されている

  • 初期パスワードは設定済み


お疲れ様でした♪