Você precisa fazer três coisas para fazer as coisas funcionarem corretamente
-
Adicione os usuários BOTH para% e localhost, isso é MUITO importante
GRANT ALL PRIVILEGES ON somedatabase.* to someuser@'%' identified by 'password';
GRANT ALL PRIVILEGES ON somedatabase.* to someuser@localhost identified by 'password';
-
Depois de fazer isso, não se esqueça dos privilégios FLUSH
FLUSH PRIVILEGES;
Tenha em mente também que os privilégios são aditivos, não há razão para usar USAGE se você der ALL mais tarde, e você realmente não quiser dar a opção GRANT ao usuário, a menos que você tenha certeza absoluta de que é necessário.