Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
18
respostas

Populando o banco

Caros ,

Não estou conseguindo importar o banco de dados do arquivo que é crucial para popular o banco de dados e o capítulo 2.A tela abre e depois fecha sozinha não conseguindo passar as informações.

18 respostas

Guilherme

Qual é a mensagem de erro quando você executa o comando ??

mysql -u root -p controle_compras < cap2.sql

ERROR 1085, Access Denied

Durante a instalação.

E se botar a informação:

mysql> -u root -p controle_compras < cap2.sql;

O seguinte erro aparece :

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 '-u root -p controle_compras < cap2.sql
-u root -p controle_compras < cap2.sql' at line 1

Guilherme

Esse mysql> não está correto. É apenas mysql. Você consegue acessar o MySQL sem importar o arquivo?. Digitando apenas

mysql -u root -p

Sim, porem não aparece os dados do banco.


mysql> show tables;
ERROR 1046 (3D000): No database selected
mysql> use controle_compras;
Database changed
mysql> show tables;
+----------------------------+
| Tables_in_controle_compras |
+----------------------------+
| compras                    |
+----------------------------+
1 row in set (1.04 sec)

mysql> select * from compras;
+----+-------+------------+---------------------------------------+----------+
| id | valor | data       | observacoes                           | recebido |
+----+-------+------------+---------------------------------------+----------+
|  1 |  1500 | 2014-05-14 | Geladeira Nova Porque A Velha Quebrou |        1 |
|  2 |  1500 | 2014-05-14 | Geladeira Nova Porque A Velha Quebrou |        1 |
|  3 |  1500 | 2014-05-14 | Geladeira Nova Porque A Velha Quebrou |        1 |
|  4 |   400 | 2014-05-18 | Celular Velho da Marca Xpto           |        0 |
+----+-------+------------+---------------------------------------+----------+
4 rows in set (1.01 sec)

mysql> -u root -p controle_compras < cap2.sql
    -> -u root -p controle_compras < cap2.sql;
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 '-u root -p controle_compras < cap2.sql
-u root -p controle_compras < cap2.sql' at line 1
mysql> mysql -u root -p
    -> mysql -u root -p;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    51
Current database: controle_compras

mysql> -u root -p controle_compras < cap2.sql
    -> -u root -p controle_compras < cap2.sql;
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 '-u root -p controle_compras < cap2.sql
-u root -p controle_compras < cap2.sql' at line 1
mysql> mysql -u root -p
    -> mysql -u root -p;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    51
Current database: controle_compras

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
mysql -u root -p' at line 1
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 '-u root -p' at line 1
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 '-u root -p' at line 1
mysql> mysql -u root -p
    -> 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
mysql -u root -p' at line 1
mysql> mysql -u root -p;

Guilherme

Você esta rodando o comando pedido no exercício dentro do Mysql, no entanto você precisa digitar exit para sair do prompt do MySQL e voltar para o prompt padrão.

No prompt padrão (C:>) você digita

mysql -u root -p controle_compras < cap2.sql

Após o escrever exit , inicio o MySQL e a seguinte informação:

Enter password: ************
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 58
Server version: 5.7.17-log MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Quando faço o que foi pedido:

mysql> mysql -u root -p controle_compras < cap2.sql;
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 controle_compras < cap2.sql' at line 1
mysql> -u root -p controle_compras < cap2.sql;
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 '-u root -p controle_compras < cap2.sql' at line 1
mysql>

Guilherme

você esta fazendo o que é pedido dentro do MySQL, isso esta errado. Veja, o prompt mysql> do código abaixo esta informando que você esta dentro do MySQL e o exercício pede que você execute o comando fora do MySQL

mysql> mysql -u root -p controle_compras < cap2.sql;

execute o comando exit dentro do MySql e volte para o promp da linha de comando (C:>), fora do MySql, isso é fundamental. Agora execute o comando que o exercício esta pedindo (sem o C:>, o prompt da linha de comando no diretório raiz)

c:\>mysql -u root -p controle_compras < cap2.sql

Se der tudo certo, o MySql vai pedir a senha e pronto. O script foi executado. Entre novamente no MySql e faça um select para confirmar se seus dados foram populados corretamente.

Jefferson , no prompt está aparecendo a seguinte informação:

Microsoft Windows [versão 10.0.14393]
(c) 2016 Microsoft Corporation. Todos os direitos reservados.

C:\Users\GUILHERME>\>mysql -u root -p controle_compras < cap2.sql
O sistema não pode encontrar o arquivo especificado.

C:\Users\GUILHERME>mysql -u root -p controle_compras < cap2.sql
O sistema não pode encontrar o arquivo especificado.

C:\Users\GUILHERME>>mysql -u root -p controle_compras < cap2.sql
O sistema não pode encontrar o arquivo especificado.

C:\Users\GUILHERME>mysql -u root -p controle_compras < cap2.sql
O sistema não pode encontrar o arquivo especificado.

C:\Users\GUILHERME>mysql -u root -p controle_compras < cap2.sql
O sistema não pode encontrar o arquivo especificado.

Guilherme

você precisa executar esse comando exatamente no diretório que o arquivo cap2.sql esta localizado ou independente do lugar que você esta no seu sistema, passar o caminho completo dele. Você também pode copiar o arquivo cap2.sql para dentro do diretório C:\Users\GUILHERME (que é esse que você esta usando) e executar o comando que você digitou acima que vai dar certo.

Jefferson , não está dando certo. Fiz exatamente o que vc me pediu. Botei o arquivo cap2 na pasta GUILHERME que corresponde o pompt acima e continua aparecendo o mesmo erro .

Microsoft Windows [versão 10.0.14393] (c) 2016 Microsoft Corporation. Todos os direitos reservados.

C:\Users\GUILHERME>mysql -u root -p controle_compras < cap2.sql; 'mysql' não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes.

C:\Users\GUILHERME>

Guilherme

digitando o comando abaixo , na linha de comando, o que retorna ?

C:\Users\GUILHERME>path

Jefferson, retorna :

C:\Users\GUILHERME>path
PATH=(null)

C:\Users\GUILHERME>

Guilherme, o path da sua máquina esta vazio

o path precisa ser configurado para executar o mysql em qualquer lugar da sua máquina:

Nessa aula: Instalando o banco de dados MySQL no Windows você tem o passo-a-passo para configura-la

procure por "Adicionando o MySQL a variável de ambiente Path"

Jefferson , está correto ?

C:\Users\GUILHERME>path
PATH=C:\Arquivos de Programas\MySQL\MySQL Server 5.7\bin\MySQL Server 5.7

Porém, o problema ainda persiste :

C:\Users\GUILHERME>mysql -u root -p controle_compras < cap2.sql
'mysql' não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.

C:\Users\GUILHERME>mysql -u root -p controle_compras < cap2.sql
'mysql' não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.

C:\Users\GUILHERME>

Como eu tiro o Users\GUILHERME da prompt ?

Qual é o caminho completo até a pasta bin aonde esta instalado seu MySql ??

Exatamente o que postei anterioemente :

C:\Program Files\MySQL\MySQL Server 5.7\bin
solução!

O path esta configurado errado

você configurou:

C:\Arquivos de Programas\MySQL\MySQL Server 5.7\bin\MySQL Server 5.7

mas o correto é

C:\Program Files\MySQL\MySQL Server 5.7\bin

Obrigado Jefferson !