Best practices to secure mysql
When it comes to securing mysql, as sson as you install mysql, you must run the script mysql_secure_installation. If mysql is already in production for a while, you can perform the steps of the script manually with a lot of caveats.

For example, you have to erase all entries in mysql.db whose db column's first four(40 characters are 'test'. : Please see MySQL : Why are there &quot;test&quot; entries in mysql.db? (February 17, 2012)

You must drop anonymous users


MySQL error: Access denied for user &#39;a&#39;@&#39;localhost&#39; (using password: YES) (January 19, 2012)
Weird MySQL Users Been Created (eg. bug115166_10073) and not by me  (September 28, 2011)


Here are my other posts on securing mysql


Limiting database security (June 6, 2012)
Is this a normal set of MySQL privileges? (September 11, 2011)