카테고리 없음

[18강] n8n에 외부 MySQL/PostgreSQL 연동하기

mystory5573 2025. 5. 17. 18:10

n8n에 외부 MySQL/PostgreSQL 연동하기

n8n은 자동화 워크플로우를 구축할 때 다양한 외부 시스템과의 연동을 지원합니다. 그 중에서도 MySQL과 PostgreSQL과 같은 관계형 데이터베이스와의 연동은 매우 중요합니다. 이 강의에서는 n8n에 MySQL과 PostgreSQL을 연동하는 방법을 다뤄보겠습니다. 외부 데이터베이스와의 연동을 통해 자동화된 워크플로우 내에서 데이터베이스 작업을 효율적으로 처리할 수 있습니다.

1. n8n과 외부 데이터베이스 연동의 중요성

데이터베이스는 n8n 워크플로우에서 중요한 역할을 합니다. 외부 MySQL 또는 PostgreSQL 데이터베이스와의 연동을 통해 대규모 데이터를 관리하고, 자동화된 워크플로우 내에서 데이터를 읽고 쓸 수 있습니다. 예를 들어, 외부 시스템에서 수집된 데이터를 MySQL에 저장하고, n8n을 사용해 이 데이터를 자동으로 분석하거나 보고서를 생성하는 등의 작업을 할 수 있습니다.

n8n은 기본적으로 다양한 데이터베이스와 연동할 수 있는 기능을 제공하며, 이를 통해 워크플로우 내에서의 데이터 관리를 더욱 효율적으로 할 수 있습니다. 특히, MySQL과 PostgreSQL은 많은 기업에서 사용되는 인기 있는 데이터베이스 시스템이므로, 이를 n8n과 연동하는 방법을 숙지하는 것이 매우 유용합니다.

2. n8n에서 MySQL 연동 설정하기

MySQL은 오픈소스 관계형 데이터베이스로, 많은 시스템에서 사용되고 있습니다. n8n에서 MySQL과 연동하려면, MySQL 데이터베이스에 연결할 수 있는 노드를 사용하여 데이터를 주고받을 수 있도록 설정해야 합니다. 아래 단계에서는 MySQL을 n8n에 연동하는 방법을 살펴보겠습니다.

1. MySQL 노드 설치하기

n8n에서 MySQL과 연동하려면, 먼저 MySQL 노드를 설치해야 합니다. n8n의 워크플로우 내에서 MySQL 노드를 사용하여 데이터베이스와 연결할 수 있습니다. 이 노드는 기본적으로 n8n에 포함되어 있기 때문에 별도의 설치가 필요하지 않습니다.

2. MySQL 노드 설정하기

n8n에서 MySQL 노드를 사용하려면, 해당 노드에 MySQL 서버의 연결 정보를 입력해야 합니다. MySQL 노드를 설정하는 방법은 다음과 같습니다.

  • Host: MySQL 서버의 호스트 주소 (예: `localhost`, `your-database-server.com`)
  • Port: MySQL 서버가 사용하는 포트 번호 (기본값은 `3306`)
  • Database: 연결할 데이터베이스 이름
  • User: MySQL 사용자 이름
  • Password: MySQL 비밀번호

설정이 완료되면, MySQL과 연결하여 데이터를 삽입하거나 조회할 수 있습니다. 예를 들어, `MySQL` 노드를 사용하여 `SELECT`, `INSERT`, `UPDATE`와 같은 SQL 쿼리를 실행할 수 있습니다.

3. MySQL 예제 쿼리 실행하기

n8n에서 MySQL 노드를 사용하여 데이터를 조회하는 예제를 살펴보겠습니다. 예를 들어, MySQL 데이터베이스에서 모든 사용자 데이터를 조회하려면 다음과 같이 설정할 수 있습니다.

SELECT * FROM users;

이 쿼리를 실행하면, `users` 테이블에 저장된 모든 사용자 데이터를 n8n 워크플로우 내에서 처리할 수 있게 됩니다.

3. n8n에서 PostgreSQL 연동 설정하기

PostgreSQL은 고급 기능과 성능을 제공하는 오픈소스 관계형 데이터베이스입니다. n8n에서 PostgreSQL과 연동하는 방법은 MySQL과 유사하지만, PostgreSQL에 맞는 설정을 해야 합니다. PostgreSQL을 n8n에 연동하는 방법을 알아보겠습니다.

1. PostgreSQL 노드 설치하기

PostgreSQL을 n8n에서 사용하려면, `PostgreSQL` 노드를 추가하여 데이터베이스에 연결할 수 있습니다. PostgreSQL 노드는 기본적으로 n8n에 포함되어 있으므로 별도의 설치 없이 바로 사용할 수 있습니다.

2. PostgreSQL 노드 설정하기

PostgreSQL 노드를 설정할 때는 MySQL과 비슷한 방식으로 연결 정보를 입력해야 합니다. PostgreSQL 노드를 설정하는 방법은 다음과 같습니다.

  • Host: PostgreSQL 서버의 호스트 주소 (예: `localhost`, `your-database-server.com`)
  • Port: PostgreSQL 서버의 포트 번호 (기본값은 `5432`)
  • Database: 연결할 데이터베이스 이름
  • User: PostgreSQL 사용자 이름
  • Password: PostgreSQL 비밀번호

이렇게 설정하면 PostgreSQL과 연결되어 데이터베이스 내 데이터를 읽고 쓸 수 있습니다.

3. PostgreSQL 예제 쿼리 실행하기

PostgreSQL에서 데이터를 조회하는 예제를 살펴보겠습니다. 예를 들어, PostgreSQL에서 모든 상품 정보를 조회하려면 다음과 같은 쿼리를 설정할 수 있습니다.

SELECT * FROM products;

이와 같은 SQL 쿼리를 사용하여 PostgreSQL 데이터베이스에서 데이터를 쉽게 조회하고, n8n 워크플로우 내에서 필요한 작업을 진행할 수 있습니다.

4. n8n에서 MySQL/PostgreSQL 보안 설정

MySQL과 PostgreSQL을 n8n에 연동할 때, 보안에 대한 설정이 중요합니다. 데이터베이스 연결 정보는 매우 민감한 정보이므로, 환경변수(`.env` 파일)을 사용하여 보안을 강화할 수 있습니다. 예를 들어, 다음과 같이 `.env` 파일에 데이터베이스 연결 정보를 설정하여 보안을 강화할 수 있습니다.

DB_HOST=your-database-server.com
DB_PORT=3306
DB_USER=your_db_user
DB_PASSWORD=your_db_password
DB_NAME=your_db_name

이렇게 환경변수를 설정하면, n8n이 데이터베이스에 연결할 때 필요한 정보들을 안전하게 처리할 수 있습니다. 또한, HTTPS를 사용하여 데이터 전송 시 암호화를 적용하는 것이 좋습니다.

5. 결론: n8n에 MySQL/PostgreSQL 연동하기

n8n에서 MySQL과 PostgreSQL을 연동하면, 다양한 자동화 워크플로우에서 데이터를 관리하고 분석하는 데 유용한 기능을 제공할 수 있습니다. 각 데이터베이스의 설정 방법을 이해하고, 환경변수를 활용하여 보안을 강화하며, 쿼리를 실행하여 데이터를 처리할 수 있습니다. 이러한 연동을 통해 n8n을 더 강력하게 활용할 수 있으며, 복잡한 자동화 작업을 손쉽게 처리할 수 있습니다.

다음 강의에서는 **n8n의 다양한 외부 API와의 연동**을 다룰 예정입니다. n8n을 통해 다양한 시스템을 자동화하는 방법을 더 깊이 이해해 보세요!