Assim que você começar a usar o MySQL, você receberá um nome de usuário e uma senha. Essas credenciais iniciais concederão a você acesso root ou controle total de todos os seus bancos de dados e tabelas. No entanto, há momentos em que você precisará conceder acesso ao banco de dados a outra pessoa sem conceder a ela controle total.
Criando Usuários no MySQL
Abaixo iremos criar o usuário maria.
Para criar uma nova conta de usuário no MySQL, siga estas etapas:
#1 Acesse a linha de comando e entre no servidor MySQL:
mysql -u root -p
#2 Em seguida, execute o seguinte comando
CREATE USER 'maria'@'localhost' IDENTIFIED BY '1234';
maria é o nome que demos à nossa nova conta de usuário e a seção IDENTIFIED BY cria a senha “1234”. aqui é apenas um exemplo, nunca crie uma senha fraca assim no mundo real. Você pode substituir esses valores pelos seus próprios.
#3 Para conceder todos os privilégios do banco de dados para um usuário recém-criado, faça:
GRANT ALL PRIVILEGES ON * . * TO 'maria'@'localhost';
#4 para aplicar as alterações execute:
FLUSH PRIVILEGES;
Concedendo Privilégios por Partes
Acima concedemos todos os privilégios à conta maria. Mas podemos ter e conceder em partes. Aqui estão os comandos mais usados no MySQL:
- CREATE permite que os usuários criem um banco de dados ou tabela
- SELECT permite que os usuários recuperem dados
- INSERT permite que os usuários adicionem novas entradas nas tabelas
- UPDATE permite que os usuários modifiquem as entradas existentes nas tabelas
- DELETE permite que os usuários apaguem as entradas da tabela
- DROP permite que os usuários excluam tabelas inteiras do banco de dados
Exemplos:
podemos atribuir CREATE e SELECT à nossa conta de usuário MySQL não root com este comando:
GRANT CREATE, SELECT ON * . * TO 'maria'@'localhost';
você pode se deparar com uma situação em que precisa revogar determinados privilégios de um usuário. Você pode fazer isso digitando:
REVOKE CREATE, SELECT ON nomeBanco.nomeTabela FROM ‘maria’@‘localhost’;
para retirar todos os privilégios para nosso usuário não root, devemos usar
REVOKE ALL PRIVILEGES ON * . * FROM 'maria'@'localhost';
Por fim, você pode excluir totalmente uma conta de usuário existente usando o seguinte comando:
DROP USER ‘maria’@‘localhost’;
Outro Exemplo
CREATE USER 'maria'@'hostname';
GRANT ALL PRIVILEGES ON dbTest.* To 'maria'@'hostname' IDENTIFIED BY 'password';
Comment on “MySQL para Iniciantes: Como criar usuário e conceder privilégios”