Подключение MySQL к NodeJS

Сервер MySQL — очень популярный сервер баз данных, который поддерживается наиболее часто используемыми языками программирования, такими как PHP, Python, Perl, Java, C # и т. д. Это приложение с открытым исходным кодом, поэтому любой может загрузить его. приложение для хранения, извлечения, обновления и удаления данных с помощью запросов к базе данных. Вам потребуется установить серверный и клиентский пакеты в вашей системе для выполнения различных типов операций с базой данных на сервере базы данных. Сервер MySQL теперь становится популярным и для разработчиков Node. Разработчики узлов начинают использовать сервер MySQL с MongoDB для некоторых специальных функций сервера MySQL. В этом руководстве показано, как установить соединение с сервером MySQL с помощью клиента node-mysql.

Предварительные требования:

Перед тем, как начать это руководство, вы должны подтвердить, что сервер и клиент MySQL пакеты установлены и правильно работают в вашей системе. Если вы устанавливаете сервер MySQL впервые, пароль пользователя root по умолчанию пуст. Но вы должны установить пароль для пользователя root, чтобы установить соединение с сервером MySQL с помощью клиента node-mysql . Вы можете проверить это руководство, чтобы узнать, как изменить пароль root на сервере MySQL.

Выполните следующие команды, чтобы работать как пользователь root и подключиться к серверу MySQL с помощью клиента MySQL.

$ sudo -i
$ mysql -u root -p

Введите пароль root и выполните следующие команды SQL чтобы создать новую базу данных, создайте таблицу в этой базе данных и вставьте в нее несколько записей.

Следующая команда создаст базу данных с именем mydb .

CREATE DATABASE mydb;

Следующая команда для выбора базы данных для выполнения операций с базой данных.

use mydb;

Следующая команда создаст таблицу с именем book в базе данных mydb.

