Σύνδεση MySQL με NodeJS

Connecting Mysql With Nodejs



Ο διακομιστής MySQL είναι ένας πολύ δημοφιλής διακομιστής βάσεων δεδομένων και υποστηρίζεται από κυρίως γλώσσες προγραμματισμού, όπως PHP, Python, Perl, Java, C#, κλπ. Είναι μια εφαρμογή ανοιχτού κώδικα, οπότε ο καθένας μπορεί να κατεβάσει αυτήν την εφαρμογή για αποθήκευση, ανάκτηση , ενημέρωση και διαγραφή δεδομένων χρησιμοποιώντας ερωτήματα βάσης δεδομένων. Θα απαιτήσετε την εγκατάσταση του πακέτου διακομιστή και πελάτη στο σύστημά σας για την εκτέλεση διαφορετικών τύπων λειτουργιών βάσης δεδομένων στο διακομιστή βάσης δεδομένων. Ο διακομιστής MySQL γίνεται πλέον δημοφιλής και για προγραμματιστές κόμβου. Οι προγραμματιστές κόμβων αρχίζουν να χρησιμοποιούν διακομιστή MySQL με MongoDB για ορισμένες ειδικές δυνατότητες του διακομιστή MySQL. Ο τρόπος με τον οποίο μπορείτε να δημιουργήσετε μια σύνδεση με τον διακομιστή MySQL χρησιμοποιώντας το πρόγραμμα-πελάτη node-mysql φαίνεται σε αυτό το σεμινάριο.

Προαπαιτούμενο:

Πριν ξεκινήσετε αυτό το σεμινάριο, πρέπει να επιβεβαιώσετε ότι τα πακέτα διακομιστή και πελάτη MySQL είναι εγκατεστημένα και λειτουργούν σωστά στο σύστημά σας. Εάν εγκαταστήσετε τον διακομιστή MySQL για πρώτη φορά, τότε ο κωδικός πρόσβασης του χρήστη χρήστη είναι κενός από προεπιλογή. Αλλά πρέπει να ορίσετε τον κωδικό πρόσβασης για τον χρήστη root για να κάνει μια σύνδεση με τον διακομιστή MySQL χρησιμοποιώντας το κόμβος-mysql πελάτης. Μπορείτε να το ελέγξετε αυτό φροντιστήριο για να μάθετε πώς να αλλάξετε τον κωδικό πρόσβασης ρίζας του διακομιστή MySQL.







Εκτελέστε τις ακόλουθες εντολές για να λειτουργήσετε ως χρήστης ρίζας και συνδεθείτε με τον διακομιστή MySQL χρησιμοποιώντας το πρόγραμμα -πελάτη MySQL.



$sudo -Εγώ
$ mysql-uρίζα

Εισαγάγετε τον κωδικό πρόσβασης ρίζας και εκτελέστε τις ακόλουθες εντολές SQL για να δημιουργήσετε μια νέα βάση δεδομένων, δημιουργήστε έναν πίνακα σε αυτήν τη βάση δεδομένων και εισαγάγετε μερικές εγγραφές σε αυτόν τον πίνακα.



Η ακόλουθη εντολή θα δημιουργήσει μια βάση δεδομένων με όνομα mydb Το





ΔΗΜΙΟΥΡΓΩ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ mydb?

Η ακόλουθη εντολή για να επιλέξετε τη βάση δεδομένων για την εκτέλεση λειτουργιών βάσης δεδομένων.

χρήση mydb?

Η ακόλουθη εντολή θα δημιουργήσει έναν πίνακα με όνομα Βιβλίο στη βάση δεδομένων mydb



ΔΗΜΙΟΥΡΓΩ ΤΡΑΠΕΖΙ Βιβλίο(
ταυτότητα INT (6) ΧΩΡΙΣ ΥΠΟΓΡΑΦΗ ΑΥΤΟΜΑΤΗ ΑΥΞΗΣΗ ΠΡΩΤΕΥΩΝ ΚΛΕΙΔΙ ,
τίτλος VARCHAR (πενήντα) ΔΕΝ ΜΗΔΕΝΙΚΟ ,
συγγραφέας VARCHAR (πενήντα) ΔΕΝ ΜΗΔΕΝΙΚΟ ,
τιμή int (5))?

