1. miqpim

    Posted

    miqpim
Changes in title
+CentOS7にMysql5.6インストール(バージョン指定してインストールしたい場合)
Changes in tags
Changes in body
Source | HTML | Preview

テスト環境構築などで、最新でないバージョンの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の状態。