0

[The error i'm constantly getting! please help me out here. I have tried to re-install mysql several times and even tried mysql2 package instead of mysql.]

const express = require('express');
const mysql = require('mysql');
const bodyParser = require('body-parser');
const app = express()

app.use(express.json());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: true
}));
// Default Route
app.get('/', (req, res) => {
    res.send('Hello world !!!!!')
})

// connection configurations
const mysqlConnection = mysql.createConnection({
    host: 'localhost',
    people: 'root',
    password: 'password',
    database: 'sampledb',
    multipleStatements: true
    // HOST: 'localhost',
    // USER: 'root',
    // PASSWORD: 'password',
    // DB: 'sampledb',
    // PORT: 3306
});
// connect to database
mysqlConnection.connect((err) => {
    if (!err)
        console.log("The connection is established successfully");
    else
        throw (err);
});

// Retrieve all people from people
app.get('/people', function (req, res) {
    mysqlConnection.query('SELECT * FROM people', function (error, results, fields) {
        if (error) throw error;
        return res.send({ error: false, data: results, message: 'people list.' });
    });
});
// Retrieve people with id 
app.get('/people/:id', function (req, res) {
    let people_id = req.params.id;
    if (!people_id) {
        return res.status(400).send({ error: true, message: 'Please provide people_id' });
    }
    mysqlConnection.query('SELECT * FROM people where id=?', people_id, function (error, results, fields) {
        if (error) throw error;
        return res.send({ error: false, data: results[0], message: 'people list.' });
    });
});
// Add a new people  
app.post('/people', function (req, res) {
    let people = req.body.people;
    if (!people) {
        return res.status(400).send({ error: true, message: 'Please provide people' });
    }
    mysqlConnection.query("INSERT INTO people SET ? ", { people: people }, function (error, results, fields) {
        if (error) throw error;
        return res.send({ error: false, data: results, message: 'New people has been created successfully.' });
    });
});
//  Update people with id
app.put('/people', function (req, res) {
    let people_id = req.body.people_id;
    let people = req.body.people;
    if (!people_id || !people) {
        return res.status(400).send({ error: people, message: 'Please provide people and people_id' });
    }
    mysqlConnection.query("UPDATE people SET people = ? WHERE id = ?", [people, people_id], function (error, results, fields) {
        if (error) throw error;
        return res.send({ error: false, data: results, message: 'people has been updated successfully.' });
    });
});
//  Delete people
app.delete('/people', function (req, res) {
    let people_id = req.body.people_id;
    if (!people_id) {
        return res.status(400).send({ error: true, message: 'Please provide people_id' });
    }
    mysqlConnection.query('DELETE FROM people WHERE id = ?', [people_id], function (error, results, fields) {
        if (error) throw error;
        return res.send({ error: false, data: results, message: 'people has been updated successfully.' });
    });
});

app.listen(3000, () => {
    console.log('Server is started at port 3000');
});

]1

Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client at Handshake.Sequence._packetToError (E:\Sample-Application\CRUD-App\node_modules\mysql\lib\protocol\sequences\Sequence.js:47:14)
at Handshake.ErrorPacket (E:\Sample-Application\CRUD-App\node_modules\mysql\lib\protocol\sequences\Handshake.js:123:18) at Protocol._parsePacket (E:\Sample-Application\CRUD-App\node_modules\mysql\lib\protocol\Protocol.js:291:23) at Parser._parsePacket (E:\Sample-Application\CRUD-App\node_modules\mysql\lib\protocol\Parser.js:433:10) at Parser.write (E:\Sample-Application\CRUD-App\node_modules\mysql\lib\protocol\Parser.js:43:10) at Protocol.write (E:\Sample-Application\CRUD-App\node_modules\mysql\lib\protocol\Protocol.js:38:16) at Socket. (E:\Sample-Application\CRUD-App\node_modules\mysql\lib\Connection.js:88:28) at Socket. (E:\Sample-Application\CRUD-App\node_modules\mysql\lib\Connection.js:526:10) at Socket.emit (node:events:513:28) at addChunk (node:internal/streams/readable:315:12) -------------------- at Protocol._enqueue (E:\Sample-Application\CRUD-App\node_modules\mysql\lib\protocol\Protocol.js:144:48) at Protocol.handshake (E:\Sample-Application\CRUD-App\node_modules\mysql\lib\protocol\Protocol.js:51:23) at Connection.connect (E:\Sample-Application\CRUD-App\node_modules\mysql\lib\Connection.js:116:18) at Object. (E:\Sample-Application\CRUD-App\Server.js:30:17) at Module._compile (node:internal/modules/cjs/loader:1126:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10) at Module.load (node:internal/modules/cjs/loader:1004:32) at Function.Module._load (node:internal/modules/cjs/loader:839:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at node:internal/main/run_main_module:17:47 { 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 } [nodemon] app crashed - waiting for file changes before starting...

Please Help me out here this is my first question on stack-overflow. I'm completely new to this world.

0 Answers0