Criando e associando usuários à bancos de dados específicos

Publicado por hermes nunes pereira junior em 30/11/2005

[ Hits: 24.075 ]

 


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';

5. Vamos efetivar as alterações:

mysql> FLUSH PRIVILEGES;

6. Saia do MySQL e reinicie o daemon:

mysql> quit;

# service mysql restart

Tente agora acessar com o novo usuário criado.

$ mysql -u user_sistema -p

Ele vai pedir a senha.

Pronto. Você está lá dentro. Digite

mysql> show databases;

Ele deve listar 2 BDs: test e sistema.

Tá pronto!

Vlw gente

hermes

Outras dicas deste autor

Configurando placa de captura de vídeo Pinnacle DC30+ no Conectiva 10

Bloqueando o Orkut em horários pré-determinados.

Conectiva 10 + LTSP 4.1

Lançado site com foco em Linux, áudio e vídeo

Leitura recomendada

MySQL - Recuperar dados em ordem aleatória (randômica)

SQL: Combinando INSERT + SELECT para duplicação de registros

XAMPP para Ubuntu 10

Reset de senha no MySQL

Pesquisa entre datas no MySQL

  

Comentários
[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!

Falow!

[2] Comentário enviado por hnpjunior em 01/12/2005 - 13:50h

Justamente andrey,

esta é uma outra forma boa também de fazer né?

Valeu o super comentário

hermes

[3] Comentário enviado por tarsisio em 01/12/2005 - 22:20h

bom podia
melhorar

[4] Comentário enviado por tarsisio em 01/12/2005 - 22:20h

talvez um nome mais sugestivo

[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?

Vlw
hermes

[6] Comentário enviado por neisjb em 05/08/2012 - 14:23h

Como Criar um usuário e limita-lo a criar no máximo 5 Banco de dados?

Preciso limitar ele quando vai criar mais de 5 Banco de dados.

Alguem tem Ideia?



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts