There is no automatic solution for this, you have to create the versioning engine manually.
you can for example insert a field called VERSAO in the table and not allow update in the records, to update a record you create a new one with the incremented version number. Logically this will inflate your table, so you should be judicious when defining which tables of your system you will want to keep this revision history.
Another option is to create another table only to keep old versions of the record, for example you can have a CLIENTS table and a CLIENTES_HISTORY table, which has the same fields, plus a version number, revision date, user who made the change, etc. This process can be done via triggers to facilitate.
When "edit" a record you must enter the current record in the revision table. When deleting a record you can make a cascading physical deletion ( delete in both tables) or make a logical deletion (mark the record as disabled).
All of this is laborious, but if your system needs log history for audit reasons, these are a few options. I recommend the second.
This topic has further discussions on the subject.
Related: How to Versize mysql database?
– rray
something like this, but not mysql versioning, but data status .
– Gabriel Sousa
I got it, I thought it was the structure versioning, not the data
– rray
Are you talking about back up. That’s for me back up. You do back up data or uses a Seed for testing. In the most, again, back up.
– Not The Real Hemingway
I know there is back up, I want to know if there is something more practical to do the control of the data
– Gabriel Sousa
Maybe something that goes closer is the functionality flashback oracle.
– rray