AWS EC2(Amazon Linux AMI 64-bit)にMySQL5.7をインストールする

シェアしていただけるとうれしいです

AWS EC2(Amazon Linux AMI 64-bit)を初期設定して、httpdをインストールしました。httpdにはLet’s Encryptの無料SSLサーバー証明書をインストールしてあります

あと、PHPとMySQLをインストールして、一通りLAMP環境を構築してしまいたいのですが、PHPをインストールする前に、MySQLをインストールして設定しておこうと思います。

AWS EC2(Amazon Linux AMI 64-bit)にMySQL5.7をインストールする

Amazon Linux AMI (64-bit)のリポジトリにあるMySQLのバージョンを調べてみます。

Loaded plugins: priorities, update-motd, upgrade-helper
Available Packages
MySQL-python26.x86_64 1.2.3-11.14.amzn1 amzn-main
MySQL-python27.x86_64 1.2.3-11.14.amzn1 amzn-main
mysql.noarch 5.5-1.6.amzn1 amzn-main
mysql-bench.noarch 5.5-1.6.amzn1 amzn-main
mysql-common.noarch 5.5-1.6.amzn1 amzn-main
mysql-config.x86_64 5.5.58-1.19.amzn1 amzn-updates
mysql-connector-java.noarch 1:5.1.12-2.10.amzn1 amzn-main
mysql-connector-odbc.x86_64 5.1.11-1.12.amzn1 amzn-main
mysql-devel.noarch 5.5-1.6.amzn1 amzn-main
mysql-embedded.noarch 5.5-1.6.amzn1 amzn-main
mysql-embedded-devel.noarch 5.5-1.6.amzn1 amzn-main
mysql-libs.noarch 5.5-1.6.amzn1 amzn-main
mysql-server.noarch 5.5-1.6.amzn1 amzn-main
mysql-test.noarch 5.5-1.6.amzn1 amzn-main
mysql51.x86_64 5.1.73-8.72.amzn1 amzn-main
mysql51-bench.x86_64 5.1.73-8.72.amzn1 amzn-main
mysql51-common.x86_64 5.1.73-8.72.amzn1 amzn-main
mysql51-devel.x86_64 5.1.73-8.72.amzn1 amzn-main
mysql51-embedded.x86_64 5.1.73-8.72.amzn1 amzn-main
mysql51-embedded-devel.x86_64 5.1.73-8.72.amzn1 amzn-main
mysql51-libs.i686 5.1.73-8.72.amzn1 amzn-main
mysql51-libs.x86_64 5.1.73-8.72.amzn1 amzn-main
mysql51-server.x86_64 5.1.73-8.72.amzn1 amzn-main
mysql51-test.x86_64 5.1.73-8.72.amzn1 amzn-main
mysql55.x86_64 5.5.58-1.19.amzn1 amzn-updates
mysql55-bench.x86_64 5.5.58-1.19.amzn1 amzn-updates
mysql55-devel.x86_64 5.5.58-1.19.amzn1 amzn-updates
mysql55-embedded.x86_64 5.5.58-1.19.amzn1 amzn-updates
mysql55-embedded-devel.x86_64 5.5.58-1.19.amzn1 amzn-updates
mysql55-libs.i686 5.5.58-1.19.amzn1 amzn-updates
mysql55-libs.x86_64 5.5.58-1.19.amzn1 amzn-updates
mysql55-server.x86_64 5.5.58-1.19.amzn1 amzn-updates
mysql55-test.x86_64 5.5.58-1.19.amzn1 amzn-updates
mysql56.x86_64 5.6.38-1.27.amzn1 amzn-updates
mysql56-bench.x86_64 5.6.38-1.27.amzn1 amzn-updates
mysql56-common.i686 5.6.38-1.27.amzn1 amzn-updates
mysql56-common.x86_64 5.6.38-1.27.amzn1 amzn-updates
mysql56-devel.x86_64 5.6.38-1.27.amzn1 amzn-updates
mysql56-embedded.x86_64 5.6.38-1.27.amzn1 amzn-updates
mysql56-embedded-devel.x86_64 5.6.38-1.27.amzn1 amzn-updates
mysql56-errmsg.x86_64 5.6.38-1.27.amzn1 amzn-updates
mysql56-libs.i686 5.6.38-1.27.amzn1 amzn-updates
mysql56-libs.x86_64 5.6.38-1.27.amzn1 amzn-updates
mysql56-server.x86_64 5.6.38-1.27.amzn1 amzn-updates
mysql56-test.x86_64 5.6.38-1.27.amzn1 amzn-updates
mysql57.x86_64 5.7.20-2.5.amzn1 amzn-updates
mysql57-common.i686 5.7.20-2.5.amzn1 amzn-updates
mysql57-common.x86_64 5.7.20-2.5.amzn1 amzn-updates
mysql57-devel.x86_64 5.7.20-2.5.amzn1 amzn-updates
mysql57-embedded.x86_64 5.7.20-2.5.amzn1 amzn-updates
mysql57-embedded-devel.x86_64 5.7.20-2.5.amzn1 amzn-updates
mysql57-errmsg.x86_64 5.7.20-2.5.amzn1 amzn-updates
mysql57-libs.i686 5.7.20-2.5.amzn1 amzn-updates
mysql57-libs.x86_64 5.7.20-2.5.amzn1 amzn-updates
mysql57-server.x86_64 5.7.20-2.5.amzn1 amzn-updates
mysql57-test.x86_64 5.7.20-2.5.amzn1 amzn-updates

