Switching to innodb file per table

A way to convert a set of databases using innodb_file_per_table

&nbsp

Marino

2:45 pm on May 24, 2012 (gmt 0)

Hello,

I'm currently facing an issue with my huuuge mysql database. When I started my project, I didn't set the innodb_file_per_table in my.cnf Now the ibdata1 file is ... hum 800 Mo and as you can guess, the whole thing is sluggish. More: I met the dreaded "Row size too large" bad guy...

So, I intend to convert to innodb_file_per_table and baraccuda. My concern is that I'd like to convert only one DB (the big one), and not the other ones.

I'm not an expert so I ask for wise advises.

1) Backup of all DBs 2) Set the flags in my.cnf

innodb_file_per_table = 1 innodb_file_format=Barracuda

3) Restart mysql 4) Copy the big DB into a new version of it using a PHP script with INSERT ... SELECT commands 5) Wipe the obsolete big DB

Is that right? This DB contains 120,000 tables. Don't laugh; it's a search engine with more than 15,000,000 websites. It's gonna be long (days!), but time and downtime is not important. Will the other DBs remain ok?