- Eu tenho dois servidores de banco de dados, locais e ativos.
- O servidor local está executando o MariaDB 10.11.6, o servidor ativo está executando o 10.11.8.
- Eu tenho exatamente o mesmo usuário global,
example
@localhost
nos servidores locais e ativos. - Executei exatamente a mesma consulta SQL (
UPDATE information_schema.TABLES ...
) em ambos os servidores. - As estruturas de banco de dados/tabela/coluna são exatamente as mesmas.
- A consulta funcionou 100% perfeita no servidor local.
- Recebi o seguinte erro no servidor ativo:
Acesso negado ao usuário 'example'@'localhost' ao banco de dados 'information_schema'
- Eu pesquisei e encontrei exatamente os mesmos resultados usando
SELECT * FROM mysql.global_priv WHERE 'User'='example';
. - O usuário tem permissões globais, não limitadas a bancos de dados específicos nos servidores locais e ativos.
- No
mysql.db
banco de dados/tabela não há menção aoexample
usuário porque, novamente, ele possui permissões globais . - No
mysql.db
banco de dados/tabela não há menção aoinformation_schema
banco de dados em nenhum dos servidores.
Como faço para forçar o MariaDB a permitir que o example
usuário execute minha UPDATE information_schema.TABLES ...
consulta no servidor ativo?
Se alguém tiver uma resposta melhor, por favor, compartilhe-a. Dito isto, parece que o problema é, novamente, o cPanel. Com todo o resto igual, existem algumas restrições estranhas no servidor ativo que simplesmente não existem no meu servidor local. No entanto, tenho uma maneira de trabalho diferente e verificada de fazer o que preciso e estou buscando essa abordagem agora.
Para qualquer outra pessoa que esteja lidando com um problema semelhante, o mais próximo que cheguei foram problemas de login; Não consegui fazer
mysql -u example
nada (tanto nos servidores locais quanto nos servidores ativos). Além disso, houve postagens em outros lugares falando sobre um plugin que causava problemas para oroot
usuário não conseguir fazer login.