下記のバージョンのMySQLがyumでインストールできるようです。

  • MySQL 5.1.73
  • MySQL 5.5
  • MySQL 5.5.58
  • MySQL 5.6.38
  • MySQL 5.7.20

新しい5.7系列の5.7.20がインストールできますね。MySQL 5.7.20をインストールして設定してみます。

MySQL 5.7.20をインストール

では、早速MySQL 5.7.20をインストールします。

Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main | 2.1 kB 00:00
amzn-updates | 2.5 kB 00:00
Resolving Dependencies
–> Running transaction check
—> Package mysql57.x86_64 0:5.7.20-2.5.amzn1 will be installed
—> Package mysql57-common.x86_64 0:5.7.20-2.5.amzn1 will be installed
–> Processing Dependency: mysql-config for package: mysql57-common-5.7.20-2.5.amzn1.x86_64
—> Package mysql57-devel.x86_64 0:5.7.20-2.5.amzn1 will be installed
–> Processing Dependency: mysql57-libs(x86-64) = 5.7.20-2.5.amzn1 for package: mysql57-devel-5.7.20-2.5.amzn1.x86_64
–> Processing Dependency: libmysqlclient.so.1020()(64bit) for package: mysql57-devel-5.7.20-2.5.amzn1.x86_64
—> Package mysql57-server.x86_64 0:5.7.20-2.5.amzn1 will be installed
–> Processing Dependency: mysql57-errmsg(x86-64) = 5.7.20-2.5.amzn1 for package: mysql57-server-5.7.20-2.5.amzn1.x86_64
–> Running transaction check
—> Package mysql-config.x86_64 0:5.5.58-1.19.amzn1 will be installed
—> Package mysql57-errmsg.x86_64 0:5.7.20-2.5.amzn1 will be installed
—> Package mysql57-libs.x86_64 0:5.7.20-2.5.amzn1 will be installed
–> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
mysql57 x86_64 5.7.20-2.5.amzn1 amzn-updates 14 M
mysql57-common x86_64 5.7.20-2.5.amzn1 amzn-updates 90 k
mysql57-devel x86_64 5.7.20-2.5.amzn1 amzn-updates 290 k
mysql57-server x86_64 5.7.20-2.5.amzn1 amzn-updates 27 M
Installing for dependencies:
mysql-config x86_64 5.5.58-1.19.amzn1 amzn-updates 49 k
mysql57-errmsg x86_64 5.7.20-2.5.amzn1 amzn-updates 804 k
mysql57-libs x86_64 5.7.20-2.5.amzn1 amzn-updates 1.2 M

Transaction Summary
================================================================================
Install 4 Packages (+3 Dependent packages)

Total download size: 43 M
Installed size: 138 M
Is this ok [y/d/N]:

「y」を入力してインストールします。

