Como conectar e criar um banco de dados no MySQL?

17

Quero instalar o MySQL e criar um banco de dados usando o seguinte código:

sudo apt-get install mysql-server
mysqladmin -h localhost -u {username} -p create lrs

Recebo a seguinte mensagem depois de executar a segunda linha:

    Enter password:
    mysqladmin: connect to server at 'localhost' failed
    error: 'Access denied for user '{username}'@'localhost' (using password: YES)'

Qual é o problema?

user543489
fonte
11
Se você realmente usou esses 2 comandos, em que CONCEDE PRIVILIGES para {nome de usuário} (se não for admin / root) para acessar um banco de dados?
Rinzwind

Respostas:

26

Depois de instalar o MySQL, você precisa definir a senha root do mysql . Para fazer isso:

  1. Digite o próximo comando em um terminal:

    mysql -u root

  2. Agora ele deve abrir o console do mysql . E digite a seguinte linha:

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');

Para sair do console do mysql, digite exit.

Agora você deve criar o banco de dados com o usuário root . Para fazer isso:

  1. Abra o mysql do terminal:

    mysql -u root -p

  2. Digite a senha criada antes.

  3. Digite a seguinte linha:

    CREATE DATABASE yourdatabasename;

Se você entrar, SHOW DATABASES;deverá vê-lo na lista. Nesse caso, você tem um banco de dados pronto para uso!

Lucio
fonte
mysql -u rootme dáERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Nicolas Raoul
Esse erro significa que você já possui um rootusuário e ele possui uma senha. Se você esqueceu a rootsenha, leia a documentação do MySQL .
Lucio
1

Você precisa se conectar ao MySQL usando o usuário root e a senha associada. Se você precisar configurá-los, use o seguinte comando:sudo mysqladmin -u root -h localhost password 'mypassword'

A partir daí, você pode configurar contas adicionais seguindo este documento: Como criar um novo usuário e conceder permissões no MySQL

Bert
fonte
11
Copiei sudo mysqladmin -u root -h localhost password 'mypassword'e colei no meu terminal e recebo a mensagem Access denied for user 'root'@'localhost' (using password: NO).
user543489
@Bert Este código não irá funcionar. O que password 'mypassword'está errado, deveria estar-password 'mypassword'
Lucio
algo deve ser substituído por 'minha senha'?
user543489
Eu executei sudo mysqladmin -u root -h localhost -password 'mypassword', mas entendi Access denied for user 'root'@'localhost' (using password: YES).
user543489
@ user543489 O que acontece se você entrar mysql -u root?
Lucio
1

Isso é estranho, porque desde o 12.04 (supondo que você esteja executando o Kubuntu 12.04), o MySQL é o padrão. Parece que você está perdendo alguns passos, então vamos analisar isso:

Primeiro, como você mencionou, vamos fazer uma instalação,

sudo apt-get install mysql-server

Depois de instalá-lo, vamos tentar um pequeno teste,

sudo netstat -tap | grep mysql

Ao executar isso, você verá esta resposta,

tcp        0      0 localhost:mysql         *:*                LISTEN      2556/mysqld

Se isso não estiver funcionando corretamente, execute este comando de reinicialização,

sudo service mysql restart

Agora para configurar o servidor.

Vamos /etc/mysql/my.cnfpara definir as configurações básicas. Isso inclui o arquivo de log, o número da porta, etc. Por exemplo, para configurar o MySQL para escutar conexões de hosts de rede, altere a diretiva de endereço de ligação para o endereço IP do servidor:

bind-address            = 192.168.0.5

Depois disso, reinicie o daemon MySQL,

sudo service mysql restart

Se você deseja alterar a senha root do MySQL, execute o seguinte:

sudo dpkg-reconfigure mysql-server-5.5

O daemon será parado e você será solicitado a fornecer uma nova senha.

Quando terminar, você deverá estar configurado e algumas pesquisas no Google ensinarão como criar um banco de dados

Fonte: O Guia do Servidor Ubuntu

sharksfan98
fonte
0

Execute este comando:

sudo dpkg-reconfigure mysql-server-5.5

(5.5 é o número da versão, adapte se você tiver uma versão diferente)

Isso permitirá que você defina sua senha root do MySQL, que você poderá usar com os comandos mysqladmine mysql.

Nicolas Raoul
fonte
-1

Depois de instalar o MySQL, você precisa definir a senha root do mysql. Para fazer isso:

Enter the next command in a terminal:

mysql -u root -p

Enter Password: (Enter your password here).
Swathi S
fonte
Isso não contribui com nada que ainda não tenha sido dito na resposta aceita.
precisa saber é o seguinte
-1

Eu sei que isso tem 3 anos, mas eu também tive esse problema e queria postar minha resposta caso alguém fizesse a mesma pesquisa que eu.

mysqladmin: connect to server at 'localhost' failed

Isso indica que seu usuário não tem permissão para se conectar ao banco de dados, antes mesmo de entrar; não o usuário do banco de dados, seu usuário linux real. Execute tudo como superusuário: sudo mysql -u root -p

Somente root (o usuário linux ou um usuário com privilégios sudo) pode efetuar login no mysql como root (o usuário do banco de dados). Não consegui encontrar nenhum lugar para documentar isso, mas as experiências provaram que era o caso. Você pode criar um novo usuário com todos os mesmos direitos que o usuário root e isso não será restrito.

sudo mysql -u root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;

Agora, o "newuser" (ou qualquer outro nome que você escolher) pode ser logado como sem a necessidade do sudo e você pode usá-lo para todas as suas necessidades administrativas de banco de dados.

WizardStan
fonte
11
Usar a palavra probablyem uma resposta aqui é desaprovada.
WinEunuuchs2Unix
Bem, eu certamente não posso dizer que é sem testá-lo, agora posso?
precisa