A Node-RED node to connect to a MySQL or a MariaDB database, using TLS (SSL) and compatible with "Caching SHA2 password" authentication method (MySQL >= 8).
npm install node-red-contrib-stackhero-mysqlNode-RED node to read and write to a MySQL or a MariaDB database.
It uses TLS (SSL) encryption and is compatible with "Caching SHA2 password" authentication method (MySQL >= 8).
Remember: if you like it, please star it! 🥰
Official repository: https://github.com/stackhero-io/node-red-contrib-stackhero-mysql
node-red-contrib-stackhero-mysql is developed by Stackhero.
If you are looking for powerful managed services, like Node-RED, MySQL or MariaDB, you should seriously consider Stackhero 🤓
- Managed MySQL databases
- Managed MariaDB databases
- Managed Node-RED service
This node is really simple.
Put your query in the topic variable and, if you have arguments, put them in an array or an object in the payload variable.
You will get the result in the payload output variable.
Examples of queries:
#### Object-based insertion (SET with object)
``javascriptusers
msg.topic = 'INSERT INTO SET ?';
msg.payload = [{ name: 'Adrien', age: 42 }];
return msg;
`
#### Named parameters
`javascriptusers
msg.topic = 'INSERT INTO (name, age) VALUES (:name, :age)';
msg.payload = { name: 'Adrien', age: 42 };
return msg;
`
#### Positional parameters
`javascriptusers
msg.topic = 'INSERT INTO (name, age) VALUES (?, ?)';
msg.payload = [ 'Adrien', 42 ];
return msg;
`
#### Bulk (multi-row) insertion
`javascriptusers
msg.topic = 'INSERT INTO (name, age) VALUES ?';
msg.payload = [[
[ 'Adrien', 42 ],
[ 'Romain', 12 ]
]];
return msg;
`
> Avoid SQL injections!!
>
> Do not NEVER EVER put variables content in topic directly!payload
> Always use the variable to pass your arguments.
You have to connect using TLS encryption. Simply check the box in this node configuration.
You are probably using another node than node-red-contrib-stackhero-mysql and tryin to connect to a MySQL >= 8 server using "Caching SHA2 password" authentication method.
To resolve that issue, simply use this node node-red-contrib-stackhero-mysql`.