Estou usando o utilitário de linha de comando MySQL e posso navegar através de um banco de dados. Agora eu preciso ver uma lista de contas de usuário. Como posso fazer isso?
Eu estou usando a versão MySQL 5.4.1
.
mysql
command-line
mysql5
burntsugar
fonte
fonte
Respostas:
Use esta consulta:
O que produzirá uma tabela como esta:
Como Matthew Scharley aponta nos comentários desta resposta , você pode agrupar pela
User
coluna se quiser ver apenas nomes de usuários exclusivos.fonte
User
também, para obter apenas valores de usuário únicos, pois há uma linha separada para cada entradauser
@host
.DELETE FROM mysql.user;
melhor terWHERE user='someuser' and host='somehost';
Se o fizerDELETE FROM mysql.user;
, todos os usuários se foram. Logins após o próximo mysql reiniciam ouFLUSH PRIVILEGES;
eliminam usuários da memória. Aqui está um exemplo de uma das minhas postagens sobre como agir comDELETE FROM mysql.user
responsabilidade: dba.stackexchange.com/questions/4614/…SHOW GRANTS FOR 'user'@'host';
DISTINCT
palavra-chave:SELECT DISTINCT user FROM mysql.user;
Acho esse formato o mais útil, pois inclui o campo host, que é importante no MySQL para distinguir entre os registros do usuário.
fonte
host
entrará em jogo ao trabalhar com bancos de dados mysql? [Mysql Noob]host
entra em ação quando você está se conectando a partir de um servidor diferente. É possível conceder acesso diferente a'packer'@'example.com'
e'packer'@'google.com'
Uma conta de usuário inclui o nome de usuário e o acesso no nível do host.
Portanto, essa é a consulta que fornece todas as contas de usuário
fonte
user@host
formato é usado para definir senhas. Omitir o host doSET PASSWORD
comando produz um erro.SET PASSWORD FOR wordpressuser = PASSWORD('...');
produz o erroERROR 1133 (42000): Can't find any matching row in the user table
. Inclua o host e ele funciona.SET PASSWORD FOR wordpressuser@localhost = PASSWORD('...');
produzQuery OK, 0 rows affected (0.00 sec)
.ORDER BY user
a ele.para evitar repetições de usuários quando eles se conectam de origem diferente:
fonte
O MySQL armazena as informações do usuário em seu próprio banco de dados. O nome do banco de dados é
MySQL
. Dentro desse banco de dados, as informações do usuário estão em uma tabela, um conjunto de dados, nomeadouser
. Se você deseja ver quais usuários estão configurados na tabela de usuários do MySQL, execute o seguinte comando:fonte
Se você está se referindo aos usuários reais do MySQL, tente:
fonte
É uma mesa grande, portanto, você pode querer ser mais seletivo em quais campos escolher.
fonte
localhost
,127.0.0.1
E::1
. Qual devo manter e o que devo excluir? Obrigado!Entre no mysql como root e digite a seguinte consulta
fonte
GRANT SELECT ON mysql.user TO 'user1'@'localhost';
agora entre como user1 e digite commandselect User from mysql.user;
Você verá a lista de usuários exibida. :) +1 EnjoyA tabela mysql.db é possivelmente mais importante na determinação dos direitos do usuário. Eu acho que uma entrada nele é criada se você mencionar uma tabela no comando GRANT. No meu caso, a tabela mysql.users não mostrou permissões para um usuário quando obviamente conseguiu conectar e selecionar, etc.
fonte
Eu uso isso para classificar os usuários, para que os hosts permitidos sejam mais fáceis de identificar:
fonte
Peter e Jesse estão corretos, mas apenas certifique-se de selecionar primeiro o banco de dados mysql.
use mysql;
select User from mysql.user;
isso deve fazer o seu truque
fonte
use mysql;
no caso de você colocar a tabela no banco de dados mysql, como você fez. Você pode apenasselect User from mysql.user;
use mysql;
é apenas para que você pode usarselect User from user;
em vezselect User from mysql.user;
desde que é geralmente uma consulta uma vez, não há necessidade de usar o banco de dados mysqluse mysql
se você tivesse usado,select user from user;
isso poderia ter sido algo, mas você está usandomysql.user
, o que torna o usouse mysql
no início desnecessário.Isso exibe a lista de usuários únicos:
fonte
A execução deste comando no prompt do linux solicitará primeiro a senha do usuário root do mysql; ao fornecer a senha correta, imprimirá todos os usuários do banco de dados no arquivo de texto.
fonte
Achei o seu mais útil, pois fornece informações adicionais sobre os privilégios DML e DDL
fonte
use a consulta acima para obter usuários do Mysql
fonte