Criar um usuário de banco de dados e dar-lhe os privilégios certos

Bancos de DadosphpMyAdmin e gerenciamento·· 1.136 visualizações· 3 min de leitura

Um banco de dados sem usuário não serve a ninguém, e um usuário com privilégios a mais é uma porta aberta. No cPanel faz-se em MySQL Databases: cria a base, cria o usuário, liga os dois e escolhe o que esse usuário pode fazer. Demora três minutos.

O cPanel acrescenta ao nome da base e do usuário o prefixo da conta, seguido de um sublinhado. Se a conta se chama abc e escreve loja, o nome verdadeiro é abc_loja. É esse nome completo que vai para a aplicação.

Passo a passo

1 No cPanel, abra MySQL Databases. Em Create New Database escreva um nome e clique em criar.
2 Mais abaixo, em MySQL Users, escolha um nome e uma senha forte. O gerador de senhas faz uma boa. Guarde-a já, porque não a voltará a ver.
3 Em Add User To Database, escolha o usuário e a base e clique em Add.
4 Aparece a lista de privilégios. Para uma aplicação (WordPress, loja, aplicação sua) marque ALL PRIVILEGES nesta base. Para uma consulta de relatórios, marque só SELECT.
5 Na aplicação, use três valores: o nome completo da base, o nome completo do usuário e a senha. O servidor é localhost.

Que privilégios dar

Privilégio O que permite Quando dar
SELECT Ler dados. Sempre. Sozinho, serve para relatórios e painéis só de leitura.
INSERT, UPDATE, DELETE Gravar, alterar e apagar linhas. A qualquer aplicação que escreva dados.
CREATE, ALTER, DROP, INDEX Mudar a estrutura das tabelas. Instalar e atualizar aplicações. Um usuário só de leitura não precisa.
ALL PRIVILEGES Tudo o que o cPanel permite, só nesta base. O normal para a aplicação que é dona da base.
O que dá errado: muda a senha do usuário no cPanel e esquece-se de a mudar no arquivo de configuração da aplicação. O site passa a mostrar Error establishing a database connection. Veja as causas, por ordem. Outra armadilha: apagar o usuário não apaga a base, e apagar a base não apaga o usuário.

Mais de um usuário na mesma base

Pode ligar vários usuários à mesma base, cada um com os seus privilégios. Por exemplo: um usuário para o site, com todos os privilégios; outro só com SELECT, para quem consulta números; e outro só com SELECT e LOCK TABLES, para a cópia automática. Se uma senha for divulgada, muda só essa. Em MySQL Databases, a seção Current Databases mostra os usuários ligados a cada base e deixa remover a ligação sem apagar o usuário.

Um usuário por aplicação. Se uma aplicação for comprometida, só perde a base dela. E não use a senha do cPanel para o banco de dados: são coisas diferentes e devem ter senhas diferentes. Veja onde cada aplicação guarda os dados de conexão.

Criou o usuário e a aplicação continua sem entrar? Diga-nos o nome da base e a mensagem de erro e vamos ver.

Abrir um pedido de suporte

VEJA TAMBÉM

Criar bancos de dados e usar o phpMyAdmin

Erro de conexão ao banco de dados: as causas por ordem

Gerador de senhas

PRODUTO RECOMENDADO

Hospedagem de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde R$ 36,30/mês (plano de 3 anos, com cupom)

Ver planos
Esta resposta foi útil? Sua resposta nos ajuda a melhorar este artigo.