MySQL doesn't work on version 1.44.1

MySQL node (or credential) doesn’t work in the new 1.44.1 version.
But works on my 1.42.1 install in another server.

Same credentials, same node, same installation method, same everything. Only different versions of n8n.

Here it is on the 1.42.1, showing all tables without problem.

.

Error message

When trying to execute the node anyways, here’s the error that shows up:

.

Information on your n8n setup

  • n8n version: 1.44.1
  • Database (default: SQLite): default
  • n8n EXECUTIONS_PROCESS setting (default: own, main): default
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Docker
  • Operating system: Ubuntu 22.04
1 Like

As simple as this sounds, can you confirm that this issue persists after restarting the 1.44.1 n8n session (in your admin panel)?

I’m self-hosting, so I restarted the docker container.
But yeah… the problem persists :confused:

Can you try 1.45.0, I have just given it a go and it seems to be working.

Hm… didn’t work either.
So if the version is not the issue, what could it be?

I’ve tested on 1.42.1, but in a different server. So the issue could be on this specific container.

I’ve noticed that when I add the MySQL credential it doesn’t show a green banner on the top of the window (like it does on 1.42.1).

It just shows a notification on the bottom right:
image

And this is the green banner I see on 1.42.1. This version also doesn’t show the “private to you” notification.
image

This is all get when debugging:

ubuntu@n8n:~/n8n$ sudo docker logs n8n-n8n-1
User settings loaded from: /home/node/.n8n/config
2024-06-08T13:47:22.779Z | info     | Initializing n8n process "{ file: 'start.js', function: 'init' }"
2024-06-08T13:47:22.898Z | debug    | Lazy Loading credentials and nodes from n8n-nodes-base "{\n  credentials: 356,\n  nodes: 452,\n  file: 'LoggerProxy.js',\n  function: 'exports.debug'\n}"
2024-06-08T13:47:22.906Z | debug    | Lazy Loading credentials and nodes from @n8n/n8n-nodes-langchain "{\n  credentials: 15,\n  nodes: 73,\n  file: 'LoggerProxy.js',\n  function: 'exports.debug'\n}"
2024-06-08T13:47:22.993Z | info     | n8n ready on 0.0.0.0, port 5678 "{ file: 'AbstractServer.js', function: 'init' }"
2024-06-08T13:47:23.029Z | debug    | Wait tracker started tracking waiting executions "{ file: 'WaitTracker.js', function: 'startTracking' }"
2024-06-08T13:47:23.030Z | debug    | Wait tracker querying database for waiting executions "{ file: 'WaitTracker.js', function: 'getWaitingExecutions' }"
2024-06-08T13:47:23.038Z | debug    | [license] initializing for deviceFingerprint add96ffad34a30af7033884eb502b3756c1004a249c00df92b000dedd876731a "{ file: 'LicenseManager.js', function: 'log' }"
2024-06-08T13:47:23.040Z | debug    | [license] attempting license renewal "{ file: 'LicenseManager.js', function: 'log' }"
2024-06-08T13:47:23.041Z | debug    | Orchestration init complete "{ file: 'start.js', function: 'init' }"
2024-06-08T13:47:23.044Z | debug    | Binary data service init complete "{ file: 'start.js', function: 'init' }"
2024-06-08T13:47:23.044Z | debug    | External hooks init complete "{ file: 'start.js', function: 'init' }"
2024-06-08T13:47:23.047Z | debug    | External secrets init complete "{ file: 'start.js', function: 'init' }"
2024-06-08T13:47:23.047Z | debug    | Workflow history init complete "{ file: 'start.js', function: 'init' }"
2024-06-08T13:47:23.943Z [Rudder] debug: in flush
2024-06-08T13:47:24.568Z | debug    | Initializing event bus... "{ file: 'MessageEventBus.js', function: 'initialize' }"
2024-06-08T13:47:24.570Z | debug    | Initializing event writer "{ file: 'MessageEventBus.js', function: 'initialize' }"
2024-06-08T13:47:24.573Z | debug    | Checking for unsent event messages "{ file: 'MessageEventBus.js', function: 'initialize' }"
2024-06-08T13:47:24.598Z | debug    | Start logging into /home/node/.n8n/n8nEventLog.log  "{ file: 'MessageEventBus.js', function: 'initialize' }"
2024-06-08T13:47:24.601Z | debug    | MessageEventBus initialized "{ file: 'MessageEventBus.js', function: 'initialize' }"
2024-06-08T13:47:24.603Z | info     | Version: 1.44.1 "{ file: 'AbstractServer.js', function: 'start' }"
2024-06-08T13:47:24.603Z | debug    | Server ID: main-jDyr1qEKYwP1oBSX "{ file: 'Server.js', function: 'start' }"
2024-06-08T13:47:24.607Z | debug    | [Pruning] Starting soft-deletion and hard-deletion timers "{ file: 'pruning.service.js', function: 'startPruning' }"
2024-06-08T13:47:24.608Z | debug    | [Pruning] Soft-deletion scheduled every 60 min "{ file: 'pruning.service.js', function: 'setSoftDeletionInterval' }"
2024-06-08T13:47:24.608Z | debug    | [Pruning] Hard-deletion scheduled for next 15 min "{ file: 'pruning.service.js', function: 'scheduleHardDeletion' }"
2024-06-08T13:47:24.614Z [Rudder] debug: no existing flush timer, creating new one

