I have a migration activity where I have to migrate an Informix database which is running on an IBM AIX machine to MySQL running on a RedHat Linux machine. How can I do that?
How familiar are you with Informix? MySQL? Unix tools (like Perl, Python, etc)? You can get the database schema and the data in Informix's UNLOAD format using Informix's DB-Export (
This will give you a directory
dbname.exp containing a file
dbname.sql with the schema, and a bunch of unloaded data files such as
table00123.unl. You can move the contents of that directory to the new machine in any way you like (compressed tar file plus FTP or
scp or similar).
You'll have to process the schema to translate any Informix-specific data types to MySQL equivalents, etc. Then use the appropriate MySQL tools to create the database. Note that DB-Import, the tool used to import an exported database when the target is another Informix system, creates tables and loads them before indexing them. Any stored procedures in the Informix database will need to be rewritten in MySQL stored procedure language.
You'll then need to find a way to load the data. Off-hand, I don't know whether MySQL has support for the Informix UNLOAD format; quite possibly not. You then need to know your Unix tools to find a way of converting the data files into a series of SQL (INSERT) statements, for example.
Then you create the database in MySQL and load it.