Начинаем работать с MySQL в NodeJS. Часть 1
В этой статье мы рассмотрим с Вами как подключиться к серверу базы данных MySQL в NodeJS.
Установка драйвера для MySQL в NodeJS
Есть несколько вариантов взаимодействия с MySQL в NodeJS. Здесь мы рассмотрим как использовать NodeJS драйвер для MySQL - mysqljs/mysql.
Во-первых, создайте папку для хранения файлов приложения, например, mysql-node-app, и используйте команду npm init для создания файла package.json в ней:
npm init
Во-вторых, установите NodeJS пакета MySQL с помощью следующей команды:
npm install mysql
В-третьих, создайте файл connect.js внутри папки mysql-node-app, который подключается к серверу базы данных MySQL.
Мы будем использовать базу данных world_db для демонстрации, поэтому вам следует создать базу данных на своем сервере баз данных MySQL, выполнив следующую инструкцию CREATE DATABASE:
CREATE DATABASE world_db;
Как только база данных будет создана, вы сможете подключиться к ней из NodeJS.
Подключение к серверу базы данных MySQL в NodeJS
Во-первых, импортируйте модуль mysql, используя следующую инструкцию:
let mysql = require('mysql');
Во-вторых, создайте соединение с базой данных MySQL, вызвав метод createConnection() и передав ему в виде параметра объект настроек о сервере MySQL, такую как адрес хоста, пользователь, пароль и база данных, следующим образом:
let connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'world_db'
});
В этом примере мы создали подключение к базе данных world_db на локальном сервере баз данных.
В-третьих, вызовите метод connect() для подключения к серверу базы данных MySQL:
connection.connect(function(err) {
if (err) {
return console.error('ошибка: ' + err.message);
}
console.log('Подключились к базе данных MySQL');
});
Метод connect() принимает функцию обратного вызова с аргументом err, который содержит подробную информацию об ошибке, если будет ошибка.
Теперь давайте запустим программа. У меня файл называется connect.js:
> node connect.js
Подключились к базе данных MySQL
Если вы видите сообщение "Подключились к базе данных MySQL", то вы успешно подключились к серверу базы данных MySQL из NodeJS.
Предположим, что база данных world_db не существует на сервере баз данных, и вы попытаетесь подключиться к ней, в этом случае вы получите сообщение об ошибке (нет такой базы данных):
> node connect.js
error: ER_BAD_DB_ERROR: Unknown database 'world_db'
Обратите внимание, что каждый метод, который вы вызываете для объекта подключения (connection), ставится в очередь и выполняется последовательно.
Закрытие подключения к базе данных
Чтобы закрыть соединение с базой данных, вы можете вызываеть метод end() для объекта подключения (connection).
Метод end() гарантирует, что все оставшиеся запросы будет выполнены до закрытия соединения с базой данных.
connection.end(function(err) {
if (err) {
return console.log('ошибка:' + err.message);
}
console.log('Закрыли соединение с базой данных.');
});
Чтобы принудительно и немедленно закрыть соединение, вы можете использовать метод destroy(). Метод destroy() гарантирует, что для соединения больше не будут запускаться функции обратного вызовы или события
connection.destroy();
Обратите внимание, что метод destroy() не принимает никаких аргументов обратного вызова, как метод end().
Таким образом, сегодня мы начали рассматривать с Вами основы работы с MySQL в NodeJS. В следующей статье мы рассмотрим как создавать пул соединений с базой данных, что необходимо улучщения производительности приложоения.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.