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!

13
respostas

Os dados do banco não aparecem na página.

Rodei o fórum todo e apesar de em algumas publicações as duvidas serem as mesmas que a minha, tem um pequena diferença.

Criei o banco de dados, as tabelas e adicionei os livros, logo depois fiz a conexão no produtos.js:

module.exports = function(app) {
    app.get("/produtos",function(req, res) {
        var mysql = require('mysql');
        var connection = mysql.createConnection({
            host: "localhost",
            user: "root",
            password : "",
            database: "casadocodigo_nodejs",
        });

        connection.query('SELECT * FROM livros', function(err, results){
            res.send(results);
        });

        connection.end();

    });
}

O problema é que na minha página não aparece nada, no terminal não aparece nenhum erro, como se estivesse tudo certo. Já tentei com senha, sem senha, de tudo que é jeito, mas simplesmente não aparece, nem da nenhum erro.

Esta tudo certo no package.json, criei a tabela de mesmo jeito que foi criada no vídeo, usando o terminal consigo acessar ela tranquilo, só não consigo fazer aparecer no "site".

13 respostas

Acho que faltou mandar estabelecer a conexão

connection.connect();

Não funcionou

coloca o console.log(err) e ver o que ele retorna.

{ code: "ER_NOT_SUPPORTED_AUTH_MODE",errno: 1251,sqlMessage: "Client does not support authentication protocol requested by server; consider upgrading MySQL client",sqlState: "08004",fatal: true }

uma coisa que tu pode tentar é atualizar o mysql

Mesmo atualizado continua o mesmo erro

ta usando que SO? qual a versão do mysql?

Ubuntu 18.04 LTS
+-----------------------+
 | @@version             |
 +-----------------------+
 | 5.7.22-0ubuntu18.04.1 |
 +-----------------------+
 1 row in set (0.00 sec)
+-------------------------+-----------------------+
| Variable_name           | Value                 |
+-------------------------+-----------------------+
| innodb_version          | 5.7.22                |
| protocol_version        | 10                    |
| slave_type_conversions  |                       |
| tls_version             | TLSv1,TLSv1.1         |
| version                 | 5.7.22-0ubuntu18.04.1 |
| version_comment         | (Ubuntu)              |
| version_compile_machine | x86_64                |
| version_compile_os      | Linux                 |
+-------------------------+-----------------------+
8 rows in set (0.43 sec)

Já tentou zerar a senha do root? sei que ta zerado, mas pode ser isso. No meu zerei e rodou

Pode me dar uma dica? To pesquisando aqui, mas o tutorial que acho não da certo

CONSEGUI

Tiver que reinstalar o MySQL, depois criei um novo usuário para ele, e refiz tudo como o curso pediu. Funcionou pra mim!

Obrigado a todos pela ajuda/disponibilidade.

Era bom depois tu ver pq o root tava bloqueado.