Linux CentOS7にMySQL5.7をインストールする手順

スポンサーリンク
Linux

手頃なRDBMSといえばみんな大好きMySQLです。

今回はLinux(CentOS7)に、MySQL5.7をインストールする手順を紹介します。

※MySQL8.0のインストール手順については以下をご参照ください。

インストール対象OS

今回はCentOS7.7にインストールします。Red Hat Enterprise LinuxやOracle linuxも同じ手順になります。

[root@cent77 ~]# cat /etc/centos-release
CentOS Linux release 7.7.1908 (Core)

インストール対象MySQLバージョン

MySQL 5.7

MySQL5.7のRPMをダウンロード

MySQL5.7のRPMファイルをダウンロードするために、以下のサイトにアクセスします。

fw_error_www
fw_error_www
  • Select Version: MySQLのバージョンは 5.7.xxを選択します。
  • Select Operationg system: インストール対象OSは「Red Hat Enterprise Linux / Oracle Linux」を選択。
  • Select OS Version: OSバージョンは「Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)」を選択。
  • Download Packages: RPM Bundle の 「Download」をクリックします。

次のダウンロードページに進んだら、Login や Sing UP はせずに、下の「No thanks, just start my download.」をリクックします。RPMをまとめたbundle tarファイルのダウンロードが開始されます。

MySQL5.7のRPM Bundleの配置と解凍

ダウンロードしたMySQL5.7のRPM Bundleファイルをサーバに転送します。

今回はサーバの /tmp ディレクトリにRPM Bundleファイルを転送しました。

[root@cent77 ~]# cd /tmp
[root@cent77 tmp]# ls -l mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
-rw-r--r-- 1 root root 545832960  3月 29  2020 mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar

tarコマンドで解凍します。

[root@cent77 tmp]# tar xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
mysql-community-embedded-devel-5.7.29-1.el7.x86_64.rpm
mysql-community-test-5.7.29-1.el7.x86_64.rpm
mysql-community-embedded-5.7.29-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.29-1.el7.x86_64.rpm
mysql-community-libs-5.7.29-1.el7.x86_64.rpm
mysql-community-client-5.7.29-1.el7.x86_64.rpm
mysql-community-server-5.7.29-1.el7.x86_64.rpm
mysql-community-devel-5.7.29-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm
mysql-community-common-5.7.29-1.el7.x86_64.rpm
[root@cent77 tmp]#

Bundleファイルが解凍され、MySQL5.7インストール用のRPMファイルが存在することを確認します。

[root@cent77 tmp]# ls -l *.rpm
-rw-r--r-- 1 7155 31415  27768112 12月 19 17:12 mysql-community-client-5.7.29-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415    318972 12月 19 17:12 mysql-community-common-5.7.29-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415   4085448 12月 19 17:12 mysql-community-devel-5.7.29-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415  47521016 12月 19 17:12 mysql-community-embedded-5.7.29-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415  23354680 12月 19 17:12 mysql-community-embedded-compat-5.7.29-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 131015588 12月 19 17:12 mysql-community-embedded-devel-5.7.29-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415   2596180 12月 19 17:12 mysql-community-libs-5.7.29-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415   1353080 12月 19 17:12 mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 183618644 12月 19 17:12 mysql-community-server-5.7.29-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 124193252 12月 19 17:12 mysql-community-test-5.7.29-1.el7.x86_64.rpm

MySQL5.7インストール前の作業

CentOS7からMariaDBが標準のDBになっているので、以下のMariaDBのライブラリを削除しないとMySQLはインストールできません。

[root@cent77 tmp]# rpm -qa |grep mariadb
mariadb-libs-5.5.64-1.el7.x86_64

yum removeコマンドで関連パッケージと共に削除します。

[root@cent77 tmp]# yum remove -y mariadb-libs
読み込んだプラグイン:fastestmirror, langpacks
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ mariadb-libs.x86_64 1:5.5.64-1.el7 を 削除
--> 依存性の処理をしています: libmysqlclient.so.18()(64bit) のパッケージ: 2:postfix-2.10.1-7.el7.x86_64
--> 依存性の処理をしています: libmysqlclient.so.18(libmysqlclient_18)(64bit) のパッケージ: 2:postfix-2.10.1-7.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ postfix.x86_64 2:2.10.1-7.el7 を 削除
--> 依存性解決を終了しました。

依存性を解決しました

