Problem
You have some databases in MySQL that contain dashes in their names, and when you try to use them (ie grant access to them), you get the following error:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-db.* to 'username'@'%'' at line 1
Solution
To be able to use them, enclose the database name in backticks (`) like:
GRANT ALL on `databasename-db`.* to 'username'@'%'