Eu apenas tentei adicionar um novo usuário ao MySQL usando
CREATE USER 'name'@'%' IDENTIFIED BY '...'
No entanto, ele falha com o seguinte erro:
ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'
Adicionar o usuário apenas para localhost funciona bem:
CREATE USER 'name'@'localhost' IDENTIFIED BY '...'
Não tenho idéia do que poderia ser o problema. Ficaria grato por todas as idéias.
(Estou usando mysql Ver 14.14 Distrib 5.1.66
.)
Respostas:
De acordo com os documentos, se você omitir o @ 'hostname' (ou seja, CREATE USER 'name'), o MySQL o interpretará como se tivesse um @ '%'. A mensagem de erro que você forneceu sugere que já existe um usuário 'name' @ '%' no sistema:
Se você excluir o usuário e ainda receber a mensagem, tente executar o FLUSH PRIVILEGES.
Consulte também esta pergunta para obter informações adicionais.
fonte
Eu estava enfrentando esse mesmo erro enquanto usava a imagem do docker mysql: 5.7. O principal erro foi tentar criar um
root
usuário que existe por padrão. Mais informações: https://github.com/docker-library/mysql/issues/129Conforme fornecido no link acima, a solução NÃO foi definir
MYSQL_USER
eMYSQL_PASSWORD
nas variáveis de ambiente ao iniciar a imagem do Docker.fonte