Criando e associando usuários à bancos de dados específicos
Oi amigos,
Outro dia passei pela seguinte situação. Precisava que um DB fosse acessado por apenas um usuário. Esta é uma situação interessante, pois você limita a ação de um usuário à apenas seu banco de dados, sem acesso aos demais bancos.
Imagina só inúmeros BDs sendo acessados só por um usuário. Se só você mexer, menos mal. Mas imagina um computador onde o BD é usado por um monte de pessoas e programas web, um descuido e tudo poderia ser alterado, não gosto nem de pensar.
Para criar o user e associá-lo a um BD, vamos seguir então os passos:
1. Acesse o MySQL:
# mysql -u root -p
2. Crie uma base de dados para o tal user:
mysql > create database sistema;
3. Vamos dar as permissões ao user:
mysql> GRANT SELECT,DELETE,UPDATE,INSERT ON sistema.* TO user_sistema@localhost;
4. Vamos criar uma senha para o usuário:
mysql> UPDATE USER SET PASSWORD=PASSWORD ('Digitar a senha') WHERE USER='user_sistema';
[1] Comentário enviado por andrey em 01/12/2005 - 11:57h
Algumas correções Hermes:
Você pode definir a senha diretamente no GRANT, adicionando:
identified by 'senha'
ficaria assim:
GRANT SELECT,DELETE,UPDATE,INSERT ON sistema.* TO USER user_sistema@localhost identified by 'senha'
assim não precisa do update e do flush privileges.
Também em nenhum caso é necessário reiniciar o mysql!
[5] Comentário enviado por hnpjunior em 02/12/2005 - 07:38h
Oi gente, bão?
Vamos fazer uma dica mais completa então. Eu só coloquei umas das formas de se fazer. O andrey deu uma boa sugestão, vamos fazer então uma dica que seja mais completa, enxuta?