概要
- AWSでDB(MySQL)はRDSを使うのでEC2にMySQLは入れたくない
- EC2から
mysql
コマンドでRDS上のMySQLに接続したい - というわけで、EC2にMySQLのクライアントだけをインストールします
環境
- AWS EC2
- OS: Amazon Linux 2
- AMI ID: amzn2-ami-hvm-2.0.20200304.0-x86_64-gp2
- RDS
- engine: MySQL Community
- version: 8.0.17
構築手順
1. すでにインストールされているmariadbを取り除く
- Amazon Linux2にはMariaDBがデフォルトでインストールされている
- 干渉したら困るので念のため削除しておく
$ yum list installed | grep mariadb
mariadb-libs.x86_64 1:5.5.64-1.amzn2 installed
$ sudo yum remove mariadb-libs
Removed:
mariadb-libs.x86_64 1:5.5.64-1.amzn2
Dependency Removed:
postfix.x86_64 2:2.10.1-6.amzn2.0.3
Complete!
2. mysql8.0のリポジトリを追加する
-
yum info
でmysql8.0がインストールできるか確認する - インストールできないのでmysql8.0のリポジトリを追加する
$ yum info mysql
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
31 packages excluded due to repository priority protections
Error: No matching Packages to list
$ sudo yum localinstall -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
Installed:
mysql80-community-release.noarch 0:el7-3
3. mysql8.0のリポジトリを有効化する
-
mysql80-community-release-el7-3.noarch
の中にmysql5.7も入っている - 今回はmysql8.0をインストールしたい
- mysql5.7のリポジトリを無効化し、mysql8.0のリポジトリを有効化する
$ sudo yum-config-manager --disable mysql57-community
$ sudo yum-config-manager --enable mysql80-community
4. mysql-community-clientをインストールする
$ sudo yum install -y mysql-community-client
Installed:
mysql-community-client.x86_64 0:8.0.19-1.el7
Dependency Installed:
mysql-community-common.x86_64 0:8.0.19-1.el7 mysql-community-libs.x86_64 0:8.0.19-1.el7
ncurses-compat-libs.x86_64 0:6.0-8.20170212.amzn2.1.3
Complete!
$ mysql --version
mysql Ver 8.0.19 for Linux on x86_64 (MySQL Community Server - GPL)
5. RDSに接続する
- EC2からRDSへの3306ポートの通信は許可してあるものとする
$ mysql -h hoge.rds.amazonaws.com -P 3306 -u root -p
Enter password:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.03 sec)