CentOS6へのMySQL5.6インストール方法3選
MySQL5.6環境が必要になった為、インストール手順をあれこれ試してみました。
備忘録も兼ね、実際に使えそうな手順を3つ残します。
導入先の環境
CentOS6.8(x86_64)をminimalでインストールし、事前に環境に応じたネットワーク設定とwgetを導入(※)しています。 ※yum install wget
全てrootで作業しています。適宜sudoを付けるなどしてください。
[方法1] Yumリポジトリから5.6最新版を導入(お勧め)
MySQL公式のYumリポジトリからMySQL5.6の最新版をインストールする手順です。
特に理由がない限り、この方法がお勧めです。
1.MySQL公式Yumリポジトリの情報のインストール&設定
以下のURLから、Red Hat Enterprise Linux 6用のRPMパッケージを入手します。
mysql57~.rpmしかありませんが、5.6の情報も含まれているので大丈夫です。
Download MySQL Yum Repository
https://dev.mysql.com/downloads/repo/yum/
以下の例は、調査時点(2017/4/5)のパッケージの最新版です。作業時点で確認してください。
shell> wget https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm
続けてインストール
shell> yum localinstall ./mysql57-community-release-el6-9.noarch.rpm
以下の設定ファイルを編集して、MySQL5.7を無効、MySQL5.6を有効に変更します。
shell> vi /etc/yum.repos.d/mysql-community.repo
編集内容
[mysql56-community] enabled=0 ⇒ enabled=1 [mysql57-community] enabled=1 ⇒ enabled=0
2.MySQLのインストール
Yumコマンドでインストールします。
shell> yum install mysql-community-server
以下のパッケージがインストールまたは置換されました。
インストール: mysql-community-libs.x86_64 0:5.6.35-2.el6 mysql-community-libs-compat.x86_64 0:5.6.35-2.el6 mysql-community-server.x86_64 0:5.6.35-2.el6 依存性関連をインストールしました: mysql-community-client.x86_64 0:5.6.35-2.el6 mysql-community-common.x86_64 0:5.6.35-2.el6 numactl.x86_64 0:2.0.9-2.el6 perl.x86_64 4:5.10.1-141.el6_7.1 perl-DBI.x86_64 0:1.609-4.el6 perl-Module-Pluggable.x86_64 1:3.90-141.el6_7.1 perl-Pod-Escapes.x86_64 1:1.04-141.el6_7.1 perl-Pod-Simple.x86_64 1:3.13-141.el6_7.1 perl-libs.x86_64 4:5.10.1-141.el6_7.1 perl-version.x86_64 3:0.77-141.el6_7.1 置換: mysql-libs.x86_64 0:5.1.73-7.el6
3.MySQLの起動とパスワードの変更
MySQLのサービスを起動します。
shell> service mysqld start
MySQLにrootでログインし、パスワードを設定します。
この方法の場合のみ、初期状態ではパスワードは設定されていません。
shell> mysql -u root mysql> SET PASSWORD = PASSWORD('hogehoge');
必要に応じてmysql_secure_installationで設定を変更します。
shell> /usr/bin/mysql_secure_installation
[方法2] 過去のバージョンのRPMパッケージをYumで導入する
指定のバージョンをインストールする必要がある場合におすすめの手順です。
1.RPMパッケージの入手
以下のURLからRPMパッケージを入手します。
MySQL Community Server (Archived Versions)
https://downloads.mysql.com/archives/community/
以下の3パッケージは必須、他は必要に応じて選んでください。
以下の例では、MySQL5.6.11のパッケージのパスを確認して、wgetコマンドでダウンロードしています。
wget https://downloads.mysql.com/archives/get/file/MySQL-server-5.6.11-2.el6.x86_64.rpm wget https://downloads.mysql.com/archives/get/file/MySQL-client-5.6.11-2.el6.x86_64.rpm wget https://downloads.mysql.com/archives/get/file/MySQL-devel-5.6.11-2.el6.x86_64.rpm wget https://downloads.mysql.com/archives/get/file/MySQL-shared-compat-5.6.11-2.el6.x86_64.rpm wget https://downloads.mysql.com/archives/get/file/MySQL-shared-5.6.11-2.el6.x86_64.rpm
2.ダウンロードしたパッケージのインストール
入手したRPMパッケージの置いてある場所で実行します。
yum install ./*.rpm
以下のパッケージがインストールまたは置換されました。
インストール: MySQL-client.x86_64 0:5.6.11-2.el6 MySQL-devel.x86_64 0:5.6.11-2.el6 MySQL-server.x86_64 0:5.6.11-2.el6 MySQL-shared.x86_64 0:5.6.11-2.el6 MySQL-shared-compat.x86_64 0:5.6.11-2.el6 依存性関連をインストールしました: perl.x86_64 4:5.10.1-141.el6_7.1 perl-Module-Pluggable.x86_64 1:3.90-141.el6_7.1 perl-Pod-Escapes.x86_64 1:1.04-141.el6_7.1 perl-Pod-Simple.x86_64 1:3.13-141.el6_7.1 perl-libs.x86_64 4:5.10.1-141.el6_7.1 perl-version.x86_64 3:0.77-141.el6_7.1 置換: mysql-libs.x86_64 0:5.1.73-7.el6
3.MySQLの起動とパスワードの変更
MySQLのサービスを起動します。
shell> service mysqld start
rootの初期パスワードを確認します。
shell> cat /root/.mysql_secret
rootでログインし、パスワードを変更します。
shell> mysql -u root -p mysql> SET PASSWORD = PASSWORD('hogehoge');
必要に応じてmysql_secure_installationで設定を変更します。
shell> /usr/bin/mysql_secure_installation
[方法3] PRMパッケージを個別にインストールする
インターネット接続できない環境でのインストールなどに応用できます。今回の確認環境はインターネット接続がある環境で、一部Yumも使っています。 この方法の場合、RPMパッケージの導入順序を意識したり、/etc/my.cnfの設置・設定も必要になります。
この手順は、以下の公式ドキュメントを参考にしています。
2.5.5 RPM パッケージを使用して MySQL を Linux にインストールする
https://dev.mysql.com/doc/refman/5.6/ja/linux-installation-rpm.html
1.RPMパッケージの入手
以下のURLからRPMパッケージを入手します。
MySQL Community Server (Archived Versions)
https://downloads.mysql.com/archives/community/
以下の3パッケージは必須、他は必要に応じて選んでください。
以下の例では、MySQL5.6.11のパッケージのパスを確認して、wgetコマンドでダウンロードしています。
wget https://downloads.mysql.com/archives/get/file/MySQL-server-5.6.11-2.el6.x86_64.rpm wget https://downloads.mysql.com/archives/get/file/MySQL-client-5.6.11-2.el6.x86_64.rpm wget https://downloads.mysql.com/archives/get/file/MySQL-devel-5.6.11-2.el6.x86_64.rpm wget https://downloads.mysql.com/archives/get/file/MySQL-shared-compat-5.6.11-2.el6.x86_64.rpm wget https://downloads.mysql.com/archives/get/file/MySQL-shared-5.6.11-2.el6.x86_64.rpm
2.MySQL-shared-compatのインストール
CentOS6標準のmysql-libs(クライアントライブラリ)の互換ライブラリです。これを先にインストールする点が重要です。
rpm -ivh MySQL-shared-compat-5.6.11-2.el6.x86_64.rpm
3.mysql-libsの削除
MySQL公式ドキュメントによると、MySQL-shared-compatがmysql-libsは無効にするので、削除しなくても共存できるそうです。 今回は、Yumを使って、削除しています。
yum remove mysql-libs
4.依存性の解決
入手したRPMパッケージの置いてある場所で実行します。
rpm -ivh --test ./*.rpm
以下の様に前提パッケージが表示されるので全てインストールします。
今回の環境では、perlを導入(※)しています。
※yum install perl
エラー: 依存性の欠如: /usr/bin/perl は MySQL-client-5.6.11-2.el6.x86_64 に必要とされています /usr/bin/perl は MySQL-server-5.6.11-2.el6.x86_64 に必要とされています perl は MySQL-test-5.6.11-2.el6.x86_64 に必要とされています
5.残りのMySQLのパッケージの導入
最低限必要なのは、MySQL-serverとMySQL-clientです。その他は要件に合わせて導入します。
rpm -ivh MySQL-server-5.6.11-2.el6.x86_64.rpm rpm -ivh MySQL-client-5.6.11-2.el6.x86_64.rpm rpm -ivh MySQL-devel-5.6.11-2.el6.x86_64.rpm rpm -ivh MySQL-shared-5.6.11-2.el6.x86_64.rpm
6./etc/my.cnfの作成
テンプレートをコピーして、最低限必要な箇所を設定します。
cp -p /usr/share/mysql/my-default.cnf /etc/my.cnf
vi /etc/my.cnf
編集箇所は、5.6.11の場合、18行目からの部分です。
編集前
# basedir = ..... # datadir = ..... # port = ..... # server_id = ..... # socket = .....
編集後
basedir = /usr datadir = /var/lib/mysql port = 3306 server_id = 2 socket = /var/lib/mysql/mysql.sock
7.MySQLの起動とパスワードの変更
MySQLのサービスを起動します。
shell> service mysqld start
rootの初期パスワードを確認します。
shell> cat /root/.mysql_secret
rootでログインし、パスワードを変更します。
shell> mysql -u root -p mysql> SET PASSWORD = PASSWORD('hogehoge');
必要に応じてmysql_secure_installationで設定を変更します。
shell> /usr/bin/mysql_secure_installation