如何安全地连接到另一台服务器上的MySQL数据库?

Sha*_*qvi 6 javascript mysql database node.js discord.js

我正在尝试将Discord机器人与另一台服务器上的MySQL数据库链接。但是,此示例显然是不安全的:

const mysql = require('mysql');
const connection = mysql.createConnection({
  host     : 'hostname',
  port     : 'portnum',
  user     : 'db_user',
  password : 'db_user_password',
  database : 'db_name',
  charset  : 'utf8mb4'
});
Run Code Online (Sandbox Code Playgroud)

我将如何建立(更多)安全连接?

Soh*_*ail 7

如果它是托管的数据库服务器,并且您具有受保护的端点URL(表示https://主机),则只需将其用作主机名host: 'hostname',就足够了。

如果它是您拥有的私有服务器,并且具有SSL证书,则可以使用以下内容:

const fs = require('fs');
const mysql = require('mysql');

var connection = mysql.createConnection({
    host: '127.0.0.1',
    port: '3306',
    user: 'root',
    password: 'passw0rd',
    database: 'test',
    ssl: {
        ca: fs.readFileSync(__dirname + '/certs/ca.pem'),
        key: fs.readFileSync(__dirname + '/certs/client-key.pem'),
        cert: fs.readFileSync(__dirname + '/certs/client-cert.pem')
    }
});

connection.connect();
Run Code Online (Sandbox Code Playgroud)