Η ακόλουθη εντολή θα εισαγάγει τέσσερις εγγραφές Βιβλίο τραπέζι.

ΕΙΣΑΓΕΤΕ ΣΕ Βιβλίο αξίες
( ΜΗΔΕΝΙΚΟ ,«Εκμάθηση PHP και MySQL», «Ρόμπιν Νίξον», Τέσσερα πέντε),
( ΜΗΔΕΝΙΚΟ ,'Εκμάθηση JQuery', 'Ιωαναθάν', 35),
( ΜΗΔΕΝΙΚΟ ,'Angular in Action', 'Τζέρεμι', πενήντα),
( ΜΗΔΕΝΙΚΟ ,«Mastering Laravel», 'Χριστόφορος', 55)?

Εγκατάσταση πελάτη mysql για nodejs:

Εκτελέστε την ακόλουθη εντολή για έλεγχο nodejs είναι εγκατεστημένο στο σύστημα πριν εκτελέσετε την εντολή εγκατάστασης του προγράμματος -πελάτη mysql των nodejs. Θα εμφανίσει την εγκατεστημένη έκδοση των nodejs.

$κόμβος

Εάν δεν είναι εγκατεστημένο, πρέπει να το εγκαταστήσετε εκτελώντας την ακόλουθη εντολή.

$sudo apt-get installnodejs

Θα χρειαστείτε ένα άλλο πακέτο με το όνομα πάνω από το επίπεδο της θάλασσας να εγκατασταθεί στο σύστημα για εγκατάσταση του προγράμματος -πελάτη mysql για nodejs. Εάν δεν είναι εγκατεστημένο, εκτελέστε την ακόλουθη εντολή για εγκατάσταση πάνω από το επίπεδο της θάλασσας Το

$sudo apt-get installπάνω από το επίπεδο της θάλασσας

Τώρα, εκτελέστε την ακόλουθη εντολή για να ενημερώσετε το σύστημα.

$sudo apt-get ενημέρωση

Η ακόλουθη εντολή θα εγκατασταθεί mysql ενότητα για nodejs που θα λειτουργήσει ως πελάτης mysql.

$πάνω από το επίπεδο της θάλασσαςεγκαθιστώmysql

Απλή σύνδεση MySQL χρησιμοποιώντας το NodeJS:

Δημιουργήστε ένα αρχείο JS με όνομα σύνδεση1.js με το ακόλουθο σενάριο για να δημιουργήσετε μια σύνδεση με τη βάση δεδομένων που δημιουργήθηκε προηγουμένως mydb και να διαβάσετε δεδομένα από Βιβλίο τραπέζι. mysql Η ενότητα εισάγεται και χρησιμοποιείται για τη δημιουργία μιας απλής σύνδεσης με τον διακομιστή MySQL. Στη συνέχεια, θα εκτελεστεί ένα ερώτημα για ανάγνωση όλων των εγγραφών από Βιβλίο πίνακα, εάν η βάση δεδομένων είναι σωστά συνδεδεμένη. Εάν το ερώτημα εκτελέστηκε σωστά, τότε όλες οι εγγραφές του Βιβλίο ο πίνακας θα εκτυπωθεί στο τερματικό και η σύνδεση της βάσης δεδομένων θα κλείσει.

σύνδεση1.js

// Εισαγωγή ενότητας mysql
αφήστε το mysql=απαιτώ('mysql')?

// Ρύθμιση παραμέτρου σύνδεσης βάσης δεδομένων
αφήστε τη σύνδεση=mysql.createConnection({
πλήθος: 'localhost',
χρήστης: 'ρίζα',
Κωδικός πρόσβασης: '1234',
βάση δεδομένων: 'mydb'
})?

