My MySQL database needs two users: appuser and support.
One of the application developers insists that I create four accounts for these users:
appuser@\'
Going to provide a slightly different answer to those provided so far.
If you have a row for an anonymous user from localhost in your users table ''@'localhost' then this will be treated as more specific than your user with wildcard'd host 'user'@'%'. This is why it is necessary to also provide 'user'@'localhost'.
You can see this explained in more detail at the bottom of this page.