NAS 셸에서 루트로 MySQL에 들어갑니다.
접속 후, 현재 계정 상태도 한 번 볼 수 있고:
이제 도커 컨테이너에서도 쓰일 수 있게 계정을 하나 더 열어줍니다.
방법 A) 그냥 내부 어디서나 접속 허용 (%) – 제일 간단
aipost_db.*→ DB 이름이 다르면 바꿔주세요.
비밀번호는 지금 PHP와 n8n에서 쓰는 그 비번 그대로.
이렇게 하면:
-
aipost.4men.kr@localhost -
aipost.4men.kr@192.168.0.10 -
aipost.4men.kr@172.17.0.X(도커 컨테이너)
전부 허용됩니다.
방법 B) Docker 브리지 대역만 허용하고 싶으면
3. 그 다음 n8n에서 확인
지금 쓰고 계신 n8n MySQL 크리덴셜을 그대로 유지하되, 아래만 다시 체크하세요.
-
Host:
192.168.0.10 -
Database:
aipost_db -
User:
aipost.4men.kr -
Password: 위에서 GRANT에 쓴 비밀번호
-
Port:
3306 -
SSL / SSH 터널 옵션: 모두 끔
그리고 Retry 눌러보면 이제는 붙어야 합니다.
4. 혹시 또 안 붙으면 바로 볼 것 1개
추가로 한 번 더 확실히 보려면:
여기서 접속 OK인데 n8n만 실패한다 → n8n 설정 문제
여기서도 Access denied for user 'aipost.4men.kr'@'172.17.0.X' 가 뜬다 → 위 GRANT가 제대로 안 먹은 것.
하지만 지금 상태에선 거의 확실하게aipost.4men.kr@'%' 또는 @'172.17.0.%' 하나만 추가하면 n8n에서도 바로 붙을 거예요.

이 에러는 DB 문제가 아니라 n8n 워크플로우 내부 JSON 문제가에요.
1. 에러 의미부터
Unrecognized node type: n8n-nodes-base.mysql
= “워크플로우에 n8n-nodes-base.mysql이라는 타입의 노드가 있는데,
내가 가진 노드 목록에 그런 타입은 없다”는 뜻입니다.
n8n에서 MySQL 노드의 정식 타입 이름은:
인데 지금 워크플로우에는
로 들어가 있어서 런타임이 못 알아보고 죽는 거예요.
(타입 이름은 대소문자까지 완전 동일해야 합니다.)
이건 보통:
-
예전에 다른 데서 복붙한 JSON을 가져왔거나
-
수동으로 JSON을 고쳤거나
-
아주 옛날/다른 버전에서 만든 워크플로우를 가져왔을 때 생깁니다.
2. 제일 간단한 해결 방법 – 노드 지우고 다시 만들기
UI에서 바로 할 수 있는 방법이에요.
-
지금 에러 나는 MySQL 노드를 워크플로우 캔버스에서 삭제.
-
왼쪽 노드 목록에서 다시 MySQL 노드를 드래그해서 가져오기.
-
방금 만든 MySQL Credential (
MySQL account) 을 그 노드에 선택해서 연결. -
다시 Execute Step 눌러보기.
새로 만든 노드는 내부적으로 자동으로 n8n-nodes-base.mySql 타입으로 들어가서
이제 “Unrecognized node type” 에러는 없어져야 합니다.
3. JSON으로 직접 고치는 방법(조금 더 하드코어)
혹시 같은 워크플로우에 MySQL 노드가 여러 개라면 한 번에 고치는 것도 가능해요.
-
워크플로우 편집 화면에서
오른쪽 위 메뉴(…) → “JSON 보기” / “View as JSON” 같은 버튼 클릭. -
JSON에서
n8n-nodes-base.mysql로 검색. -
모두 다음처럼 수정:
-
저장(Save) 후 다시 실행.
이렇게 하면 옛날에 잘못 들어간 타입명이 모두 정상화됩니다.
4. 정리
-
MySQL 연결 설정은 이미 성공 ✅
-
현재 에러는 노드 타입 오타(대소문자) 때문에 나는 거고,
-
해결책은:
-
MySQL 노드 삭제 → 다시 추가해서 Credential만 선택하거나
-
JSON에서
"n8n-nodes-base.mysql"→"n8n-nodes-base.mySql"로 수정
-
이렇게 한 번 수정해 보시고,
그래도 다른 에러가 새로 뜨면 그 메시지 그대로 알려주면
그다음부터는 실제 쿼리 작성/결과 받아서 다음 노드로 넘기는 부분까지 이어서 같이 짜볼게요.
댓글 0개