Downloading packages:
(1/7): mysql-config-5.5.58-1.19.amzn1.x86_64.rpm | 49 kB 00:00
(2/7): mysql57-common-5.7.20-2.5.amzn1.x86_64.rpm | 90 kB 00:00
(3/7): mysql57-devel-5.7.20-2.5.amzn1.x86_64.rpm | 290 kB 00:00
(4/7): mysql57-errmsg-5.7.20-2.5.amzn1.x86_64.rpm | 804 kB 00:00
(5/7): mysql57-libs-5.7.20-2.5.amzn1.x86_64.rpm | 1.2 MB 00:00
(6/7): mysql57-5.7.20-2.5.amzn1.x86_64.rpm | 14 MB 00:02
(7/7): mysql57-server-5.7.20-2.5.amzn1.x86_64.rpm | 27 MB 00:03
——————————————————————————–
Total 9.4 MB/s | 43 MB 00:04
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : mysql-config-5.5.58-1.19.amzn1.x86_64 1/7
Installing : mysql57-common-5.7.20-2.5.amzn1.x86_64 2/7
Installing : mysql57-5.7.20-2.5.amzn1.x86_64 3/7
Installing : mysql57-errmsg-5.7.20-2.5.amzn1.x86_64 4/7
Installing : mysql57-libs-5.7.20-2.5.amzn1.x86_64 5/7
Installing : mysql57-devel-5.7.20-2.5.amzn1.x86_64 6/7
Installing : mysql57-server-5.7.20-2.5.amzn1.x86_64 7/7
Verifying : mysql57-common-5.7.20-2.5.amzn1.x86_64 1/7
Verifying : mysql57-errmsg-5.7.20-2.5.amzn1.x86_64 2/7
Verifying : mysql57-devel-5.7.20-2.5.amzn1.x86_64 3/7
Verifying : mysql57-5.7.20-2.5.amzn1.x86_64 4/7
Verifying : mysql-config-5.5.58-1.19.amzn1.x86_64 5/7
Verifying : mysql57-libs-5.7.20-2.5.amzn1.x86_64 6/7
Verifying : mysql57-server-5.7.20-2.5.amzn1.x86_64 7/7

Installed:
mysql57.x86_64 0:5.7.20-2.5.amzn1
mysql57-common.x86_64 0:5.7.20-2.5.amzn1
mysql57-devel.x86_64 0:5.7.20-2.5.amzn1
mysql57-server.x86_64 0:5.7.20-2.5.amzn1

Dependency Installed:
mysql-config.x86_64 0:5.5.58-1.19.amzn1
mysql57-errmsg.x86_64 0:5.7.20-2.5.amzn1
mysql57-libs.x86_64 0:5.7.20-2.5.amzn1

Complete!

MySQLの初期設定

まずはMySQLを起動します。

Starting mysqld: [ OK ]

rootの初期パスワードが「/var/log/mysqld.log」に記載されているはずなので、確認します。

最初から最後までログを眺めたのですが、ない( ゚д゚)ポカーン

「password」という文字列で検索してみます。

E486: Pattern not found: password

あれ?ない( ゚д゚)ポカーン

ないものは仕方がないので、このまま初期設定してみますか?

MySQLの初期設定は、まず「mysql_secure_installation」というコマンドで行います。

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:

CentOSなどのLinuxでは、ここでrootのパスワードを求められるのですが?
とりあえず「y」を入力します。

There are three levels of password validation policy:

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:

「パスワード検証ポリシーには3つのレベルがあります。」とのことです。「低・中・高」ですね。
「高」を選ぶので、「2」を入力します。

Please set the password for root here.

New password:

あ、ここでrootの新しいパスワードを求められました。パスワードを決めて入力します。

Re-enter new password:

パスワードの再入力を求められるので、再度同じものを入力します。

Estimated strength of the password: 100

パスワードの強度が「高(2 = STRONG)」に見合ったものであれば、「Estimated strength of the password」が「100」になります。めでたしめでたし٩(ˊᗜˋ*)و

Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :

このパスワードで続行するので「y」を入力します。

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) :

匿名ユーザーは必要ないので削除します。「y」を入力します。

Normally, root should only be allowed to connect from
‘localhost’. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) :

rootユーザーは外部ホストから接続させることはないので「y」を入力します。

By default, MySQL comes with a database named ‘test’ that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) :

「test」データベースはセキュリテイの穴になりかねないので、削除します。「y」を入力します。

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) :

えっと、すべての変更を有効にしてもいいか?って聞いてきているわけですね?(・∀・)
有効にするので「y」を入力します。

Success.

All done!

完了しました!

MySQLにログインしてみる

では、MySQLにログインしてみます。

Enter password:

先程設定したrootのパスワードを入力します。

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.20 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, 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の自動起動の設定

EC2のインスタンスが起動したときにMySQLも自動起動するように設定します。

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

MySQLの設定ファイルの編集

MySQLのデフォルトの文字コードを「UTF-8」にしたいのと、デフォルトのストレージエンジンを「InnoDB」にしたいので、下記の内容を「/etc/my.cnf」に追記します。

11行目、12行目が追記した内容です。保存して終了します。

MySQLを再起動します。

Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]

MySQLの設定は以上です。

次回以降は

httpd、MySQLのインストールと設定が完了したので、次回はPHPをインストールして設定します。

ではでは、みなさんごきげんようヽ(´ー`)

いわゆる「画像直リンク」、画像の複製は固くお断りいたします。
スポンサーリンク

シェアしていただけるとうれしいです

フォローよろしくお願いします

関連記事