https://github.com/stackhero-io/node-red-contrib-stackhero-mysql
Node-RED node to read and write to a MySQL or a MariaDB database. Compatible with TLS (SSL) and "Caching SHA2 password" authentication method.
https://github.com/stackhero-io/node-red-contrib-stackhero-mysql
mariadb mysql node-red node-red-contrib stackhero
Last synced: 21 days ago
JSON representation
Node-RED node to read and write to a MySQL or a MariaDB database. Compatible with TLS (SSL) and "Caching SHA2 password" authentication method.
- Host: GitHub
- URL: https://github.com/stackhero-io/node-red-contrib-stackhero-mysql
- Owner: stackhero-io
- Created: 2020-05-11T07:51:37.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-10-06T15:07:04.000Z (23 days ago)
- Last Synced: 2025-10-06T15:58:14.491Z (23 days ago)
- Topics: mariadb, mysql, node-red, node-red-contrib, stackhero
- Language: HTML
- Size: 55.7 KB
- Stars: 19
- Watchers: 1
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
- awesome-nodered - stackhero-mysql - Connect to a MySQL or a MariaDB database, using TLS (SSL) and compatible with "Caching SHA2 password" authentication method (MySQL >= 8). (Nodes / Database)
README
# node-red-contrib-stackhero-mysql
[Node-RED](https://nodered.org) 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](https://github.com/stackhero-io/node-red-contrib-stackhero-mysql)

## Sponsors
`node-red-contrib-stackhero-mysql` is developed by [Stackhero](https://www.stackhero.io/).
If you are looking for powerful managed services, like Node-RED, MySQL or MariaDB, you should seriously consider Stackhero 🤓
- [Managed MySQL databases](https://www.stackhero.io/services/MySQL)
- [Managed MariaDB databases](https://www.stackhero.io/services/MariaDB)
- [Managed Node-RED service](https://www.stackhero.io/services/Node-RED)
## Usage
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)
```javascript
msg.topic = 'INSERT INTO `users` SET ?';
msg.payload = [{ name: 'Adrien', age: 42 }];
return msg;
```
#### Named parameters
```javascript
msg.topic = 'INSERT INTO `users` (`name`, `age`) VALUES (:name, :age)';
msg.payload = { name: 'Adrien', age: 42 };
return msg;
```
#### Positional parameters
```javascript
msg.topic = 'INSERT INTO `users` (`name`, `age`) VALUES (?, ?)';
msg.payload = [ 'Adrien', 42 ];
return msg;
```
#### Bulk (multi-row) insertion
```javascript
msg.topic = 'INSERT INTO `users` (`name`, `age`) VALUES ?';
msg.payload = [[
[ 'Adrien', 42 ],
[ 'Romain', 12 ]
]];
return msg;
```
> Avoid SQL injections!!
>
> Do not NEVER EVER put variables content in `topic` directly!
> Always use the `payload` variable to pass your arguments.
## Troubleshooting
### Error "Connections using insecure transport are prohibited while --require_secure_transport=ON"
You have to connect using TLS encryption. Simply check the box in this node configuration.
### Error "ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client"
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`.