As permissões do MySQL são baseadas no host. Quando você cria CREATE USER (ou GRANT), você fornece um nome de host. Pode ser '%' ou 'localhost' ou qualquer outro IP ou nome de host. É um recurso de segurança. Você quer que isso aconteça. Não é "anexar" o nome do host ao nome de usuário quando ele informa o acesso negado. Cada um é armazenado em uma coluna diferente da tabela mysql.users. Se você deseja fazer login no MySQL a partir de sua máquina como usuário, precisará conceder acesso ao usuário a partir de sua máquina ...
Dos documentos do MySQL sobre o comando CREATE USER :
Each account is named using the same format as for the GRANT statement; for example, 'jeffrey'@'localhost'. If you specify only the user name part of the account name, a host name part of '%' is used. For additional information about specifying account names, see Section 12.4.1.3, “GRANT Syntax”.