Converting a large SQL Server database to MySQL. Database corruption? Can't access data after transferring I have gigabytes of tabular data stored in a SQL Server database. I've been trying to migrate it to MySQL using the Migration Toolkit from Oracle. I didn't have any mapping errors and fixed all the syntax mismatches, so now the rows are being transferred. But when I go to PHPMyAdmin and try to browse, it keeps saying MySQL returned an empty result set (i.e. zero rows). ( Query took 17.0116 sec ) although it says there are 44,546,089 rows in that table, and I can see the hard drive space filling up too. I just can't access any of the data.

I researched a bit and increased the buffer size from 16M to 160M in my.conf. But I can't fix this problem.



Some things I noticed (red marked in the status page):

Innodb_buffer_pool_pages_dirty: 376

Innodb_buffer_pool_reads = 92 k

Handler_read_rnd = 41

Handler_read_rnd_next = 59 k



Any advice? This database will be read-only. Also the server specs:  dedicated, 8GB RAM, Debian 6, 500GB HDD, ~2.8GHz Quadcore Intel
As you have a dedicated server, there is no reason not to use native MySQL command to issue queries directly. Avoiding phpMyAdmin means avoiding one more layer between you and database while trying to figure out what went wrong.
My first thought is - are you actually trying "select * from table" on a 45 million row table? That could cause all kinds of problems.

1) Try "select count(*) from table" first. See if you get 0 or 45M.

2) See if partition with your data is large enough. Yes, this kind of omission happens.

3) Try using MyISAM instead of InnoDB to reveal possible server misconfiguration issue.

Perhaps it makes sense to use our battle-proven commercial database migration tool Full Convert Enterprise for your data conversion? It runs on Windows only, though. Quickest path