Lỗi không kết nối được mysql với node năm 2024

- Để chuẩn bị cho series học Node.js & MySQL này thì các bạn sẽ cần phải chuẩn bị các kiến thức và phần mềm sau:

  • MySql database (ở đây mình sử dụng xampp luôn vì mình đã cài xampp rồi) và bạn phải có kiến thức về hệ quản trị cơ sở dữ liệu này.
  • Module mysql. Để cài đặt mysql các bạn cần chạy lệnh npm : npm i -s mysql

- Sau khi đã chuẩn bị được các phần mềm và kiến thức mình đã nêu ra ở trên rồi, thì bây giờ chúng ta bắt đầu viết code để kết nối node.js đến mysql.

Để kết nối node.js đến mysql chúng ta cần require module mysql mà chúng ta đã cài đặt (ở trên) theo cú pháp:

var mysql = require('mysql);

Cấu hình kết nối

-Tiếp đó chúng ta cần phải sử dụng phương thức createConnection trong module mysql để cấu hình kết nối đến mysql theo cú pháp:

var conn = mysql.createConnection({

host    : hostName,  
user    : userName,  
password: password,  
database: databaseName,  
charset : charsetType  
});

Trong đó:

  • var conn = mysql.createConnection({
    host    : hostName,  
    user    : userName,  
    password: password,  
    database: databaseName,  
    charset : charsetType  
    
    });
    0 - là host database của các bạn.
  • var conn = mysql.createConnection({
    host    : hostName,  
    user    : userName,  
    password: password,  
    database: databaseName,  
    charset : charsetType  
    
    });
    1 - là user để đăng nhập vào mysql (nếu dùng xampp mặc định sẽ là admin).
  • var conn = mysql.createConnection({
    host    : hostName,  
    user    : userName,  
    password: password,  
    database: databaseName,  
    charset : charsetType  
    
    });
    2 - là mật khẩu của user để đăng nhập vào mysql (nếu dùng xampp mặc định sẽ bỏ trắng).
  • var conn = mysql.createConnection({
    host    : hostName,  
    user    : userName,  
    password: password,  
    database: databaseName,  
    charset : charsetType  
    
    });
    3 - là database các bạn cần kết nối (nếu không muốn cấu hình có thể bỏ trống).
  • var conn = mysql.createConnection({
    host    : hostName,  
    user    : userName,  
    password: password,  
    database: databaseName,  
    charset : charsetType  
    
    });

    4 - là kiểu charset. Mặc định thì charset =

    var conn = mysql.createConnection({
    host    : hostName,  
    user    : userName,  
    password: password,  
    database: databaseName,  
    charset : charsetType  
    
    });
    5.
  • và còn nhiều thông số khác nữa, bạn có thể tham khảo thêm tại .

Hoặc bạn cũng có thể kết nối đến MySQL dưới dạng string theo cú pháp:

var connection = mysql.createConnection('mysql://user:pass@host/db?charset=BIG5_CHINESE_CI&timezone=-0700');

Trong đó: Các tham số truyền vào có giá trị tương ứng như ở phần cấu hình object. và các param truyền theo sẽ được cấu hình cách nhau bởi dấu

var conn = mysql.createConnection({

host    : hostName,  
user    : userName,  
password: password,  
database: databaseName,  
charset : charsetType  
});

6 (GET Method).

VD1: Cấu hình kết nối node.js đến mysql (thông số mặc định của xampp).

var conn = mysql.createConnection({

host    : 'localhost',  
user    : 'root',  
password: '',  
database: 'mysql_node'  
});

Thực hiện kết nối.

-Sau khi đã cấu hình xong thông tin config, bây giờ chúng ta sẽ sử dụng phương thức connect để tiến hành kết nối đến database theo cú pháp:

conn.connect(); //hoặc conn.connect(function (err) {

//code  
});

Trong đó:

  • var conn = mysql.createConnection({
    host    : hostName,  
    user    : userName,  
    password: password,  
    database: databaseName,  
    charset : charsetType  
    
    });
    7 - là object mysql đã chứa thông tin kết nối database.
  • var conn = mysql.createConnection({
    host    : hostName,  
    user    : userName,  
    password: password,  
    database: databaseName,  
    charset : charsetType  
    
    });
    8 - là biến chứa thông tin lỗi nếu có.

VD2: Kết nối đến database và in ra lỗi nếu có.

var mysql = require('mysql'); var conn = mysql.createConnection({

host    : 'localhost',  
user    : 'root',  
password: '',  
database: 'mysql_node'  
}); //kết nối. conn.connect(function (err){
//nếu có nỗi thì in ra  
if (err) throw err.stack;  
//nếu thành công  
console.log('ket noi thanh cong');  
});

Lúc này nếu như thông số bạn điền đúng thì chương trình sẽ trả về kết quả:

ket noi thanh cong

Đóng kết nối.

Để đóng kết nối Node.js với MySQL thì mọi người sử dụng phương thức end với cú pháp như sau:

conn.end(); //hoặc conn.end(function (err) {

//  
});

Trong đó:

  • var conn = mysql.createConnection({
    host    : hostName,  
    user    : userName,  
    password: password,  
    database: databaseName,  
    charset : charsetType  
    
    });
    7 - là object mysql đã chứa thông tin kết nối database.
  • var conn = mysql.createConnection({
    host    : hostName,  
    user    : userName,  
    password: password,  
    database: databaseName,  
    charset : charsetType  
    
    });
    8 - là biến chứa thông tin lỗi nếu có.

VD3: Đóng kết nối Node.js với MySQL.

conn.end(function (err) {

if (err) throw err;  
console.log('dong ket noi thanh cong');  
});

3, Lời kết.

- Trên thực tế thì tham số truyền vào phương thức connect có thể là một callback function (giống như ), nhưng chúng ta không nên sủ dụng cách đó ở đây vì nó khó quản lý source hơn.