Move ibdata1, set innodb_data_file_path
You should be very happy the mysqldump is two-thirds the size of the data. Why?

You should want to move data and indexes without copying unused space at the same time. What aspects would you have to consider by simply importing a mysqldump?

Aspect #1

InnoDB indexes tend to get very bloaty because Secondary Indexes have keys into the Clustered Index. This always results in a double index lookup. This can be overlooked with large, write-heavy datasets.

Aspect #2

InnoDB tablespaces tend to get very bloaty because of MVCC being created and discarded without an automatic reclaiming of disk space:


With innodb_file_per_table disabled, the system tablespace file ibdata1 would steadily grow with 0% chance of reclaiming of disk space. You would have to convert InnoDB storage engine to use innodb_file_per_table.
With innodb_file_per_table enabled, you could go to the individual InnoDB and run     of the the following to physically shrink the InnoDB table mydb.mytable:


OPTIMIZE TABLE mydb.mytable;
ALTER TABLE mydb.mytable ENGINE=InnoDB;



In light of this, you should keep in mind that a mysqldump is a logical representation of the data and indexes. There is no wasted space to be concerned with. You should not have to scp or rsync bloated InnoDB data or logs. Importing a mysqldump into a fresh installation of MySQL should be what you what want.

I have written about this many times:


MySql - Clean ibdata1 (April 19, 2012)
How do you remove fragmentation from InnoDB tables? (April 11, 2012)
Is innodb_file_per_table advisable? (April 01, 2012)
How to Clean a mysql innodb storage engine (October 29, 2010)


Once you have loaded the test database with the mysqldump, you should run CHECKSUM TABLE on random tables of various sizes. If all tables have the same checksum value, you could certify as good. Make a disklevel backup of the data on the prod server as well.

You can then do this in production


shutdown mysql
hose everything (including ibdata1, ib_logfile0, ib_logfile1) in /var/lib/mysql except for /var/lib/mysql/mysql
Set innodb_data_file_path=ibdata1:10M:autoextend in /etc/my.cnf
restart mysql (this recreates ibdata1, ib_logfile0, ib_logfile1)
reload mysqldump


Your InnoDB architecture and data will then be lean and mean.