I've just discovered that I'm unable to create a MySQL database using the CREATE DATABASE SQL command unless the name I choose has already been used for a database created via the website interface (and since dropped).
Trying to create a new database with a new and unused name results in a 1044 access denied error:
mysql>CREATE DATABASE user$new_database;
ERROR 1044 (42000): Access denied for user 'user'@'%' to database 'user$new_database'
mysql>CREATE DATABASE user$default;
Query OK, 1 row affected (0.01 sec)
I understand that all database names have to be prefixed by a username and a $.
Is this behavior deliberate to ensure the prefix is included?