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