Fast backup & restore of MySQL database to revert recent changes
Copying the data directory, as you mentioned, is one way to accomplish what you need. Here are the steps, and if you face any error, please post it. 


Shut MySQL server down; or in a terminal flush tables with lock FLUSH TABLES WITH READ LOCK [Important: Keep the terminal open]
Copy the data directory: cp, or rsync
Restart the server if you shut it down; or go back to the terminal and unlock the tables: UNLOCK TABLES
Make multiple copies of the copy you already made
Chnage the owner of the newly created directories to mysql: chown mysql:mysql dir_name (I think it is chown -r, so it runs recursively)


So far, you have multiple copies of the data at the point of time that you need. 

In order to "restore" a copy, you can do one of the following:


Change the value of datadir in my.cfg (or my.ini) to a location of one of the data copies, and restart the server; OR
Shut down the server and copy the contents of a copy of the data back to the original data directory, and start the server again.