Should I have a different MySQL user for each database so that if someone gets access to a mysql user they cannot effect the others?
If so how would i go about doing this?
Its a principle called "separation of privileges", which reduces the impact of an intrusion.
you can do something like
or you can provide some subset of privileges using a command similar to this;
The privileges supported by MySQL (5.1) are documented here;