Editor is now accessible via:
http://localhost:5678/
2024-06-08T13:47:34.614Z [Rudder] debug: in flush
2024-06-08T13:47:34.614Z [Rudder] debug: cancelling existing flushTimer...
2024-06-08T13:48:09.053Z | verbose  | New credential created "{\n  credentialId: 'Kc6rUBBGIAtjAZnR',\n  ownerId: '2080d6f5-c0bf-4dbb-b580-c9e57923c870',\n  file: 'credentials.service.js',\n  function: 'save'\n}"
2024-06-08T13:48:09.059Z [Rudder] debug: no existing flush timer, creating new one
2024-06-08T13:48:16.712Z | debug    | Skipped browserId check on /rest/push "{ file: 'auth.service.js', function: 'resolveJwt' }"
2024-06-08T13:48:16.712Z | debug    | Add editor-UI session "{ pushRef: 'h33iif1rex', file: 'abstract.push.js', function: 'add' }"
2024-06-08T13:48:17.576Z | debug    | Received message from editor-UI "{\n  pushRef: 'h33iif1rex',\n  msg: { type: 'workflowOpened', workflowId: 'oVTYGclCDvblYIMl' },\n  file: 'abstract.push.js',\n  function: 'onMessageReceived'\n}"
2024-06-08T13:48:19.059Z [Rudder] debug: in flush
2024-06-08T13:48:19.060Z [Rudder] debug: cancelling existing flushTimer...
2024-06-08T13:48:23.030Z | debug    | Wait tracker querying database for waiting executions "{ file: 'WaitTracker.js', function: 'getWaitingExecutions' }"
2024-06-08T13:48:25.607Z | error    | AggregateError:  "{ file: 'LoggerProxy.js', function: 'exports.error' }"
ubuntu@n8n:~/n8n$ sudo docker compose down
[+] Running 2/2
 ✔ Container n8n-n8n-1  Removed                                                                                                                                                                                                         3.3s
 ✔ Network n8n_default  Removed                                                                                                                                                                                                         0.3s
ubuntu@n8n:~/n8n$ sudo docker compose up -d
[+] Running 2/2
 ✔ Network n8n_default  Created                                                                                                                                                                                                         0.1s
 ✔ Container n8n-n8n-1  Started                                                                                                                                                                                                         0.3s
