A lot depends on the size of your system.
'Enterprise' - look at Flexviews and/or LinkedIn's Data Bus. If neither of those work for you, you should probably look for topics/tools related to Data Warehouse ETL with MySQL, since a large portion of the ETL process is determine efficient ways to extract changed data. For instance, you could look at JasperSoft ETL Pro or Talend Open Studio which has a number of tools to build a custom ETL process.
'Basic' - look at either adding timestamps to the tables in question and then querying for records with a timestamp value greater than the last time you checked (downside: no record of deletes) or add triggers to the database that record changes in data.
Also, if this system is large, you may want to look at pushing the changes via websockets or the like since polling every 5 seconds for changes is not going to scale well. There are a number of articles and Grails plugins (Atmosphere and Events Push to name a couple) on the topic.