Свързване на MySQL с NodeJS

Connecting Mysql With Nodejs



MySQL сървърът е много популярен сървър на бази данни и се поддържа от най-често използваните езици за програмиране, като PHP, Python, Perl, Java, C#и т.н. Това е приложение с отворен код, така че всеки може да изтегли това приложение за съхранение, извличане , актуализиране и изтриване на данни чрез използване на заявки към база данни. Ще изисквате сървърните и клиентските пакети да бъдат инсталирани във вашата система, за да извършвате различни видове операции с бази данни в сървъра на базата данни. MySQL сървърът сега става популярен и за разработчиците на Node. Разработчиците на възли започват да използват MySQL сървър с MongoDB за някои специални функции на MySQL сървъра. Как можете да направите връзка с MySQL сървър, използвайки node-mysql клиент, е показано в този урок.

Предпоставка:

Преди да започнете този урок, трябва да потвърдите, че MySQL сървърните и клиентските пакети са инсталирани и работят правилно във вашата система. Ако инсталирате MySQL сървъра за първи път, паролата на root потребителя е празна по подразбиране. Но трябва да зададете паролата за root потребителя, за да осъществи връзка с MySQL сървъра, използвайки node-mysql клиент. Можете да проверите това урок да знаете как да промените основната парола на MySQL сървъра.







Изпълнете следните команди, за да работите като root потребител и да се свържете с MySQL сървъра, като използвате MySQL клиент.



$sudo
$ mysql-uкорен-стр

Въведете основната парола и изпълнете следните SQL команди, за да създадете нова база данни, да създадете таблица в тази база данни и да вмъкнете някои записи в тази таблица.



Следващата команда ще създаде база данни с име mydb .





СЪЗДАВАЙТЕ БАЗА ДАННИ mydb;

Следващата команда за избор на базата данни за извършване на операции с база данни.

използвайте mydb;

Следващата команда ще създаде таблица с име Книга в базата данни mydb.



СЪЗДАВАЙТЕ ТАБЛИЦА Книга(
документ за самоличност INT (6) НЕПОДПИСАН АВТОМАТИЧНО УВЕЛИЧАВАНЕ ОСНОВЕН КЛЮЧ ,
заглавие ВАРЧАР (петдесет) НЕ НУЛА ,
автор ВАРЧАР (петдесет) НЕ НУЛА ,
цена int (5));

Следващата команда ще вмъкне четири записа в Книга маса.

ИНСЕРТ ВЪВ Книга стойности
( НУЛА ,„Изучаване на PHP и MySQL“, 'Робин Никсън', Четири пет),
( НУЛА ,„Изучаване на JQuery“, 'Джонатан', 35),
( НУЛА ,„Ъглово в действие“, 'Джеръми', петдесет),
( НУЛА ,'Овладяване на Laravel', 'Кристофър', 55);

Инсталирайте mysql клиент за nodejs:

Изпълнете следната команда, за да проверите nodejs е инсталиран в системата, преди да изпълни командата за инсталиране на mysql клиент на nodejs. Той ще покаже инсталираната версия на nodejs.

$възел-v

Ако не е инсталиран, трябва да го инсталирате, като изпълните следната команда.

$sudo apt-get installnodejs

Ще ви е необходим друг пакет с име над морското равнище да бъде инсталиран в системата, за да инсталирате mysql клиент за nodejs. Ако не е инсталиран, изпълнете следната команда за инсталиране над морското равнище .

$sudo apt-get installнад морското равнище

Сега изпълнете следната команда, за да актуализирате системата.

$sudo apt-get update

Следващата команда ще се инсталира mysql модул за nodejs, който ще работи като mysql клиент.

$над морското равнищеИнсталирайmysql

Проста MySQL връзка, използваща NodeJS:

Създайте JS файл с име connection1.js със следния скрипт, за да осъществите връзка с предварително създадената база данни с име mydb и четете данни от Книга маса. mysql модулът се импортира и се използва за създаване на проста връзка с MySQL сървъра. След това ще бъде изпълнена заявка за четене на всички записи от Книга таблица, ако базата данни е свързана правилно. Ако заявката е изпълнена правилно, тогава всички записи на Книга таблицата ще бъде отпечатана в терминала и връзката с базата данни ще бъде затворена.

connection1.js

// Импортиране на модул mysql
нека mysql=изискват('mysql');

// Настройка на параметър за свързване към база данни
нека връзка=mysql.createConnection({
домакин: 'localhost',
потребител: 'корен',
парола: '1234',
база данни: 'mydb'
});

// Свържете се с базата данни
Връзка.свържете се(функция(И) {
ако (И) {

// Показва съобщение за грешка при неуспех
връщанеконзола.грешка('грешка:' +И.съобщение);
}

// Показва съобщение за успех, ако е свързано
конзола.дневник('нСвързан към MySQL сървъра ...н');
});

// Задайте съобщението на заявката
$ query= 'SELECT * от книга';

// Изпълнение на заявката към базата данни
Връзка.запитване($ query, функция(И,редове) {
ако(И){

// Показва съобщението за грешка
конзола.дневник(„Възникна грешка при изпълнението на заявката.“);
връщане;
}
/* Показва форматираните данни, извлечени от таблицата „книга“
използва за цикъл */

конзола.дневник(„Записите на таблицата с книги:н');
конзола.дневник('ЗаглавиеTTTTАвторTTценан');
за(нека ред от редове) {
конзола.дневник(ред['заглавие'],'TT',ред['автор'],'T','$',ред['цена']);
}
});

// Затваряне на връзката към базата данни
Връзка.край(функция(){
конзола.дневник('нВръзката е затворена.н');
});

Изход:

Изпълнете следната команда, за да изпълните скрипта.

$връзка с възел1.js

Следният изход ще се появи след стартиране на скрипта.

Обединена MySQL връзка, използваща NodeJS:

Осъществяване на проста MySQL връзка с NodeJS с помощта mysql модул е ​​показан в предишния пример. Но много потребители могат да се свързват едновременно със сървъра на базата данни чрез приложението, когато приложението е създадено с MySQL база данни за производствени цели. Вие ще изисквате експресно модул за обработка на едновременни потребители на база данни и поддръжка на множество връзки към база данни.

Изпълнете следната команда, за да инсталирате експресно модул.

$над морското равнищеИнсталирайекспресно

Създайте JS файл с име connection2.js със следния скрипт. Ако се свържете с MySQL със следния скрипт, тогава 10 едновременни потребители ще могат да направят връзка със сървъра на базата данни и да извлекат данни от таблицата въз основа на заявката. Той ще направи връзка на порт 5000.

connection2.js

// Импортиране на модул mysql
къдетоmysql=изискват('mysql');

// Импортиране на експресен модул
къдетоекспресно=изискват('експрес');

// Дефиниране на обект на експресния модул
къдетоприложение=експресно();

// Направете връзка с база данни за работа с 10 едновременни потребители
къдетобасейн=mysql.createPool({
connectionLimit: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, надявам се, че ще можете да се справите със задачата си, след като прочетете този урок.