MySQL 노드 일반 문제
n8n 워크플로 자동화 플랫폼의 MySQL 노드에서 자주 발생하는 오류와 문제에 대한 문서입니다. 문제 세부 내용과 해결 방법을 포함합니다.
다음은 MySQL 노드 에서 자주 발생하는 오류와 문제, 그리고 해결 또는 문제 해결 단계입니다. 복합 키로 행 업데이트 # MySQL 노드의 Update 작업을 사용하면 Column to Match On 과 값을 제공하여 테이블의 행을 업데이트할 수 있습니다. 이는 단일 컬럼 값으로 개별 행을 고유하게 식별할 수 있는 테이블에서 작동합니다. 여러 컬럼이 필요한 행을 고유하게 식별하는 복합 키 를 사용하는 테이블에서는 이 패턴을 사용할 수 없습니다. 예를 들어 mysql 데이터베이스의 MySQL user 테이블 은 행을 고유하게 식별하려면 user 와 host 컬럼이 모두 필요합니다. 복합 키가 있는 테이블을 업데이트하려면 Execute SQL 작업을 사용하여 쿼리를 수동으로 작성하세요. 다음 예시처럼 customer_id 와 product_id 모두에 여러 값을 일치시킬 수 있습니다: UPDATE orders SET quantity = 3 WHERE customer_id = 538 AND product_id = 800 ; Docker 사용 시 로컬 MySQL 서버에 연결할 수 없음 # n8n 또는 MySQL 중 하나를 Docker에서 실행할 때, n8n이 MySQL에 연결할 수 있도록 네트워크를 구성해야 합니다. 해결 방법은 두 구성 요소를 호스팅하는 방식에 따라 다릅니다. MySQL만 Docker에서 실행하는 경우 # MySQL만 Docker에서 실행 중인 경우, 컨테이너 내부에서 0.0.0.0 에 바인딩하여 MySQL이 모든 인터페이스에서 수신 대기하도록 구성하세요(공식 이미지는 이미 이렇게 구성되어 있습니다). 컨테이너를 실행할 때 -p 플래그를 사용하여 포트를 게시 하세요. MySQL은 기본적으로 포트 3306에서 실행되므로 Docker 명령은 다음과 같아야 합니다: docker run -p 3306:3306 --name my-mysql -d mysql:latest MySQL credentials 를 구성할 때 localhost 주소는 문제 없이 작동합니다( Host 를 localhost 로 설정). n8n만 Docker에서 실행하는 경우 # n8n만 Docker에서 실행 중인 경우, 호스트에서 0.0.0.0 에 바인딩하여 MySQL이 모든 인터페이스에서 수신 대기하도록 구성하세요. Linux 에서 Docker로 n8n을 실행 중인 경우, 컨테이너를 시작할 때 --add-host 플래그를 사용하여 host.docker.internal 을 host-gateway 에 매핑하세요. 예: docker run -it --rm --add-host host.docker.internal:host-gateway --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n Docker Desktop을 사용 중인 경우 자동으로 구성됩니다. MySQL credentials 를 구성할 때 Host 주소로 localhost 대신 host.docker.internal 을 사용하세요