ubuntu@n8n:~/n8n$ sudo docker logs n8n-n8n-1
User settings loaded from: /home/node/.n8n/config
2024-06-08T13:51:57.892Z | info     | Initializing n8n process "{ file: 'start.js', function: 'init' }"
2024-06-08T13:51:58.007Z | debug    | Lazy Loading credentials and nodes from n8n-nodes-base "{\n  credentials: 356,\n  nodes: 452,\n  file: 'LoggerProxy.js',\n  function: 'exports.debug'\n}"
2024-06-08T13:51:58.015Z | debug    | Lazy Loading credentials and nodes from @n8n/n8n-nodes-langchain "{\n  credentials: 15,\n  nodes: 73,\n  file: 'LoggerProxy.js',\n  function: 'exports.debug'\n}"
2024-06-08T13:51:58.097Z | info     | n8n ready on 0.0.0.0, port 5678 "{ file: 'AbstractServer.js', function: 'init' }"
2024-06-08T13:51:58.131Z | debug    | Wait tracker started tracking waiting executions "{ file: 'WaitTracker.js', function: 'startTracking' }"
2024-06-08T13:51:58.132Z | debug    | Wait tracker querying database for waiting executions "{ file: 'WaitTracker.js', function: 'getWaitingExecutions' }"
2024-06-08T13:51:58.139Z | debug    | [license] initializing for deviceFingerprint add96ffad34a30af7033884eb502b3756c1004a249c00df92b000dedd876731a "{ file: 'LicenseManager.js', function: 'log' }"
2024-06-08T13:51:58.141Z | debug    | [license] attempting license renewal "{ file: 'LicenseManager.js', function: 'log' }"
2024-06-08T13:51:58.142Z | debug    | Orchestration init complete "{ file: 'start.js', function: 'init' }"
2024-06-08T13:51:58.145Z | debug    | Binary data service init complete "{ file: 'start.js', function: 'init' }"
2024-06-08T13:51:58.145Z | debug    | External hooks init complete "{ file: 'start.js', function: 'init' }"
2024-06-08T13:51:58.147Z | debug    | External secrets init complete "{ file: 'start.js', function: 'init' }"
2024-06-08T13:51:58.148Z | debug    | Workflow history init complete "{ file: 'start.js', function: 'init' }"
2024-06-08T13:51:59.034Z [Rudder] debug: in flush
2024-06-08T13:51:59.647Z | debug    | Initializing event bus... "{ file: 'MessageEventBus.js', function: 'initialize' }"
2024-06-08T13:51:59.649Z | debug    | Skipped browserId check on /rest/push "{ file: 'auth.service.js', function: 'resolveJwt' }"
2024-06-08T13:51:59.651Z | debug    | Add editor-UI session "{ pushRef: 'h33iif1rex', file: 'abstract.push.js', function: 'add' }"
2024-06-08T13:51:59.651Z | debug    | Initializing event writer "{ file: 'MessageEventBus.js', function: 'initialize' }"
2024-06-08T13:51:59.654Z | debug    | Checking for unsent event messages "{ file: 'MessageEventBus.js', function: 'initialize' }"
2024-06-08T13:51:59.679Z | debug    | Start logging into /home/node/.n8n/n8nEventLog.log  "{ file: 'MessageEventBus.js', function: 'initialize' }"
2024-06-08T13:51:59.682Z | debug    | MessageEventBus initialized "{ file: 'MessageEventBus.js', function: 'initialize' }"
2024-06-08T13:51:59.683Z | info     | Version: 1.44.1 "{ file: 'AbstractServer.js', function: 'start' }"
2024-06-08T13:51:59.684Z | debug    | Server ID: main-Wf0lM62vNgBHYtAI "{ file: 'Server.js', function: 'start' }"
2024-06-08T13:51:59.686Z | debug    | [Pruning] Starting soft-deletion and hard-deletion timers "{ file: 'pruning.service.js', function: 'startPruning' }"
2024-06-08T13:51:59.687Z | debug    | [Pruning] Soft-deletion scheduled every 60 min "{ file: 'pruning.service.js', function: 'setSoftDeletionInterval' }"
2024-06-08T13:51:59.687Z | debug    | [Pruning] Hard-deletion scheduled for next 15 min "{ file: 'pruning.service.js', function: 'scheduleHardDeletion' }"
2024-06-08T13:51:59.692Z [Rudder] debug: no existing flush timer, creating new one

