Imagine, if you will, the following scenario:
- You design a whole new database schema for your cool new scalable web-application. You’re using MySQL and the InnoDB datbase engine for everything, because your schema is so cool it uses all sorts of foreign keys and transactions and the like.
- You quickly set up MySQL and get your application going with your new schema on your development staging machine.
- You get MySQL up and running on your live server, play around with it for a bit to make sure it’s working, and then set up a my.cnf file with all sorts of caching and security goodies in it.
- You do a backup from your dev machine, restore it to the live server, and ta-daa!!! Your web application is up and running on your live server.
What you might not have noticed, especially if you – like me – have a few thousands rows of data, is that MySQL might have screwed you along the way and not really told you all that clearly.[Read Rest of Article]