Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

miqpim
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした