Eu quero começar a escrever consultas no MySQL.
show grants
mostra:
+--------------------------------------+
| Grants for @localhost |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+--------------------------------------+
Não tenho nenhum ID de usuário, mas quando quero criar um usuário não tenho privilégios, também não sei como criar privilégios quando nem mesmo tenho um usuário!
mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'parsa';
ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER pr
ivilege(s) for this operation
Tentei entrar como root:
mysql> mysql -u root -p;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
-u root -p' at line 1
mysql> mysql -u root -p root;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
-u root -p root' at line 1
root
deveria ter sido criado quando você instalou o MySQL.mysql -u root -p
. Em seguida, você terá permissões completas no servidor de banco de dados e poderá criar outros usuários.Respostas:
Não, você deve executar
mysql -u root -p
no bash, não na linha de comando do MySQL. Se você estiver no mysql, poderá sair digitando exit .fonte
Pode ser necessário configurar uma conta root para o seu banco de dados MySQL:
No tipo de terminal:
E então para invocar o cliente MySQL:
fonte
Eu fui trazido aqui por um problema diferente. Sempre que tentava fazer login, recebia essa mensagem porque, em vez de me autenticar corretamente, fazia login como usuário anônimo. A solução para o meu problema foi:
Para ver qual usuário você é e cujas permissões você possui:
Para excluir o usuário anônimo irritante:
fonte
Isso é algo a ver com permissões de usuário. A concessão de subsídios adequados resolverá esse problema.
Etapa [1]: abra o terminal e execute este comando
Saída [1]: Isso deve fornecer o prompt do mysql mostrado abaixo
Passo 2]:
Sintaxe:
Etapa [3]: Saia do prompt atual do mysql digitando
quit
/exit
command ou pressioneCtrl+D
.Etapa [4]: faça login no seu novo usuário
Etapa [5]: criar o banco de dados
fonte
CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'your_password';
recebo erro: ERRO 1227 (42000): Acesso negado; Você precisa (pelo menos uma das) o privilégio CREATE (s) USUÁRIO para esta operaçãoVocê pode tentar o comando de login completo:
onde o anfitrião estaria
127.0.0.1
.Faça isso apenas para garantir a cooperação.
Usar
mysql -u root -p
me permite fazer muitas pesquisas no banco de dados, mas recusa qualquer criação de banco de dados devido a uma configuração de caminho.fonte
Primeiro, se você não estiver familiarizado com a linha de comando, tente usar o phpmyadmin no seu navegador da web. Isso garantirá que você realmente tenha um banco de dados mysql criado e um nome de usuário.
É assim que você se conecta a partir da linha de comando (bash):
Por exemplo:
fonte
-p
é para senha e você está usando para passar o nome do banco de dados. Além disso, para senha, não deve haver um espaço preto e branco-p
e a senha real. Use-D
para se conectar a um banco de dados específico.Se você estiver em um
MySQL
shell, saia do programa digitando exit , que retornará ao prompt de comando.Agora comece
MySQL
usando exatamente o seguinte comando:Se o seu nome de usuário não for root, substitua 'root' no comando acima por seu nome de usuário:
Em seguida, ele solicitará a
MySQL
conta / senha e vocêMySQL
não exibirá nenhum problema de privilégio de acesso.fonte
@Nickparsa… você tem 2 problemas:
1)
mysql -uroot -p
deve ser digitado no bash (também conhecido como seu terminal) e não na linha de comando do MySQL. Você corrige esse erro digitandona sua linha de comando do MySQL. Agora você está de volta à sua linha de comando do bash / terminal.
2) Você tem um erro de sintaxe:
o ponto e vírgula na frente de -p precisa ir. A sintaxe correta é:
digite a sintaxe correta em sua linha de comando do bash. Digite uma senha se você tiver uma configurada; caso contrário, basta pressionar o botão Enter. Você deve obter uma resposta semelhante a esta:
Espero que isto ajude!
fonte
A maioria dos desenvolvedores efetua login no servidor (presumo que você tenha nome de usuário e senha para o banco de dados mysql) e, a partir do Bash, eles alternam para
mysql> prompt
usar o comando abaixo (o que não funciona)O que precisa ser feito é usar o comando acima no prompt do bash -> ao fazê-lo, ele solicitará a senha, caso seja necessário, levará diretamente ao prompt do mysql e
então banco de dados, a tabela pode ser criada uma a uma
Enfrentei um impasse semelhante, então, compartilhando a experiência
fonte
Eu tinha o comando correto de acordo com as respostas acima, o que eu perdi foi no Workbench, onde mencionamos 'Limitar a conectividade do host' para o usuário, o padrão é "%" - altere para "localhost" e, em seguida, conecte-se bem!
fonte