СОЗДАТЬ ТАБЛИЦУ book (
id INT (6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
title VARCHAR (50) NOT NULL,
author VARCHAR (50) NOT NULL,
price int (5));

Следующие команда вставит четыре записи в таблицу book .

INSERT INTO book values ​​
(NULL, ‘Learning PHP and MySQL’ , ‘Робин Никсон’, 45),
(NULL, ‘Learning JQuery’, ‘Jonathan’, 35),
(NULL, ‘Angular in Action’, ‘Jeremy’, 50),
(NULL, ‘Mastering Laravel’, ‘Christopher’, 55);

Установите клиент mysql для nodejs:

Запустите Следующая команда проверяет, установлен ли nodejs в системе перед запуском команды установки клиента mysql для nodejs. Он покажет установленную версию nodejs.

$ node -v

Если он не установлен, вам необходимо установить его выполнив следующую команду.

$ sudo apt-get install nodejs

Вам потребуется другой пакет с именем npm для установки в системе для установки клиента mysql для nodejs. Если он не установлен, то выполните следующую команду для установки npm .

$ sudo apt-get install npm

Теперь выполните следующую команду, чтобы обновить систему.

$ sudo apt-get update

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

$ npm install mysql

Простое соединение MySQL с использованием NodeJS:

Создайте файл JS с именем connection1.js со следующим сценарием, чтобы установить соединение с ранее создал базу данных с именем mydb и прочитал данные из таблицы book . Модуль mysql импортируется и используется для создания простого соединения с сервером MySQL. Затем будет выполнен запрос на чтение всех записей из таблицы book , если база данных подключена правильно. Если запрос выполнен правильно, то все записи таблицы book будут напечатаны в терминале и соединение с базой данных будет закрыто.

connection1. js

//Импортируем модуль mysql
let mysql = require (‘mysql’);

//Настройка параметра подключения к базе данных
let connection = mysql.createConnection ({
host: ‘localhost’,
user: ‘root’,
password: ‘1234’ ,
database: ‘mydb’
});

//Соединяемся с базой данных
connection.connect (function (e) {
if (e) {

//Показывать сообщение об ошибке при сбое
return console.error (‘error:’ + e.message);
}

//Показывать сообщение об успешном подключении
console.log (‘ nConnected to the MySQL server … n’);
}) ;

//Устанавливаем сообщение запроса
$ query = ‘SELECT * from book’;

//Выполняем запрос к базе данных
connection.query ($ query, function (e, rows) {
if (e) {

//Показать сообщение об ошибке
consol e.log («Произошла ошибка при выполнении запроса.»);
return;
}
/* Отображение форматированных данных, полученных из таблицы ‘book’
использование цикла for */
console.log («Записи таблицы книги: n»);
console.log («Название t t t t Автор t tprice n «);
для (пусть строка строк) {
console.log (строка [‘title’],» t t «, row [‘author’],» t «,» $ «, row [‘price’]);
}
});

//Закрываем соединение с базой данных
connection.end (function () {
console.log (‘ nConnection closed. n’);
});

Вывод:

Выполните следующую команду, чтобы выполнить сценарий.

$ node connection1.js

После запуска скрипта появится следующий результат..

Объединенное соединение MySQL с использованием NodeJS:

Создание простого MySQL-соединения с NodeJS с использованием модуля mysql показано в предыдущем примере. Но многие пользователи могут одновременно подключаться к серверу базы данных через приложение, когда приложение создано с базой данных MySQL для производственных целей. Вам потребуется модуль express для обработки одновременных пользователей базы данных и поддержки нескольких подключений к базе данных.

Выполните следующую команду, чтобы установить express .

$ npm install express

Создайте файл JS с именем connection2.js следующим скриптом. Если вы подключаетесь к MySQL с помощью следующего сценария, то 10 одновременных пользователей смогут установить соединение с сервером базы данных и получить данные из таблицы на основе запроса. Он установит соединение через порт 5000.

connection2.js

//Импортируем модуль mysql
var mysql = require (‘mysql’);

//Импортировать экспресс-модуль
var express = require («express»);

//Определить объект экспресс-модуля
var app = express ();

//Установить соединение с базой данных для обработки 10 одновременных пользователей
var pool = mysql.createPool ({
connectionLimit: 10,
хост: ‘localhost’,
пользователь: ‘root’,
пароль: ‘1234’,
database: ‘mydb’,
debug: true
});

/* Создать объединенное соединение с базой данных и прочитать определенные записи из таблица этой
базы данных */
function handle_database (request, response) {

//Создаем соединение
pool.getConnection (function (e , соединение) {
if (e) {

//Отправляем сообщение об ошибке при неудачном соединении и завершаем работу
response.json ({«code»: 300, «status»: «Ошибка подключения к базе данных»});
return;
}

//Отображение сообщения об успешном выполнении в терминале
console.log (‘База данных подключена’);

//Чтение определенных записей из таблицы книг
connection.query («ВЫБРАТЬ * из книги, где заголовок похож на ‘% PHP%’ или заголовок как
‘% Laravel%'», function (e, rows) {connection.release ();
if (! e) {

//Возвращаем набор результатов запроса, если он успешно выполнен
response.json (rows);
}
});

//Проверяем, возникает ли ошибка подключения
connection.on (‘error’, function (e) {
response. json ({«code»: 300, «status»: «Ошибка подключения к базе данных»});
return;
});
});
}

//Вызов функции для установления соединений
app.get («/», function (request, response) {-
handle_database (request, response) ;
});

//Прослушиваем запрос подключения на порт 5000
app. listen (5000);

Вывод:

Запустите сценарий из терминала, как в предыдущем примере. Он будет ждать запроса на соединение после запуска скрипта.

$ node connection2.js

Теперь откройте любой браузер и перейдите по следующему URL-адресу, чтобы отправить запрос на подключение.

http://localhost: 5000

Следующий вывод появится в качестве ответа после выполнения запроса.

Если вы откроете терминал сейчас, вы увидите следующий результат.

Десять запросов на подключение могут быть отправлены одновременно из 10 браузеров указанным выше способом.

Заключение:

Самые простые способы работы с MySQL и NodeJS показаны на двух примерах в этом руководстве. Если вы новый разработчик Node и хотите работать с базой данных MySQL, я надеюсь, что вы сможете выполнить свою задачу после прочтения этого руководства.

Оцените статью
nanomode.ru
Добавить комментарий