Amazon RDS から CSV を出力する方法 (MySQL)
MySQL
Published: 2020-11-15

やったこと

Amazon RDS から CSV ファイルを出力します。

確認環境

※ RDS ではありませんが、コマンド実行元にCSVファイルを出力することで、 RDS でも同様に適用できます。

$ mysql --version
mysql  Ver 14.14 Distrib 5.6.25, for Linux (x86_64) using  EditLine wrapper

$ python --version
Python 2.6.6

調査

dump 対象となるテーブル

  • データベース名: test
  • テーブル名: test_table
mysql> select * from test_table;
+----+------+------+------+
| id | col1 | col2 | col3 |
+----+------+------+------+
|  1 | 2    | 3    | 4    |
|  2 | 2    | 3    | 4    |
+----+------+------+------+
2 rows in set (0.00 sec)

mysqldump から CSV を生成するツールの準備

mysqldump の出力を CSV に変換するツールを使います。

git clone https://github.com/jamesmishra/mysqldump-to-csv.git

clone したファイルが下記のように配置します。

$ pwd
/home/vagrant/rds-mysql

$ chmod 755 mysqldump_to_csv.py

mysqldump から CSV を取得する

$ mysqldump -h127.0.0.1 -uroot -p test test_table -t --single-transaction | mysqldump_to_csv.py
Enter password:
1,2,3,4
2,2,3,4

標準出力で CSV データを得ることができました。

参考