========================================================================================================================
 Package                       アーキテクチャー        バージョン                      リポジトリー                容量
========================================================================================================================
削除中:
 mariadb-libs                  x86_64                  1:5.5.64-1.el7                  @anaconda                  4.4 M
依存性関連での削除をします:
 postfix                       x86_64                  2:2.10.1-7.el7                  @anaconda                   12 M

トランザクションの要約
========================================================================================================================
削除  1 パッケージ (+1 個の依存関係のパッケージ)

インストール容量: 17 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  削除中                  : 2:postfix-2.10.1-7.el7.x86_64                                                           1/2
  削除中                  : 1:mariadb-libs-5.5.64-1.el7.x86_64                                                      2/2
  検証中                  : 1:mariadb-libs-5.5.64-1.el7.x86_64                                                      1/2
  検証中                  : 2:postfix-2.10.1-7.el7.x86_64                                                           2/2

削除しました:
  mariadb-libs.x86_64 1:5.5.64-1.el7

依存性の削除をしました:
  postfix.x86_64 2:2.10.1-7.el7

完了しました!

MySQL5.7のインストール

先程解凍したMySQL5.7のRPMを yum localinstallコマンドでインストールします。

(私の環境の場合、perl-Data-Dumperとperl-JSONが依存パッケージとして不足していたので、CentOS7のDVD(インストールメディア)をマウントしてインストールしました。)

[root@cent77 tmp]# yum localinstall mysql-community-*
読み込んだプラグイン:fastestmirror, langpacks
mysql-community-client-5.7.29-1.el7.x86_64.rpm を調べています: mysql-community-client-5.7.29-1.el7.x86_64
mysql-community-client-5.7.29-1.el7.x86_64.rpm をインストール済みとして設定しています
mysql-community-common-5.7.29-1.el7.x86_64.rpm を調べています: mysql-community-common-5.7.29-1.el7.x86_64
mysql-community-common-5.7.29-1.el7.x86_64.rpm をインストール済みとして設定しています
mysql-community-devel-5.7.29-1.el7.x86_64.rpm を調べています: mysql-community-devel-5.7.29-1.el7.x86_64
mysql-community-devel-5.7.29-1.el7.x86_64.rpm をインストール済みとして設定しています
mysql-community-embedded-5.7.29-1.el7.x86_64.rpm を調べています: mysql-community-embedded-5.7.29-1.el7.x86_64
mysql-community-embedded-5.7.29-1.el7.x86_64.rpm をインストール済みとして設定しています
mysql-community-embedded-compat-5.7.29-1.el7.x86_64.rpm を調べています: mysql-community-embedded-compat-5.7.29-1.el7.x86_64
mysql-community-embedded-compat-5.7.29-1.el7.x86_64.rpm をインストール済みとして設定しています
mysql-community-embedded-devel-5.7.29-1.el7.x86_64.rpm を調べています: mysql-community-embedded-devel-5.7.29-1.el7.x86_64
mysql-community-embedded-devel-5.7.29-1.el7.x86_64.rpm をインストール済みとして設定しています
mysql-community-libs-5.7.29-1.el7.x86_64.rpm を調べています: mysql-community-libs-5.7.29-1.el7.x86_64
mysql-community-libs-5.7.29-1.el7.x86_64.rpm をインストール済みとして設定しています
mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm を調べています: mysql-community-libs-compat-5.7.29-1.el7.x86_64
mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm をインストール済みとして設定しています
mysql-community-server-5.7.29-1.el7.x86_64.rpm を調べています: mysql-community-server-5.7.29-1.el7.x86_64
mysql-community-server-5.7.29-1.el7.x86_64.rpm をインストール済みとして設定しています
mysql-community-test-5.7.29-1.el7.x86_64.rpm を調べています: mysql-community-test-5.7.29-1.el7.x86_64
mysql-community-test-5.7.29-1.el7.x86_64.rpm をインストール済みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ mysql-community-client.x86_64 0:5.7.29-1.el7 を インストール
---> パッケージ mysql-community-common.x86_64 0:5.7.29-1.el7 を インストール
---> パッケージ mysql-community-devel.x86_64 0:5.7.29-1.el7 を インストール
---> パッケージ mysql-community-embedded.x86_64 0:5.7.29-1.el7 を インストール
---> パッケージ mysql-community-embedded-compat.x86_64 0:5.7.29-1.el7 を インストール
---> パッケージ mysql-community-embedded-devel.x86_64 0:5.7.29-1.el7 を インストール
---> パッケージ mysql-community-libs.x86_64 0:5.7.29-1.el7 を インストール
---> パッケージ mysql-community-libs-compat.x86_64 0:5.7.29-1.el7 を インストール
---> パッケージ mysql-community-server.x86_64 0:5.7.29-1.el7 を インストール
---> パッケージ mysql-community-test.x86_64 0:5.7.29-1.el7 を インストール
--> 依存性の処理をしています: perl(Data::Dumper) のパッケージ: mysql-community-test-5.7.29-1.el7.x86_64
Loading mirror speeds from cached hostfile
 * c7-media:
