Informações sobre privilégios de usuários são armazenados
        nas tabelas user, db,
        host, tables_priv e
        columns_priv no banco de dados chamado
        mysql. O servidor MySQL lê o conteúdo
        destas tabelas quando ele inicia e sob as circunstâncias
        indicadas em Secção 4.4.3, “Quando as Alterações nos Privilégios tem Efeito”.
      
        Os nomes usados neste manual que se referem-se aos privilégios
        fornecidos pelo MySQL são vistos abaixo juntos com o nome da
        coluna associada com cada privilégio nas tabelas de permissão
        e o contexto em que o privilégio se aplica. Informações
        adicionais sobre o significado de cada privilégio pode ser
        encontrado em Secção 4.4.1, “A Sintaxe de GRANT e REVOKE”.
      
| Privilégio | Coluna | Contexto | 
| ALTER | Alter_priv | tabelas | 
| DELETE | Delete_priv | tabelas | 
| INDEX | Index_priv | tabelas | 
| INSERT | Insert_priv | tabelas | 
| SELECT | Select_priv | tabelas | 
| UPDATE | Update_priv | tabelas | 
| CREATE | Create_priv | banco de dados, tabelas, ou índices | 
| DROP | Drop_priv | banco de dados ou tabelas | 
| GRANT | Grant_priv | banco de dados ou tabelas | 
| REFERENCES | References_priv | banco de dados ou tabelas | 
| CREATE TEMPORARY TABLES | Create_tmp_tabela_priv | administração do servidor | 
| EXECUTE | Execute_priv | administração do servidor | 
| FILE | File_priv | acessa a arquivos no servidor | 
| LOCK TABLES | Lock_tabelas_priv | administração do servidor | 
| PROCESS | Process_priv | administração do servidor | 
| RELOAD | Reload_priv | administração do servidor | 
| REPLICATION CLIENT | Repl_client_priv | administração do servidor | 
| REPLICATION SLAVE | Repl_slave_priv | administração do servidor | 
| SHOW DATABASES | Show_db_priv | administração do servidor | 
| SHUTDOWN | Shutdown_priv | administração do servidor | 
| SUPER | Super_priv | administração do servidor | 
        Os priviláegios SELECT,
        INSERT, UPDATE e
        DELETE permitem realizar operações em
        registros nas tabelas existentes em um banco de dados.
      
        Instruções SELECT necessitam do privilégio
        select somente se ele precisar
        recuperar registros de uma tabela. Você pode executar certas
        instruções SELECT mesmo sem permissão para
        acessar algum dos bancos de dados no servidor. Por exemplo,
        você pode usar o cliente mysql como uma
        simples calculadora:
      
mysql>SELECT 1+1;mysql>SELECT PI()*2;
        O privilégio INDEX permite a criação ou
        remoção de índices.
      
        O privilégio ALTER permite utilizar
        ALTER TABLE.
      
        Os privilégios CREATE e
        DROP permitem a criação de novos bancos de
        dados e tabelas, ou a remoção de bancos de dados e tabelas
        existentes.
      
        Perceba que se for concedido o privilégio
        DROP no banco de dados
        mysql para algum usuário, este usuário pode
        remover o banco de dados no qual os privilégios de acesso do
        MySQL estão armazenados!
      
        O privilégio GRANT permite a você fornecer
        a outros usuários os privilégios que você mesmo possui.
      
        O privilégio FILE fornece permissão para
        ler e escrever arquivos no servidor usando instruções
        LOAD DATA INFILE e SELECT ... INTO
        OUTFILE. Qualquer usuário que tenha este privilégio
        pode ler ou gravar qualquer arquivo que o servidor MySQL possa
        ler ou escrever. O usuário também pode ler qualquer arquivo no
        diretório de banco de dados atual. O usuário não pode, no
        entanto, alterar qualquer arquivo existente.
      
        Os privilégios restantes são usados para operações
        administrativas, que são realizadas utilizando o programa
        mysqladmin. A tabela abaixo mostra quais
        comandos do mysqladmin cada privilégio
        administrativos permite a execução:
      
| Privilégio | Comandos permitidos | 
| RELOAD | reload,refresh,flush-privileges,flush-hosts,flush-logs, andflush-tables | 
| SHUTDOWN | shutdown | 
| PROCESS | processlist | 
| SUPER | kill | 
        O comando reload diz ao servidor para
        recarregar as tabelas de permissões. O comando
        refresh descarrega todas as tabelas e abre e
        fecha os arquivos de log. flush-privileges é
        um sinônimo para reload. Os outros comandos
        flush-* realizam funções similares ao
        refresh mas são mais limitados no escopo e
        podem ser preferíveis em alguns casos. Por exemplo, se você
        deseja descarregar apenas os arquivos log,
        flush-logs é uma melhor escolha do que
        refresh.
      
        O comando shutdown desliga o servidor.
      
        O comando processlist mostra informações
        sobre as threads em execução no servidor. O comando
        kill mata threads no servidor. Você sempre
        poderá mostrar ou matar suas próprias threads, mas você
        precisa do privilégio PROCESS para mostrar e
        privilégio SUPER para matar threads
        iniciadas por outros usuários. See Secção 4.6.7, “Sintaxe de KILL”.
      
É uma boa idéia em geral conceder privilégios somente para aqueles usuários que necessitem deles, mas você deve ter muito cuidado ao conceder certos privilégios:
O privilégio grant permite aos usuários repassarem seus privilégios a outros usuários. Dois usuários com diferentes privilégios e com o privilégio grant conseguem combinar seus privilégios.
O privilégio alter pode ser usado para subverter o sistema de privilégios renomeando as tabelas.
            O privilégio FILE pode ser usado com
            abuso para ler qualquer arquivo de leitura no servidor em
            uma tabela de banco de dados, o conteúdo pode ser acessando
            utilizando SELECT. Isto inclui o
            conteúdo de todos os bancos de dados hospedados pelo
            servidor!
          
            O privilégio SHUTDOWN pode ser utilizado
            para negar inteiramente serviços para oturos usuários,
            terminando o servidor.
          
            O privilégio PROCESS pode ser usado para
            ver o texto das consultas atualmente em execução,
            incluindo as consultas que configuram ou alteram senhas.
          
            Privilégios no banco de dados mysql pode
            ser utilizado para alterar senhas e outras informações de
            privilégio de acesso. (Senhas são armazenadas
            criptografadas, portanto um usuário malicioso não pode
            simplesmente lê-las para saber as senhas em texto puro). Se
            fosse possível acessar a coluna password do banco
            mysql.user, seria possível logar ao
            servidor MySQL como outro usuário. (Com privilégios
            suficientes, o mesmo usuário pode trocar a senha por outra
            diferente.)
          
Existema algumas coisas que você não pode fazer com o sistem de privilégios do MySQL:
Você não pode especificar explicitamente que um determinado usuário deve ter acesso negado. Você não pode explicitamente comparar um usuário e depois recusar sua conexão.
Você não pode especificar que um usuário tenha privilégios para criar ou remover tabelas em um banco de dados, mas não possa criar ou remover o banco de dados.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

