An easy way for a small company: dump the SQL database and add it to your repository. Then every time you change something, add the changes to the dump file.
You can then use diff to see changes between versions, not to mention comments explaining your changes. It will also make you virtually immune to MySQL updates.
The only drawback I saw in this is that you have to remember to manually add SQL to your dump file. You can train to always remember, but be careful if you work with others. Lack of updates can hurt later.
This could be mitigated by creating some complex scripts to do this for you when sending in subversive activities, but this is not much for a one-person show.
Edit: In the year that has passed since this answer, I had to implement a version control scheme for MySQL for a small team. Manually adding each change was considered a cumbersome solution, as in the comments, so we went with the database dumping and added this file to version control.
We found that test data ends in a landfill and makes it difficult to determine what has changed. This could be solved by dropping only the schema, but this was not possible for our projects, since our applications depended on certain data in the database for work. In the end, we returned to manually adding changes to the database dump.
This was not just the simplest solution, but it also solved some of the problems that some versions of MySQL encounter when exporting / importing. Usually we have to delete the development database, delete any test data, logs, etc., Delete / change certain names, where applicable, and only then be able to create a production database. By manually adding changes, we could precisely control what would end in production, a little at a time, so that in the end everything was ready and the transition to the production environment was as painless as possible.
Manos dilaverakis
source share