Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: MySQL ::: Dicas & Truques ::: Gerenciamento de Contas de Usuários

Entenda como o MySQL gerencia contas de usuários e senhas

Quantidade de visualizações: 6115 vezes
O MySQL armazena dados das contas de usuários na tabela user na base de dados mysql. Assim, a qualquer momento podemos ver quais contas estão disponíveis disparando um comando SELECT nesta tabela:

----------------------------------------------------------------------
Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar)

Este código foi útil? Paga um cafezinho pra mim :-(
PIX: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

SELECT * FROM user;

Uma conta de usuário é definida em termos do nome de usuário e a máquina ou máquinas clientes a partir da qual o usuário poderá se conectar ao servidor. Contas de usuários podem e devem ter uma senha.

Há várias diferenças entre a forma que nomes de usuários e senhas são usadas pelo MySQL e aquela usada pelos sistemas operacionais. Vamos à algumas delas:

a) Nomes de usuários, com o propósito de autenticação no MySQL, não possuem nenhuma relação com os nomes de usuários (logins) dos sistemas operacionais, tais como Windows, Linux, Unix, etc. No Linux, a maioria dos clientes MySQL tentam, por padrão, se conectar ao banco de dados usando o nome do usuário atualmente logado no S.O. Mas esta é apenas uma facilidade. Este comportamento padrão pode ser facilmente sobrescrito, uma vez que os programas clientes (que se conectam ao banco de dados) permitem que o nome de usuário seja especificado usando-se as opções -u ou --user. Veja um exemplo do uso da ferramenta mysql para abrir uma conexão com o banco de dados. Note o uso das opções -u e -p para informar o usuário e senha:

C:\Documents and Settings\Osmar>mysql -u root -p
Enter password: *********
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 26
Server version: 5.0.67-community-nt MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
Uma vez que qualquer pessoa pode tentar se conectar ao servidor MySQL usando qualquer nome de usuário, é importante definirmos senhas para todas as contas de usuários, a fim de tornar as bases de dados mais seguras. Se um invasor adivinhar um nome de usuário para uma conta sem senha, nada o impedirá de acessar o banco de dados.

b) Os nomes de usuários do MySQL podem ter no máximo 16 caracteres. Os nomes de usuários dos sistemas operacionais, por outro lado, podem possuir tamanhos máximos diferentes, até porque estes não estão relacionados aos nomes de usuários do MySQL. Como exemplo, os nomes de usuários do Unix são restritos a oito caracteres.

Importante: O limite de tamanho nos nomes de usuários do MySQL está definido no servidor e cliente MySQL. Não há forma segura de alterar este limite modificando as definições das tabelas na base de dados mysql. Este procedimento não funcionará.

c) É recomendável usarmos somente caracteres ASCII para os nomes de usuários e senhas.

d) O servidor usa as senhas do MySQL armazenadas na tabela user para autenticar as conexões dos clientes usando a autenticação embutida. Essas senhas não possuem nenhuma ligação com as senhas usadas para logar no sistema operacional. Não há ligação necessária entre a senha "externa" que você usa para se logar no Windows ou Linux e a senha que você usar para acessar o servidor MySQL na mesma máquina.

e) O MySQL criptografa as senhas armazenadas na tabela user usando um algorítmo próprio. Esta criptografia é a mesma que aquela implementada pela função SQL PASSWORD() mas difere daquela usada durante o processo de login no Unix. A criptografia de senhas do Unix é a mesma que aquela implementada pela função SQL PASSWORD().

Desde a versão 4.1 o MySQL emprega um método de autenticação mais forte e que tem uma melhor proteção de senhas durante o processo de conexão do que nas versões anteriores. É seguro até mesmo se os pacotes TCP/IP forem interceptados (sniffed) ou a base de dados MySQL for capturada. Em versões anteriores, mesmo se as senhas forem guardadas de forma criptografada na tabela user, conhecimento do valor da senha criptografada poderia ser usado para se conectar ao servidor MySQL.

Quando instalamos o MySQL, as tabelas de permissões (grant tables) são preenchidas com um conjunto inicial de contas. A partir daí podemos adicionar, modificar ou remover contas MySQL usando instruções tais como CREATE USER, GRANT e REVOKE.

Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de MySQL

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 29 usuários muito felizes estudando em nosso site.