c7-media                                                                                         | 3.6 kB  00:00:00
--> 依存性の処理をしています: perl(Data::Dumper) のパッケージ: mysql-community-test-5.7.29-1.el7.x86_64
--> 依存性の処理をしています: perl(JSON) のパッケージ: mysql-community-test-5.7.29-1.el7.x86_64
--> 依存性の処理をしています: perl(JSON) のパッケージ: mysql-community-test-5.7.29-1.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ perl-Data-Dumper.x86_64 0:2.145-3.el7 を インストール
---> パッケージ perl-JSON.noarch 0:2.59-2.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

========================================================================================================================
 Package                           アーキテクチャー
                                            バージョン     リポジトリー                                            容量
========================================================================================================================
インストール中:
 mysql-community-client            x86_64   5.7.29-1.el7   /mysql-community-client-5.7.29-1.el7.x86_64            103 M
 mysql-community-common            x86_64   5.7.29-1.el7   /mysql-community-common-5.7.29-1.el7.x86_64            2.8 M
 mysql-community-devel             x86_64   5.7.29-1.el7   /mysql-community-devel-5.7.29-1.el7.x86_64              20 M
 mysql-community-embedded          x86_64   5.7.29-1.el7   /mysql-community-embedded-5.7.29-1.el7.x86_64          200 M
 mysql-community-embedded-compat   x86_64   5.7.29-1.el7   /mysql-community-embedded-compat-5.7.29-1.el7.x86_64    88 M
 mysql-community-embedded-devel    x86_64   5.7.29-1.el7   /mysql-community-embedded-devel-5.7.29-1.el7.x86_64    885 M
 mysql-community-libs              x86_64   5.7.29-1.el7   /mysql-community-libs-5.7.29-1.el7.x86_64              9.7 M
 mysql-community-libs-compat       x86_64   5.7.29-1.el7   /mysql-community-libs-compat-5.7.29-1.el7.x86_64       6.2 M
 mysql-community-server            x86_64   5.7.29-1.el7   /mysql-community-server-5.7.29-1.el7.x86_64            765 M
 mysql-community-test              x86_64   5.7.29-1.el7   /mysql-community-test-5.7.29-1.el7.x86_64              664 M
依存性関連でのインストールをします:
 perl-Data-Dumper                  x86_64   2.145-3.el7    c7-media                                                47 k
 perl-JSON                         noarch   2.59-2.el7     c7-media                                                96 k

トランザクションの要約
========================================================================================================================
インストール  10 パッケージ (+2 個の依存関係のパッケージ)

合計容量: 2.7 G
総ダウンロード容量: 143 k
インストール容量: 2.7 G
Is this ok [y/d/N]: y
Downloading packages:
警告: /media/cdrom/Packages/perl-Data-Dumper-2.145-3.el7.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID f4a80eb5: NOKEY
perl-Data-Dumper-2.145-3.el7.x86_64.rpm の公開鍵がインストールされていません
------------------------------------------------------------------------------------------------------------------------
合計                                                                                    1.4 MB/s | 143 kB  00:00:00
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-7.1908.0.el7.centos.x86_64 (@anaconda)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
上記の処理を行います。よろしいでしょうか? [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : mysql-community-common-5.7.29-1.el7.x86_64                                             1/12
  インストール中          : mysql-community-libs-5.7.29-1.el7.x86_64                                               2/12
  インストール中          : mysql-community-client-5.7.29-1.el7.x86_64                                             3/12
  インストール中          : mysql-community-server-5.7.29-1.el7.x86_64                                             4/12
  インストール中          : mysql-community-devel-5.7.29-1.el7.x86_64                                              5/12
  インストール中          : mysql-community-embedded-5.7.29-1.el7.x86_64                                           6/12
  インストール中          : perl-Data-Dumper-2.145-3.el7.x86_64                                                    7/12
  インストール中          : perl-JSON-2.59-2.el7.noarch                                                            8/12
  インストール中          : mysql-community-test-5.7.29-1.el7.x86_64                                               9/12
  インストール中          : mysql-community-embedded-devel-5.7.29-1.el7.x86_64                                    10/12
  インストール中          : mysql-community-libs-compat-5.7.29-1.el7.x86_64                                       11/12
  インストール中          : mysql-community-embedded-compat-5.7.29-1.el7.x86_64                                   12/12
  検証中                  : mysql-community-embedded-compat-5.7.29-1.el7.x86_64                                    1/12
  検証中                  : mysql-community-common-5.7.29-1.el7.x86_64                                             2/12
  検証中                  : mysql-community-libs-5.7.29-1.el7.x86_64                                               3/12
  検証中                  : perl-JSON-2.59-2.el7.noarch                                                            4/12
  検証中                  : perl-Data-Dumper-2.145-3.el7.x86_64                                                    5/12
  検証中                  : mysql-community-test-5.7.29-1.el7.x86_64                                               6/12
  検証中                  : mysql-community-client-5.7.29-1.el7.x86_64                                             7/12
  検証中                  : mysql-community-server-5.7.29-1.el7.x86_64                                             8/12
  検証中                  : mysql-community-embedded-devel-5.7.29-1.el7.x86_64                                     9/12
  検証中                  : mysql-community-libs-compat-5.7.29-1.el7.x86_64                                       10/12
  検証中                  : mysql-community-devel-5.7.29-1.el7.x86_64                                             11/12
  検証中                  : mysql-community-embedded-5.7.29-1.el7.x86_64                                          12/12

インストール:
  mysql-community-client.x86_64 0:5.7.29-1.el7                mysql-community-common.x86_64 0:5.7.29-1.el7
  mysql-community-devel.x86_64 0:5.7.29-1.el7                 mysql-community-embedded.x86_64 0:5.7.29-1.el7
  mysql-community-embedded-compat.x86_64 0:5.7.29-1.el7       mysql-community-embedded-devel.x86_64 0:5.7.29-1.el7
  mysql-community-libs.x86_64 0:5.7.29-1.el7                  mysql-community-libs-compat.x86_64 0:5.7.29-1.el7
  mysql-community-server.x86_64 0:5.7.29-1.el7                mysql-community-test.x86_64 0:5.7.29-1.el7

依存性関連をインストールしました:
  perl-Data-Dumper.x86_64 0:2.145-3.el7                          perl-JSON.noarch 0:2.59-2.el7

完了しました!

MySQL5.7の起動

systemctlコマンドでMySQL5.7を起動します。

[root@cent77 tmp]# systemctl start mysqld.service

ステータスを確認し、active (running) であることを確認します。

[root@cent77 tmp]# systemctl status mysqld.service
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 日 2020-03-29 14:27:09 JST; 9s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 1461 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 1412 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 1464 (mysqld)
   CGroup: /system.slice/mysqld.service
           mq1464 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

 3月 29 14:26:55 cent77 systemd[1]: Starting MySQL Server...
 3月 29 14:27:09 cent77 systemd[1]: Started MySQL Server.

MySQL5.7のrootユーザの初期パスワード変更

初期パスワードを変更しないとデータベースの操作が何も出来ず、以下のメッセージでパスワード変更を促されるので、MySQLのrootユーザの初期パスワードを変更します。

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

mysqld.log(エラーログ)からMySQLのrootユーザ初期パスワードを確認します。赤文字の部分が初期パスワードです。

[root@cent77 ]# grep 'temporary password' /var/log/mysqld.log
2020-03-29T05:26:57.658304Z 1 [Note] A temporary password is generated for root@localhost: sfTyLiso<6rt

MySQLのrootユーザで接続します。上記で確認した初期パスワードを入力します。

[root@cent77 ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.29

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

MySQLのrootユーザ初期パスワードを変更します。

mysql> ALTER USER 'root'@'localhost' identified BY 'dekiruMySQL8#';
Query OK, 0 rows affected (0.00 sec)

パスワードを変更するとデータベースの操作ができるようになります。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

MySQLの動作確認

動作確認として、データベースを作成してみます。

mysql> create database dekirudb;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| dekirudb           |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql>

以上で、CentOS7へのMySQL5.7のインストール作業は完了です。