Estou com esse problema há semanas. Não tenho ideia de onde procurar a seguir. Limpei, limpei, reiniciei MySQL
o serviço, reiniciei o Ubuntu
servidor. O que pode fazer com que isso WARNING
e o usuário não apareçam na user
tabela? Eu também tentei DROP user
e obter 0 rows affected
como resultado. Isso é frustrante além da crença! Onde mais as informações do usuário são armazenadas no esquema e como posso eliminá-las?
ATUALIZAR
Quando eu grep o nome de usuário /var/lib/mysql/mysql
, encontro o nome de usuário no db.MYD
arquivo. Embora eu não possa editá-lo. Então eu sei que o nome de usuário existe em algum lugar OUTRO que não seja a tabela de usuários.
Isso acontece quando um usuário é criado e concedido privilégios e, em seguida, excluído do mysql.user em vez de ser descartado:
Primeiro, crie um usuário
admin_x@localhost
:Verifique se o usuário está em
mysql.user
:OK.
Agora concedemos a este usuário acesso a db
test
:E confira:
Agora exclua o usuário incorretamente de
mysql.user
:E o usuário não está mais em
mysql.user
:Mas quando você tenta criá-lo novo, você recebe um erro:
Isso porque
admin_x@localhost
ainda tem privilégios armazenados emmysql.db
:Agora, quando você descarta o usuário
ele realmente se foi e você pode criá-lo novamente: