やったこと
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 データを得ることができました。