Большинство реальных приложений сохраняют данные в базах данных. Поэтому важно знать, как подключить ваше приложение к базе данных и получить из нее данные.

MySQL — отличный выбор для базы данных. Она проста в использовании, имеет широкую поддержку и является одной из самых популярных реляционных баз данных.

Прежде чем вы начнете

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

Создайте приложение узла

В терминале выполните следующую команду, чтобы создать новую папку для вашего приложения node:

mkdir узел-mysql

Перейдите к узел-mysql папку и инициализируем ее с помощью npm:

CD узел-mysql
инициализация npm -y

Это создаст файл package.json, который, помимо прочего, будет содержать зависимости вашего проекта.

Подключить узел к MySQL

Существует несколько способов подключения приложения узла к MySQL. mysql2 package — отличный выбор, который вы можете установить с помощью такой команды:

instagram viewer
npm установить mysql2

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

константа конфигурация = {
хост: "локальный",
порт: 3306,
база данных: "nodedb",
пользователь: «корень»,
пароль: "********",
}

Это конфигурация объект, который вы передадите методу подключения, как в программе ниже.

константа MySQL = требовать("mysql2")

константа конфигурация = {
хост: "локальный",
база данных: "db_name",
пользователь: "mysql_username",
пароль: "mysql_password",
ограничение соединения: 100,
}

константа соединение = mysql.createConnection (конфигурация)

соединение.подключить(функция(ошибаться) {
если (ошибка) бросать(ошибка);
приставка.log("Подключено!");
});

Когда вы передаете данные базы данных в mysql.createConnection() метод, вы создаете объект соединения. Объект подключения позволит вам выполнять такие транзакции, как создание, удаление или чтение таблиц.

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

соединение.подключить(функция(ошибаться) {
если (ошибка) бросать ошибаться;
приставка.log("Подключено!");

позволять создать пользователя = `СОЗДАТЬ ТАБЛИЦУ пользователей (user_id INT(100), user_name VARCHAR(255), электронная почта VARCHAR(255))`;

connection.query(создать пользователя, функция(ошибка, результаты, поля) {
если (ошибка) {
приставка.log (сообщение об ошибке);
}
});
});

Когда вы запустите его, этот запрос создаст новую таблицу с именем пользователи в базе данных. В запросе используется общий синтаксис, к которому вы можете адаптироваться. создать схему базы данных MySQL который соответствует вашим потребностям.

Приведенная выше программа подключения отлично работает, если вы хотите установить только одно подключение. Однако при выполнении одновременных запросов на подключение лучше всего использовать пул соединений.

Подключить узел к MySQL с помощью пула соединений

Открытие и закрытие соединений может стать дорогостоящим, особенно когда их много. Пул подключений к базе данных помогает снизить эти затраты за счет поддержки пула открытых подключений. Когда запрос сделан, пул может предоставить открытое соединение по запросу.

Делая это, вы экономите время, потому что вам не нужно каждый раз открывать новое соединение.

Используйте следующий код для создания пула соединений в Node:

константа MySQL = требовать("mysql2");

константа конфигурация = {
хозяин: "локальный хост",
база данных: "db_name",
пользователь: "mysql_username",
пароль: "mysql_password",
ConnectionLimit: 100,
}

константа пул = mysql.createPool (конфигурация);

пул.запрос("ВЫБЕРИТЕ * ИЗ некоторой_таблицы", (ошибка, данные) => {
если (ошибка) бросать(ошибка)
приставка.log (данные);
});

Не забудьте изменить детали конфигурации, чтобы они соответствовали вашей среде.

Безопасное подключение к MySQL

Библиотека mysql2 упрощает процесс подключения приложения Node к базе данных MySQL. Вы можете использовать либо один клиент, либо пул соединений. Однако, если вам нужно сделать несколько запросов, лучше всего использовать пул соединений, так как это менее затратно.

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