Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/grrr-amsterdam/mysql-ssh
npm package to execute mysql command over an ssh tunnel. https://www.npmjs.com/package/mysql-ssh
https://github.com/grrr-amsterdam/mysql-ssh
Last synced: 9 days ago
JSON representation
npm package to execute mysql command over an ssh tunnel. https://www.npmjs.com/package/mysql-ssh
- Host: GitHub
- URL: https://github.com/grrr-amsterdam/mysql-ssh
- Owner: grrr-amsterdam
- License: mit
- Created: 2017-05-28T18:25:40.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-08-06T17:15:35.000Z (5 months ago)
- Last Synced: 2024-12-06T17:22:24.071Z (23 days ago)
- Language: JavaScript
- Size: 61.5 KB
- Stars: 25
- Watchers: 4
- Forks: 26
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MySQL SSH
Sets up a MySQL connection inside an SSH tunnel.
This is practical when you want to reach a database which is only accessible through a webserver.
Even if the database server is not located on the webserver itself.[![Greenkeeper badge](https://badges.greenkeeper.io/grrr-amsterdam/mysql-ssh.svg)](https://greenkeeper.io/)
## API
### `.connect(obj sshConfig, obj dbConfig)`
* `sshConfig` should be an object according to the `ssh2` package.
* `dbConfig` should be an object according to the `mysql2` package.
* Returns a Promise, containing a connection from the `mysql2` package.## Usage
Don't forget to `.close()` the tunnel connection when you're done querying the database.```javascript
const mysqlssh = require('mysql-ssh');
const fs = require('fs');mysqlssh.connect(
{
host: 'my-ssh-server.org',
user: 'me-ssh',
privateKey: fs.readFileSync(process.env.HOME + '/.ssh/id_rsa')
},
{
host: 'my-db-host.com',
user: 'me-db',
password: 'secret',
database: 'my-db-name'
}
)
.then(client => {
client.query('SELECT * FROM `users`', function (err, results, fields) {
if (err) throw err
console.log(results);
mysqlssh.close()
})
})
.catch(err => {
console.log(err)
})
```