{"id":43458,"library":"node-red-contrib-mysql-storage-plugin","title":"Node-RED MySQL Storage Plugin","description":"Node-RED plugin (v0.1.3) that stores Node-RED flows, credentials, settings, sessions, and library entries in MySQL. Built as a MySQL alternative to MongoDB storage plugin. Requires embedding Node-RED in a custom process. Library recall is not fully functional. Low release cadence; experimental.","status":"active","version":"0.1.3","language":"javascript","source_language":"en","source_url":"https://github.com/gingerhelp/node-red-contrib-mysql-storage-plugin","tags":["javascript","node-red","mysql"],"install":[{"cmd":"npm install node-red-contrib-mysql-storage-plugin","lang":"bash","label":"npm"},{"cmd":"yarn add node-red-contrib-mysql-storage-plugin","lang":"bash","label":"yarn"},{"cmd":"pnpm add node-red-contrib-mysql-storage-plugin","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"MySQL database driver","package":"mysql2","optional":false}],"imports":[{"note":"Plugin is CJS-only. ESM import is not supported.","wrong":"import storageModule from 'node-red-contrib-mysql-storage-plugin';","symbol":"default","correct":"const storageModule = require('node-red-contrib-mysql-storage-plugin');"},{"note":"Default export is the module itself, used as a property in Node-RED settings.","symbol":"storageModule","correct":"const storageModule = require('node-red-contrib-mysql-storage-plugin');"}],"quickstart":{"code":"// settings.js\nconst storageModule = require('node-red-contrib-mysql-storage-plugin');\nconst sqlConfig = {\n  user: process.env.MYSQL_USER ?? 'root',\n  password: process.env.MYSQL_PASSWORD ?? '',\n  host: process.env.MYSQL_HOST ?? 'localhost',\n  database: process.env.MYSQL_DATABASE ?? 'NodeRed',\n  port: process.env.MYSQL_PORT ?? 3306\n};\nmodule.exports = {\n  storageModule,\n  storageModuleOptions: {\n    sqlConfig,\n    tableNames: {\n      flows: 'NodeRedFlows',\n      sessions: 'NodeRedSessions',\n      credentials: 'NodeRedCredentials',\n      settings: 'NodeRedSettings',\n      library: 'NodeRedLibrary'\n    }\n  }\n};","lang":"javascript","description":"Configures Node-RED settings to use MySQL storage plugin with environment variables for credentials."},"warnings":[{"fix":"Follow embedding guide at http://nodered.org/docs/embedding.html.","message":"Requires embedding Node-RED in custom process; cannot be used as a simple add-on.","severity":"breaking","affected_versions":">=0.0.0"},{"fix":"Run provided SQL script against your MySQL database before starting Node-RED.","message":"Tables must be created manually by running CreateTables.sql.","severity":"breaking","affected_versions":">=0.0.0"},{"fix":"Library entries can be saved but not retrieved; avoid using library feature or submit PR.","message":"Library recall functionality is incomplete.","severity":"deprecated","affected_versions":"<=0.1.3"},{"fix":"Use port: parseInt(process.env.MYSQL_PORT) || 3306.","message":"Port property in sqlConfig must be a number, not a string.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'altern':30 'built':26 'cadenc':52 'credenti':18 'custom':42 'embed':36 'entri':23 'experiment':53 'flow':17 'fulli':48 'function':49 'javascript':54 'librari':22,44 'low':50 'mongodb':32 'mysql':4,25,29,58 'node':2,8,15,38,56 'node-r':1,7,14,37,55 'plugin':6,10,34 'process':43 'recal':45 'red':3,9,16,39,57 'releas':51 'requir':35 'session':20 'set':19 'storag':5,33 'store':13 'v0.1.3':11","created_at":"2026-06-05T16:59:53.409011+00:00","updated_at":"2026-06-05T16:59:53.409011+00:00","problems":[{"fix":"Run 'npm install --save node-red-contrib-mysql-storage-plugin' in the same directory as your custom Node-RED process.","cause":"Plugin not installed or npm install ran in wrong directory.","error":"Error: Cannot find module 'node-red-contrib-mysql-storage-plugin'"},{"fix":"Verify MySQL is running and sqlConfig host/port are correct. Use environment variables.","cause":"MySQL server not running or connection config incorrect.","error":"Error: connect ECONNREFUSED 127.0.0.1:3306"},{"fix":"Ensure storageModuleOptions contains a valid sqlConfig object with user, password, host, database, and port.","cause":"storageModuleOptions.sqlConfig is missing or incorrect.","error":"TypeError: sqlConfig must be an object"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/gingerhelp/node-red-contrib-mysql-storage-plugin#readme","github":"https://github.com/gingerhelp/node-red-contrib-mysql-storage-plugin","docs":null,"changelog":null,"pypi":null,"npm":"node-red-contrib-mysql-storage-plugin","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database","devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-05","next_check":"2026-09-03","install_tag":null}}