Editor is now accessible via:
http://localhost:5678/
2024-06-08T13:52:09.693Z [Rudder] debug: in flush
2024-06-08T13:52:09.693Z [Rudder] debug: cancelling existing flushTimer...
2024-06-08T13:52:31.027Z | debug    | Received message from editor-UI "{\n  pushRef: 'h33iif1rex',\n  msg: { type: 'workflowClosed', workflowId: 'oVTYGclCDvblYIMl' },\n  file: 'abstract.push.js',\n  function: 'onMessageReceived'\n}"
2024-06-08T13:52:33.365Z | verbose  | Updating versionId for workflow oVTYGclCDvblYIMl for user 2080d6f5-c0bf-4dbb-b580-c9e57923c870 after saving "{\n  previousVersionId: 'ed26f352-e984-4b20-bfb9-19a02a4f2dc0',\n  newVersionId: 'e3e0a0b7-131a-46fd-a7fb-64a835f4ce2f',\n  file: 'workflow.service.js',\n  function: 'update'\n}"
2024-06-08T13:52:33.594Z [Rudder] debug: no existing flush timer, creating new one
2024-06-08T13:52:36.033Z | debug    | Received message from editor-UI "{\n  pushRef: 'h33iif1rex',\n  msg: { type: 'workflowOpened', workflowId: 'oVTYGclCDvblYIMl' },\n  file: 'abstract.push.js',\n  function: 'onMessageReceived'\n}"
2024-06-08T13:52:38.286Z | debug    | Received message from editor-UI "{\n  pushRef: 'h33iif1rex',\n  msg: { type: 'workflowClosed', workflowId: 'oVTYGclCDvblYIMl' },\n  file: 'abstract.push.js',\n  function: 'onMessageReceived'\n}"
2024-06-08T13:52:38.653Z | debug    | Removed editor-UI session "{ pushRef: 'h33iif1rex', file: 'abstract.push.js', function: 'remove' }"
2024-06-08T13:52:43.418Z | debug    | Skipped browserId check on /rest/push "{ file: 'auth.service.js', function: 'resolveJwt' }"
2024-06-08T13:52:43.419Z | debug    | Add editor-UI session "{ pushRef: 'wd9yk6urk4', file: 'abstract.push.js', function: 'add' }"
2024-06-08T13:52:43.595Z [Rudder] debug: in flush
2024-06-08T13:52:43.595Z [Rudder] debug: cancelling existing flushTimer...
2024-06-08T13:52:44.273Z | debug    | Received message from editor-UI "{\n  pushRef: 'wd9yk6urk4',\n  msg: { type: 'workflowOpened', workflowId: 'oVTYGclCDvblYIMl' },\n  file: 'abstract.push.js',\n  function: 'onMessageReceived'\n}"
2024-06-08T13:52:52.417Z | verbose  | Execution for workflow Dados para o DB was assigned id 45 "{\n  executionId: '45',\n  file: 'WorkflowRunner.js',\n  function: 'runMainProcess'\n}"
2024-06-08T13:52:52.426Z | debug    | Executing hook (hookFunctionsPush) "{\n  executionId: '45',\n  pushRef: 'wd9yk6urk4',\n  workflowId: 'oVTYGclCDvblYIMl',\n  file: 'WorkflowExecuteAdditionalData.js',\n  function: 'workflowExecuteBefore'\n}"
2024-06-08T13:52:52.426Z | debug    | Send data of type "executionStarted" to editor-UI "{\n  dataType: 'executionStarted',\n  pushRefs: 'wd9yk6urk4',\n  file: 'abstract.push.js',\n  function: 'sendTo'\n}"
2024-06-08T13:52:52.427Z | debug    | Execution ID 45 will run executing all nodes. "{\n  executionId: '45',\n  file: 'WorkflowRunner.js',\n  function: 'runMainProcess'\n}"
2024-06-08T13:52:52.429Z | verbose  | Workflow execution started "{\n  workflowId: 'oVTYGclCDvblYIMl',\n  file: 'LoggerProxy.js',\n  function: 'exports.verbose'\n}"
2024-06-08T13:52:52.434Z | debug    | Start processing node "MySQL9" "{\n  node: 'MySQL9',\n  workflowId: 'oVTYGclCDvblYIMl',\n  file: 'LoggerProxy.js',\n  function: 'exports.debug'\n}"
2024-06-08T13:52:52.435Z | debug    | Executing hook on node "MySQL9" (hookFunctionsPush) "{\n  executionId: '45',\n  pushRef: 'wd9yk6urk4',\n  workflowId: 'oVTYGclCDvblYIMl',\n  file: 'WorkflowExecuteAdditionalData.js',\n  function: 'nodeExecuteBefore'\n}"
2024-06-08T13:52:52.435Z | debug    | Send data of type "nodeExecuteBefore" to editor-UI "{\n  dataType: 'nodeExecuteBefore',\n  pushRefs: 'wd9yk6urk4',\n  file: 'abstract.push.js',\n  function: 'sendTo'\n}"
2024-06-08T13:52:52.436Z | debug    | Running node "MySQL9" started "{\n  node: 'MySQL9',\n  workflowId: 'oVTYGclCDvblYIMl',\n  file: 'LoggerProxy.js',\n  function: 'exports.debug'\n}"
2024-06-08T13:52:52.707Z | debug    | Running node "MySQL9" finished with error "{\n  node: 'MySQL9',\n  workflowId: 'oVTYGclCDvblYIMl',\n  file: 'LoggerProxy.js',\n  function: 'exports.debug'\n}"
2024-06-08T13:52:52.708Z | debug    | Executing hook on node "MySQL9" (hookFunctionsPush) "{\n  executionId: '45',\n  pushRef: 'wd9yk6urk4',\n  workflowId: 'oVTYGclCDvblYIMl',\n  file: 'WorkflowExecuteAdditionalData.js',\n  function: 'nodeExecuteAfter'\n}"
2024-06-08T13:52:52.708Z | debug    | Send data of type "nodeExecuteAfter" to editor-UI "{\n  dataType: 'nodeExecuteAfter',\n  pushRefs: 'wd9yk6urk4',\n  file: 'abstract.push.js',\n  function: 'sendTo'\n}"
2024-06-08T13:52:52.709Z | verbose  | Workflow execution finished with error "{\n  error: {\n    code: 'ETIMEDOUT',\n    fatal: true,\n    message: '',\n    stack: 'AggregateError: \\n' +\n      '    at internalConnectMultiple (node:net:1117:18)\\n' +\n      '    at internalConnectMultiple (node:net:1185:5)\\n' +\n      '    at Timeout.internalConnectMultipleTimeout (node:net:1711:5)\\n' +\n      '    at listOnTimeout (node:internal/timers:575:11)\\n' +\n      '    at processTimers (node:internal/timers:514:7)'\n  },\n  workflowId: 'oVTYGclCDvblYIMl',\n  file: 'LoggerProxy.js',\n  function: 'exports.verbose'\n}"
2024-06-08T13:52:52.710Z | debug    | Executing hook (hookFunctionsSave) "{\n  executionId: '45',\n  workflowId: 'oVTYGclCDvblYIMl',\n  file: 'WorkflowExecuteAdditionalData.js',\n  function: 'workflowExecuteAfter'\n}"
2024-06-08T13:52:52.711Z | debug    | Save execution data to database for execution ID 45 "{\n  executionId: '45',\n  workflowId: 'oVTYGclCDvblYIMl',\n  finished: false,\n  stoppedAt: 2024-06-08T13:52:52.709Z,\n  file: 'sharedHookFunctions.js',\n  function: 'updateExistingExecution'\n}"
2024-06-08T13:52:52.726Z | debug    | Executing hook (hookFunctionsPush) "{\n  executionId: '45',\n  pushRef: 'wd9yk6urk4',\n  workflowId: 'oVTYGclCDvblYIMl',\n  file: 'WorkflowExecuteAdditionalData.js',\n  function: 'workflowExecuteAfter'\n}"
2024-06-08T13:52:52.726Z | debug    | Save execution progress to database for execution ID 45  "{\n  executionId: '45',\n  workflowId: 'oVTYGclCDvblYIMl',\n  file: 'WorkflowExecuteAdditionalData.js',\n  function: 'workflowExecuteAfter'\n}"
2024-06-08T13:52:52.726Z | debug    | Send data of type "executionFinished" to editor-UI "{\n  dataType: 'executionFinished',\n  pushRefs: 'wd9yk6urk4',\n  file: 'abstract.push.js',\n  function: 'sendTo'\n}"
2024-06-08T13:52:52.741Z [Rudder] debug: no existing flush timer, creating new one
2024-06-08T13:52:58.132Z | debug    | Wait tracker querying database for waiting executions "{ file: 'WaitTracker.js', function: 'getWaitingExecutions' }"

.

And connecting to the MySQL database is also working from inside the same server as n8n 1.44.1

@Jon Do you know of any troubleshooting steps I could do? Or some easy reinstall process to reset everything.

UPDATE: Did a fresh install of 1.45 version and it is working now.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.