Os nomes de usuários são apenas mapeamentos para UIDs armazenados em /etc/passwd
. Da mesma forma, os nomes de grupos são mapeados para GIDs de /etc/group
. Os IDs são decididos como e quando são necessários. 0 é sempre root, mas quase tudo é decidido quando o usuário e os grupos são criados.
Esses * IDs são inteiros quase arbitrários que o sistema interpreta como usuários e grupos definidos. Os IDs são decididos como e quando são necessários. 0 é sempre root, mas quase tudo é decidido quando o usuário e os grupos são criados.
Quando um arquivo é gravado em disco, são esses valores de UID e GID armazenados no disco, não a representação de string. E é isso que está acontecendo aqui. Seu usuário → UID e grupo → os mapeamentos GID na instalação secundária não estão alinhados com os UIDs da sua primeira instalação. É mapear a propriedade do arquivo para os usuários errados.
Se a sua instalação antiga nunca será um fator nisso, eu simplesmente remapeia a propriedade para o usuário mysql:
sudo chown --recursive mysql: /var/lib/mysql
Eu verifiquei uma instalação real do MySQL e todos os arquivos em /var/lib/mysql
eram de propriedade de mysql:mysql
, então acho que isso deve ser preciso.
Se a instalação antiga for usada novamente (por exemplo, um arranjo de estilo de inicialização dupla), você precisará ser mais criativo. Nesses casos, talvez seja necessário alterar o mapeamento de UIDs e GIDs para usuários e grupos, para que sejam os mesmos (e, em seguida, corrija os arquivos correspondentes do novo sistema). Seria bastante tedioso.