// Συνδεθείτε με τη βάση δεδομένων
σύνδεση.συνδέω-συωδεομαι(λειτουργία(Και) {
αν (Και) {

// Εμφάνιση μηνύματος σφάλματος σε περίπτωση αποτυχίας
ΕΠΙΣΤΡΟΦΗκονσόλα.λάθος('λάθος: ' +Και.μήνυμα)?
}

// Εμφάνιση μηνύματος επιτυχίας εάν είναι συνδεδεμένο
κονσόλα.κούτσουρο(' nΣυνδέθηκε με τον διακομιστή MySQL ... n')?
})?

// Ορίστε το μήνυμα ερωτήματος
$ query= 'SELECT * από το βιβλίο'?

// Εκτέλεση του ερωτήματος της βάσης δεδομένων
σύνδεση.ερώτηση($ query, λειτουργία(Και,σειρές) {
αν(Και){

// Εμφάνιση του μηνύματος σφάλματος
κονσόλα.κούτσουρο('Παρουσιάστηκε σφάλμα κατά την εκτέλεση του ερωτήματος.')?
ΕΠΙΣΤΡΟΦΗ?
}
/* Εμφάνιση των μορφοποιημένων δεδομένων που ανακτήθηκαν από τον πίνακα 'βιβλίο'
χρησιμοποιώντας για βρόχο */

κονσόλα.κούτσουρο(«Τα αρχεία του πίνακα βιβλίων: n')?
κονσόλα.κούτσουρο('Τίτλος t t t tΣυγγραφέας t tτιμή n')?
Για(αφήστε τη σειρά των σειρών) {
κονσόλα.κούτσουρο(σειρά['τίτλος'],' t t',σειρά['συγγραφέας'],' t','$',σειρά['τιμή'])?
}
})?

// Κλείστε τη σύνδεση της βάσης δεδομένων
σύνδεση.τέλος(λειτουργία(){
κονσόλα.κούτσουρο(' nΗ σύνδεση έκλεισε. n')?
})?

Παραγωγή:

Εκτελέστε την ακόλουθη εντολή για να εκτελέσετε το σενάριο.

$σύνδεση κόμβου1.js

Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση του σεναρίου.

Συνδυασμένη σύνδεση MySQL χρησιμοποιώντας το NodeJS:

Κάνοντας μια απλή σύνδεση MySQL με το NodeJS χρησιμοποιώντας mysql η ενότητα εμφανίζεται στο προηγούμενο παράδειγμα. Αλλά πολλοί χρήστες μπορούν να συνδεθούν με τον διακομιστή βάσης δεδομένων ταυτόχρονα μέσω της εφαρμογής, όταν η εφαρμογή δημιουργείται με MySQL βάση δεδομένων για σκοπούς παραγωγής. Θα απαιτήσετε το εξπρές ενότητα για τον χειρισμό ταυτόχρονων χρηστών βάσεων δεδομένων και υποστήριξη πολλαπλών συνδέσεων βάσεων δεδομένων.

Εκτελέστε την ακόλουθη εντολή για να εγκαταστήσετε το εξπρές μονάδα μέτρησης.

$πάνω από το επίπεδο της θάλασσαςεγκαθιστώεξπρές

Δημιουργήστε ένα αρχείο JS με όνομα σύνδεση2.js με το παρακάτω σενάριο. Εάν συνδεθείτε με το MySQL με το ακόλουθο σενάριο, τότε 10 ταυτόχρονοι χρήστες θα μπορούν να κάνουν μια σύνδεση με τον διακομιστή βάσης δεδομένων και να ανακτήσουν δεδομένα από τον πίνακα με βάση το ερώτημα. Θα κάνει σύνδεση στη θύρα 5000.

σύνδεση2.js

// Εισαγωγή ενότητας mysql
όπουmysql=απαιτώ('mysql')?

// Εισαγωγή ενότητας express
όπουεξπρές=απαιτώ('εξπρές')?

// Ορισμός αντικειμένου της ενότητας express
όπουεφαρμογή=εξπρές()?

// Πραγματοποιήστε σύνδεση βάσης δεδομένων για να χειριστείτε 10 ταυτόχρονους χρήστες
όπουπισίνα=mysql.createPool({
όριο σύνδεσης:10,
πλήθος: 'localhost',
χρήστης: 'ρίζα',
Κωδικός πρόσβασης: '1234',
βάση δεδομένων: 'mydb',
εντοπισμός σφαλμάτων: αληθής
})?

/* Δημιουργήστε συγκεντρωτική σύνδεση με μια βάση δεδομένων και διαβάστε συγκεκριμένες εγγραφές από έναν πίνακα αυτής
βάση δεδομένων */

λειτουργίαhandle_database(αίτηση,απάντηση) {

// Κάντε σύνδεση
πισίνα.getConnection(λειτουργία(Και,σύνδεση){
αν (Και) {

// Αποστολή μηνύματος σφάλματος για ανεπιτυχή σύνδεση και τερματισμός
απάντηση.json({'κώδικας' : 300, 'κατάσταση' : «Σφάλμα σύνδεσης βάσης δεδομένων»})?
ΕΠΙΣΤΡΟΦΗ?
}

// Εμφάνιση μηνύματος επιτυχίας στο τερματικό
κονσόλα.κούτσουρο('Συνδεδεμένη βάση δεδομένων')?

// Διαβάστε συγκεκριμένες εγγραφές από τον πίνακα βιβλίων
σύνδεση.ερώτηση('SELECT * από το βιβλίο όπου ο τίτλος είναι'%PHP%'ή ο τίτλος μου αρέσει
'%Laravel%' '
,λειτουργία(Και,σειρές){σύνδεση.ελευθέρωση()?
αν(!Και) {

// Επιστρέψτε το σύνολο αποτελεσμάτων του ερωτήματος εάν εκτελεστεί με επιτυχία
απάντηση.json(σειρές)?
}
})?

// Ελέγξτε εάν το σφάλμα σύνδεσης εμφανίζεται ή όχι
σύνδεση.επί('λάθος', λειτουργία(Και) {
απάντηση.json({'κώδικας' : 300, 'κατάσταση' : «Σφάλμα σύνδεσης βάσης δεδομένων»})?
ΕΠΙΣΤΡΟΦΗ?
})?
})?
}

// Καλέστε τη λειτουργία για τη δημιουργία συνδέσεων
εφαρμογήπαίρνω('/',λειτουργία(αίτηση,απάντηση){-
handle_database(αίτηση,απάντηση)?
})?

// Ακούστε το αίτημα σύνδεσης στη θύρα 5000
εφαρμογήακούω(5000)?

Παραγωγή:

Εκτελέστε το σενάριο από το τερματικό όπως το προηγούμενο παράδειγμα. Θα περιμένει το αίτημα σύνδεσης μετά την εκτέλεση του σεναρίου.

$σύνδεση κόμβου2.js

Τώρα, ανοίξτε οποιοδήποτε πρόγραμμα περιήγησης και μεταβείτε στην ακόλουθη διεύθυνση URL για να στείλετε ένα αίτημα σύνδεσης.

http: // localhost: 5000

Η ακόλουθη έξοδος θα εμφανιστεί ως απάντηση μετά την εκτέλεση του ερωτήματος.

Εάν ανοίξετε το τερματικό τώρα, θα δείτε την ακόλουθη έξοδο.

Δέκα αιτήματα σύνδεσης μπορούν να σταλούν ταυτόχρονα από 10 προγράμματα περιήγησης με τον τρόπο που αναφέρθηκε παραπάνω.

Συμπέρασμα:

Οι πιο απλοί τρόποι εργασίας με MySQL και NodeJS παρουσιάζονται με δύο παραδείγματα σε αυτό το σεμινάριο. Εάν είστε νέος προγραμματιστής Node και θέλετε να εργαστείτε με τη βάση δεδομένων MySQL, ελπίζω ότι θα μπορείτε να κάνετε την εργασία σας αφού διαβάσετε αυτό το σεμινάριο.