Selesaikan masalah ralat sambungan Node.js dan MySQL pada Windows
P粉794177659
P粉794177659 2024-02-21 16:47:21
0
1
346

Pertama, saya bekerja di Window.

Saya memberikan maklumat yang diperlukan dengan tepat (hos, pengguna, kata laluan, port, pangkalan data) tetapi ia memberikan ralat.

code: 'ER_ACCESS_DENIED_ERROR',
    errno: 1045,
    sqlMessage: "Access denied for user 'root'@'localhost' (using password: YES)",
    sqlState: '28000',
    fatal: true

Saya mencuba pelbagai cara untuk menyelesaikan masalah ini tetapi semuanya gagal. Saya tidak tahu mengapa memasang semula MySQL buat sementara waktu menyelesaikannya. Tetapi apabila saya memulakan semula komputer saya, ralat muncul lagi. Saya segera mengekodnya, bermain dengan versi dan mencubanya.

Kod saya

const express = require('express');
    const app = express();
    const mysql = require('mysql');
    const port = process.env.PORT || 4000;

    const connection = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "123456",
    port: "3306",
    database: "study01"
    });
    console.log(connection);
    connection.connect();
    
    app.listen(app.get('port'), () => console.log(`Listening on port ${port}`));

Pelayan MySQL dan versi modul

mysql server : 5.7.38
nodejs : 16.15.1
nodejs mysql : 2.18.1
nodejs express : 4.18.1

Saya dah cuba benda ni

  • Tukar kata laluan, buat pengguna lain
  • ALTER USER 'root'@'localhost' IDENTIFIED with mysql_native_password BY '123456';
  • Pasang semula Node.js dan npm
  • Pasang semula MySQL

P粉794177659
P粉794177659

membalas semua(1)
P粉270891688

Masalahnya ialah akaun anda tidak mempunyai kebenaran untuk menyambung ke pangkalan data.

Arahan anda memberikan kebenaran, namun, anda memerlukan cincang kata laluan akaun.

Dapatkan cincang kata laluan akaun anda sedang berjalan

USE mysql;
SELECT Password FROM user WHERE User = 'your Username';

Output itu kemudian disalurkan ke bahagian pencincangan kata laluan bagi arahan ini

GRANT ALL PRIVILEGES ON *.* TO `your Username`@`%` IDENTIFIED BY PASSWORD 'your password hash' WITH GRANT OPTION
Aksara

% ialah kad bebas supaya ia membolehkan anda menyambung ke pangkalan data daripada sebarang alamat IP. Untuk keselamatan tambahan, anda boleh mengehadkannya kepada alamat IP anda sahaja

Semoga ini membantu.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan