Edited at

CentOS7にMysql5.6インストール(バージョン指定してインストールしたい場合)

テスト環境構築などで、最新でないバージョンのmysqlをインストールしたい場合の手順。

今回はmysql5.7ではなく、5.6を指定してインストールする。

環境:

CentOS7


事前準備(mariaDBやインストール済みmysqlの削除)

CentOS7だと、mariaDB(MySQL互換のDB)がデフォルトでインストールされている場合がある。

これが残ったままだと、これからインストールするMySQLと競合するので、まずは削除しておく。

# rpm -qa | grep maria     <- mariaDBが存在するか確認

# yum remove mariadb-libs <- 本体削除
# rm -rf /var/lib/mysql/ <- データ削除

また、別のバージョンのmysqlが既にインストールされている場合も、競合を避けるために削除しておく。

(ただしDBにデータがある場合は要注意! 丸ごと消えるので、必要なデータは退避しておくこと!)

# yum remove mysql-server mysql-devel mysql

# rm -rf /var/lib/mysql/


MysqlのYumリポジトリを追加

Mysql公式のYumリポジトリをインストールする。

最新版はMysql公式https://dev.mysql.com/downloads/repo/yum/で確認できる。

(以下はmysql57となっているが、5.5や5.6も含まれているので問題ない)

# yum localinstall http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm

インストールできたか確認するには

# yum repolist all | grep mysql

mysql-connectors-community/x86_64 MySQL Connectors Community 有効:
mysql-connectors-community-source MySQL Connectors Community - So 無効
mysql-tools-community/x86_64 MySQL Tools Community 有効:
mysql-tools-community-source MySQL Tools Community - Source 無効
mysql55-community/x86_64 MySQL 5.5 Community Server 無効
mysql55-community-source MySQL 5.5 Community Server - So 無効
mysql56-community/x86_64 MySQL 5.6 Community Server 無効  <-ここ注目
mysql56-community-source MySQL 5.6 Community Server - So 無効
mysql57-community/x86_64 MySQL 5.7 Community Server 有効: <-ここ注目
mysql57-community-source MySQL 5.7 Community Server - So 無効

(環境によっては有効がenabled、無効がdisabledと表示される)

上記の例では、5.7が有効、5.6が無効になっている。

このままインストールすると、有効になっている5.7がインストールされてしまうので、有効無効の切り替えをする。

この切り替えをするためにはyumの設定変更用のyum-utilsパッケージが必要なので、インストールされていない場合はインストールする。

# yum list installed | grep yum-utils                 <-yum-utilsがインストールされているか確認

# yum -y install yum-utils <-入ってなければyum-utilsをインストールする

# yum-config-manager --disable mysql57-community <-5.7を無効に設定
# yum-config-manager --enable mysql56-community <-5.6を有効に設定

設定ができているか再度確認。

# yum repolist all | grep mysql

mysql-connectors-community/x86_64 MySQL Connectors Community 有効:
mysql-connectors-community-source MySQL Connectors Community - Sou 無効
mysql-tools-community/x86_64 MySQL Tools Community 有効:
mysql-tools-community-source MySQL Tools Community - Source 無効
mysql55-community/x86_64 MySQL 5.5 Community Server 無効
mysql55-community-source MySQL 5.5 Community Server - Sou 無効
mysql56-community/x86_64 MySQL 5.6 Community Server 有効:
mysql56-community-source MySQL 5.6 Community Server - Sou 無効
mysql57-community/x86_64 MySQL 5.7 Community Server 無効
mysql57-community-source MySQL 5.7 Community Server - Sou 無効

5.6が有効になっていればOK。


Mysqlインストール

MySQL公式リポジトリにある、mysql-community-serverパッケージをインストールする。

mysql-community-serverパッケージの詳細を確認する。

# yum info mysql-community-server

…(略)…
名前 : mysql-community-server
アーキテクチャー : x86_64
バージョン : 5.6.39
リリース : 2.el6
容量 : 242 M
リポジトリー : installed
提供元リポジトリー : mysql56-community
要約 : A very fast and reliable SQL database server
URL : http://www.mysql.com/
ライセンス : Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Under GPLv2 license as shown in the Description field.
説明 :
…(略)…

ちゃんと5.6になっているのを確認したらインストール。

# yum -y install mysql-community-server

インストールされたらバージョンを確認。

# mysqld --version

mysqld Ver 5.6.39 for Linux on x86_64 (MySQL Community Server (GPL))

これで無事インストール完了。


yumインストールでエラーになったら

たまにあるので。

yumインストールでエラー([Errno 256] No more mirrors to try)

https://qiita.com/miqpim/items/64e9e002ec35e26a9b1c


Mysqlの起動/停止/自動起動設定

CentOS7の場合は

# systemctl start mysqld   <--起動

# systemctl stop mysqld <--停止
# systemctl status mysqld <--ステータス確認
# systemctl restart mysqld <--再起動

サーバの起動時に自動起動するようにするには

# systemctl enable mysqld   <--自動起動 ON

# systemctl disble mysqld <--自動起動 OFF

自動起動になっているか確認するには

# systemctl is-enabled mysqld

mysqld.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysqld --level=5
enabled

enabledになっていれば自動起動 ONに設定されている。

ちなみにchkconfigでやる場合は

# chkconfig mysqld on     <--自動起動 ON

# chkconfig mysqld off <--自動起動 OFF

# chkconfig --list mysqld <--自動起動設定の確認

mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

chkconfigで確認する場合は、2~5がonになっていれば自動起動 ONに設定されている。

全部offなら自動起動 OFFの状態。