localhost jest wyjątkowy w MySQL, oznacza połączenie przez gniazdo UNIX (lub nazwane potoki w systemie Windows, jak sądzę), w przeciwieństwie do gniazda TCP/IP. Korzystanie z % ponieważ host nie zawiera localhost , stąd potrzeba wyraźnego określenia tego.