AWS RDSへのデータインポート


今回は、前回作成したAWS上のRDSにCSVデータのインポートを行った際の手順を以下に記載します。

前提

・前回作成したEC2インスタンスとRDSが起動されていること
・RDBにインポートしたいCSVファイルを作成されていること(※文字コードはUTF8であること)

CSVファイルをEC2に転送

① 前回作成したEC2インスタンスのパブリックIPアドレスをコピーしておきます。

② 次に、rLoginで接続情報の設定を行い、EC2に接続します。(ここでは、rLoginを使用していますが、Tera Term等の他のターミナルソフトでも構いません。)


③ EC2インスタンスに接続できたら、CSVファイルを格納するディレクトリを作成します。また、作成したディレクトリに移動します。

$ pwd
/home/ubuntu
$ mkdir csv
$ cd csv
/home/ubuntu/csv

④ rLoginのツールバーにある「転送」ボタンを押下します。

⑤ 転送ダイアログが表示されますので、対象ファイルをドラッグして転送します。



⑥ EC2インスタンスにCSVファイルが転送されたことを確認します。

以上で、EC2インスタンスへのCSVファイルの転送は終了です。

EC2インスタンスにMySQLクライアントをインストールし、RDSのMySQLデータベースに接続

① 以下のコマンドでMySQLクライアントをEC2インスタンスにインストールします。

$ sudo apt install mysql-client-core-5.7

インストール時に、"E:Unable to correct problems, you have held broken packages. "というエラーメッセージが表示された場合は、以下のコマンドを実行後、再度インストールを実行してください。

$ sudo apt-get autoclean
$ sudo apt-get clean all
$ sudo apt-get update

② RDSに作成したMySQL DBインスタンスのエンドポイントをコピーします。

③ 以下のコマンドでMySQLデータベースに接続します。

$ mysql -h RDSエンドポイント -P 3306 -u admin -p
Enter password: RDS作成時のパスワード


以上で、MYSQLデータベースに接続できました。

データベース、テーブルを作成し、CSVを取り込む

① 以下のコマンドでデータベースを作成し、使用するデータベースを選択します。

mysql> CREATE DATABASE データベース名 DEFAULT CHARACTER SET utf8mb4;
mysql> use データベース名;


② 続いて、テーブルを作成します。

③ テーブルを作成したら、EC2のCSVフォルダに転送したCSVファイルをMySQLデータベースに取り込みます。

$ load data local infile "/home/ubuntu/csv/ファイル名" into table テーブル名 fields terminated by ',';


以上で、RDSのMySQL DBインスタンスへのデータインポートが終了です。

株式会社メソドロジック
赤尾 一優 @Kaz_akao