Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a database that was created in Microsoft Access and I'm trying to replicate it in a MySQL database. Is there some sort of tool that can do it?

Historically, I've exported to CSV and then used a whole lot of replacements to whip it into shape, but I'm looking for something that takes less work.

I'm working on a Windows machine and would prefer free software.

share|improve this question

We used to bring 30 remote MS-SQL databases, together with some Access data, into MYSQL so we could do some central reporting and it was an automated process of dumping out CSV files and then imports with some stored procedures to modify the data as requied.

It took some work to get things going, but then the process was a daily, automated run - so don't rule out the csv route. While deciding what to do, we did try some commercial convertor products (dbconvert) - which duplicated things very well but did not give us the flexibility of our scripted work.

If you are just concerned about manual aspects of the conversion, you might want to check out the Open Source shellsql tools that did most of our MS-SQL dumping for us:

I daresay I could dig out some of the scripts I wrote if you want to investigate further.

share|improve this answer
That's a great solution, but I'm working on a Windows machine. – Kyle Jun 27 '11 at 18:26

I use premiumsoft navicat for mysql admin (including access, excel conversion), which I find very good. There is a lite (free) version but I don't think that the conversion tools are included. For me, as I use mysql a lot, it is well worth the cost.

share|improve this answer

If you create a DSN for your target MySQL database, you can then export your Access tables one-by-one to the DSN. Likely the data types won't be exactly what you want, so you'll probably have to do it more than once, but it's one way to get the data into an ODBC database quickly.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .