NodeJS

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

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

Предпосылка:

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

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

$ sudo -i
$ mysql -u корень -p

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

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

СОЗДАТЬ БАЗУ ДАННЫХ mydb;

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

используйте mydb;

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

СОЗДАТЬ ТАБЛИЦУ книгу (
id INT (6) НЕПОДПИСАННЫЙ ПЕРВИЧНЫЙ КЛЮЧ AUTO_INCREMENT,
title VARCHAR (50) NOT NULL,
автор VARCHAR (50) NOT NULL,
цена int (5));

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

ВСТАВИТЬ балансовую стоимость
(NULL, «Изучение PHP и MySQL», «Робин Никсон», 45),
(NULL, 'Learning JQuery', 'Jonathan', 35),
(NULL, 'Angular в действии', 'Джереми', 50),
(NULL, «Освоение Laravel», «Кристофер», 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 установить mysql

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

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

соединение1.js

// Импортируем модуль mysql
пусть mysql = require ('mysql');
// Настройка параметра подключения к базе данных
пусть соединение = MySQL.createConnection (
хост: 'localhost',
пользователь: 'root',
пароль: '1234',
база данных: 'mydb'
);
// Соединяемся с базой данных
связь.connect (function (e)
if (e)
// Показывать сообщение об ошибке при сбое
возвратная консоль.error ('error:' + e.сообщение);

// Показываем сообщение об успешном подключении
приставка.log ('\ nПодключен к серверу MySQL… \ n');
);
// Устанавливаем сообщение запроса
$ query = 'ВЫБРАТЬ * из книги';
// Выполняем запрос к базе данных
связь.query ($ query, function (e, rows)
if (e)
// Показать сообщение об ошибке
приставка.log ("Ошибка при выполнении запроса.");
возвращаться;

/ * Отображаем отформатированные данные, полученные из таблицы 'book'
использование цикла for * /
приставка.log ("Записи таблицы книги: \ n");
приставка.журнал ("Название \ t \ t \ t \ t Автор \ t \ tprice \ n");
for (пусть строка из строк)
приставка.журнал (строка ['название'], «\ t \ t», строка ['автор'], «\ t», «$», строка ['цена']);

);
// Закрываем соединение с базой данных
связь.end (function ()
приставка.log ('\ nСоединение закрыто.\ n ');
);

Выход:

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

$ node connection1.js

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

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

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

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

$ npm установить экспресс

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

соединение2.js

// Импортируем модуль mysql
var mysql = require ('mysql');
// Импортировать экспресс-модуль
var express = require ("экспресс");
// Определяем объект экспресс-модуля
вар приложение = экспресс ();
// Устанавливаем соединение с базой данных для обработки 10 одновременных пользователей
var pool = mysql.createPool (
connectionLimit: 10,
хост: 'localhost',
пользователь: 'root',
пароль: '1234',
база данных: 'mydb',
отладка: правда
);
/ * Устанавливаем объединенное соединение с базой данных и читаем определенные записи из этой таблицы
база данных */
function handle_database (запрос, ответ)
// Устанавливаем соединение
бассейн.getConnection (function (e, connection)
if (e)
// Отправляем сообщение об ошибке при неудачном соединении и завершаем работу
отклик.json ("код": 300, "статус": "Ошибка подключения к базе данных");
возвращаться;

// Отображение сообщения об успешном завершении в терминале
приставка.log ('База данных подключена');
// Чтение определенных записей из таблицы книги
связь.query ("ВЫБРАТЬ * из книги, где заголовок похож на '% PHP%' или заголовок вроде
'% Laravel%' ", функция (e, rows) соединение.релиз();
если(!e)
// Возвращаем набор результатов запроса, если он успешно выполнен
отклик.json (строки);

);
// Проверяем, есть ли ошибка подключения
связь.on ('ошибка', функция (e)
отклик.json ("код": 300, "статус": "Ошибка подключения к базе данных");
возвращаться;
);
);

// Вызов функции для установления соединений
приложение.get ("/", функция (запрос, ответ) -
handle_database (запрос, ответ);
);
// Слушаем запрос на соединение через порт 5000
приложение.слушайте (5000);

Выход:

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

$ node connection2.js

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

http: // локальный: 5000

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

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

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

Заключение:

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

Лучшие игры с отслеживанием рук
Oculus Quest недавно представил отличную идею отслеживания рук без контроллеров. С постоянно растущим числом игр и действий, которые осуществляются фо...
Как показать наложение OSD в полноэкранных приложениях и играх Linux
Игра в полноэкранные игры или использование приложений в полноэкранном режиме без отвлекающих факторов может отрезать вас от соответствующей системной...
Топ-5 карт для захвата игр
Все мы видели и любили потоковые игры на YouTube. PewDiePie, Jakesepticye и Markiplier - лишь некоторые из лучших игроков, которые заработали миллионы...