林と申します。

私もOSSのETLツールのご紹介になりますが、トレジャーデータ社のEmbulkをオススメします。
input,filter,outputの3段階でデータを処理するのですが、豊富なプラグインで柔軟な処理ができます。
※例えばinputをMYSQLに、outputをpostgresに、といった使い方も可能

山田さんのケースでは、inputとoutputでmysqlプラグインを使うだけで要件を満たせそうです。
※embulk-output-mysqlのcolumn_optionsのvalue_typeを参照ください

参考1:MySQLのoutputプラグイン
_https://github.com/embulk/embulk-output-jdbc/tree/master/embulk-output-mysql

参考2:Embulkのプラグイン一覧
_http://www.embulk.org/plugins/



2017年2月24日 11:13 HIRATSUKA Sadao <sh2@pop01.odn.ne.jp>:
平塚です。

いわゆるETLツールで対応可能と思います。
安価に済ませるならTalendというOSSがあります。
https://jp.talend.com/products/talend-open-studio

ただ文面を拝見する限り、ETLツールを持ってくるのは
牛刀をもって鶏を割く感じを受けます。

sumiyaさんからご提案いただいた手順を基本としつつ
それではどうしてもやりたいことができない場合に
ETLツールを検討するのがよいと思います。

2017年2月24日 11:00 Etsuo SUMIYA <sumiya-e@ube-shinko.co.jp>:

sumiyaといいます。

From: Yamada Shinya <yamada_shinya@interfelix.jp>
Subject: [mysql 16383] mysqlのデータベースの移行
Date: Fri, 24 Feb 2017 10:41:26 +0900
Message-ID: <53e44762-94f8-71c6-7d2f-17aac7f1b40c@interfelix.jp>

> MySQLのデータベースの移行を検討しています。
> 移行元も移行先もMySQLのデータベースです。
> 只、構造が違っていて、テーブルのフィールド単位に設定先を決定する必要が
> あります。

どのような変更が必要なのかわかりませんが、

1)古いmysqlでmysqldump
2)新しいmysqlでインポート
3)必要な変更をALTER tableなどで、行える限り行う。
4)それ以上複雑な変更はプログラムを作る

以外にないと思います。




--
平塚貞夫 <sh2@pop01.odn.ne.jp>