title: Compare two MySQL databases
body: <p>I'm currently developing an application using a MySQL database.</p>
  
  <p>The database-structure is still in flux and changes while development progresses (I change my local copy, leaving the one on the test-server alone).</p>
  
  <p>Is there a way to compare the two instances of the database to see if there were any changes?</p>
  
  <p>While currently simply discarding the previous test server database is fine, as testing starts entering test data it could get a bit tricky.<br>
  The same though more so will happen again later in production...</p>
  
  <p>Is there an easy way to incrementally make changes to the production database, preferably by automatically creating a script to modify it? </p>
  
  <hr>
  
  <p>Tools mentioned in the answers:</p>
  
  <ul>
  <li><a href="https://www.red-gate.com/products/mysql/mysql-compare/" rel="nofollow noreferrer">Red-Gate's MySQL Schema &amp; Data Compare</a> (Commercial)</li>
  <li><a href="https://launchpad.net/percona-toolkit" rel="nofollow noreferrer">Maatkit (now Percona)</a></li>
  <li><a href="http://www.liquibase.org" rel="nofollow noreferrer">liquibase</a></li>
  <li><a href="http://www.quest.com/toad-for-mysql/" rel="nofollow noreferrer">Toad</a></li>
  <li><a href="http://nobhillsoft.com/NHDBCompare.aspx" rel="nofollow noreferrer">Nob Hill Database Compare</a> (Commercial)</li>
  <li><a href="http://adamspiers.org/computing/mysqldiff/" rel="nofollow noreferrer">MySQL Diff</a></li>
  <li><a href="http://www.sqledt.com" rel="nofollow noreferrer">SQL EDT</a> (Commercial)</li>
  </ul>