LoginSignup
5
2

More than 5 years have passed since last update.

AWSのEC2で行うCentOS 7(MySQL5.7)環境構築

Last updated at Posted at 2018-07-05

CentOS 7にMySQL5.7の環境構築をしていきます。MySQL8のリポジトリに5.7も含まれているのに気づかず、随分と探し回ってしまいました。

バージョン情報

  • Mac OS 10.11.6(El Capitan)
  • CentOS Linux 7 x86_64 HVM

その他情報

事前に用意しておく必要があるもの

  • 接続先EC2のパブリックDNS
  • 作業ユーザ(CentOS 7の場合デフォルトはcentos)
  • EC2からダウンロードした秘密鍵(デフォルトは****.pem)

ssh接続

以下のコマンドを実行してAWSのEC2にSSH接続します。

$ ssh -i ~/.ssh/秘密鍵名.pem ユーザ名@パブリックDNS

MySQLをインストール

CentOS 7にはMariaDBというMySQL互換のデータベースサーバーがデフォルトでインストールされていますが、MySQLはインストールされていませんのでMySQL公式のyumリポジトリを追加してインストールします。
mysqlをインストールする際、mariadbと入れ替えが行われるので、mariadbを削除する必要はありません。

===============================================================================================
 Package                         アーキテクチャー
                                            バージョン             リポジトリー           容量
===============================================================================================
インストール中:
 mysql-community-libs            x86_64     5.7.22-1.el7           mysql57-community     2.1 M
     mariadb-libs.x86_64 1:5.5.56-2.el7 を入れ替えます
 mysql-community-libs-compat     x86_64     5.7.22-1.el7           mysql57-community     2.0 M
     mariadb-libs.x86_64 1:5.5.56-2.el7 を入れ替えます
 mysql-community-server          x86_64     5.7.22-1.el7           mysql57-community     165 M

インストール

MySQL公式のyumリポジトリを追加してmysql5.7をインストールします。

#mariadbがインストールされているか確認
$ yum list installed | grep mariadb
mariadb-libs.x86_64                         1:5.5.56-2.el7             installed

#mysqlがインストールされているか確認
$ yum list installed | grep mysql

#mysqlがインストールできるか確認
$ yum info mysql
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
エラー: 表示するパッケージはありません

#mysql8.0リポジトリの追加(このリポジトリに5.7も含まれています)
$ sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm -y

#mysql8.0リポジトリの無効化
$ sudo yum-config-manager --disable mysql80-community

#mysql5.7リポジトリの有効化
$ sudo yum-config-manager --enable mysql57-community

#mysql5.7がインストールできるか確認
$ yum info mysql-community-server

#mysqlインストール
$ sudo yum install mysql-community-server -y
$ mysqld --version
mysqld  Ver 5.7.22 for Linux on x86_64 (MySQL Community Server (GPL))

#自動起動設定
$ sudo systemctl start mysqld.service
$ sudo systemctl enable mysqld.service
$ systemctl status mysqld.service

初期設定

mysqlの初期設定を行います。[ mysql_secure_installation ]での設定は必要に応じて行ってください。

#rootパスワードを確認
$ cat /var/log/mysqld.log | grep password
A temporary password is generated for root@localhost: ************

#初期設定
$ mysql_secure_installation
Enter password for user root: ************
New password: @@@@@@@@@@@@
Re-enter new password: @@@@@@@@@@@@
Change the password for root ? ((Press y|Y for Yes, any other key for No) : No
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Yes
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Yes
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Yes
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Yes

文字コード設定

mysqlの文字コードを[ utf8mb4 ]に変更します。

#mysqlにログイン
$ mysql -u root -p
Enter password: @@@@@@@@@@@@

#文字コードの確認
mysql> show global variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
mysql> exit

#文字コードの変更([mysqld]と[client]セクションと設定を追加)
$ sudo vi /etc/my.cnf
+ [mysqld] (既に記述されている場合は省略)
+ character_set_server=utf8mb4

+ [client]
+ default-character-set=utf8mb4

#mysql再起動
$ sudo systemctl restart mysqld.service

#mysqlにログイン
$ mysql -u root -p
Enter password: @@@@@@@@@@@@

#文字コードの確認
mysql> show global variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
mysql> exit
参考サイト
5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2