Quando as Alterações nos Privilégios tem Efeito
Quando o mysqld
inicia, todas o conteúdo das tabelas de permissões são lidos em memória e tem efeito neste momento.
As modificações das tabelas de permissões que você realiza utilizando GRANT
, REVOKE
ou SET PASSWORD
são imediatamente reconhecidas pelo servidor.
Se você alterar as tabelas de permissões manualmente (utilizando INSERT
, UPDATE
, etc), você deve executar a instrução FLUSH PRIVILEGES
ou executar mysqladmin flush-privileges
ou mysqladmin reload
para dizer ao servidor para recarregar as tabelas de permissões. De outra forma suas alterações não terão efeito até que o servidor seja reiniciado. Se você alterar as tabelas de permissões manualmente mas se esquecer de recarregar os privilégios, suas alteração vão parecer não ter feito nenhuma diferença!
Quando o servidor reconhecer que as tabelas de permissões foram alteradas, conexões existentes são afetadas da seguinte forma:
- Alterações nos privilégios de tabelas e colunas fazem efeito com a próxima requisição do cliente.
- Alterações nos privilégios de bancos de dados fazem efeito no próximo comando
USE nome_bd
. - Alterações nos privilégios globais e alterações de senhas fazem efeito na próxima vez que o cliente conectar.