MySQL: Grant Read-Only DB Access for one DB and Create/Drop Access for other DBs
No.  Instead use the following as a general way to provide limited actions.

Here's how to "grant" things to the user indirectly.  Create a Stored Procedure with "security definer" and be "root" when you define it.  In the SP, first check that the user is not trying to touch mysql, information_schema, or the readonly db.  Then proceed to do the CREATE or DROP.

This can obviously be extended to a variety of actions.  You should probably have one SP per action -- one for CreateDb('dbname'), one for DropDb('dbname'), and whatever else you might need.

Then train the users to use

CALL CreateDb('...');


instead of

CREATE DATABASE ...;


Note: you might need extra parameters for what should be added to the creation, such as CHARACTER SET utf8mb4.  Or you could assert more control by not giving the user a choice.