Solucionado (ver solução)
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 !