Как подключиться к базе данных на удаленном сервере - PullRequest
0 голосов
/ 02 сентября 2018

У меня есть сервер, my-website.com, в плане совместного размещения. Я создал базу данных на сервере. От webadmin, данные БД:

От phpMyAdmin:

Сервер: localhost: 3306


Сервер базы данных
Сервер: Localhost через сокет UNIX
Тип сервера: Percona Server
Версия сервера: 5.6.39-83.1 - Percona Server (GPL), выпуск 83.1, версия da5a1c2923f
Версия протокола: 10
Пользователь: user @ localhost
Серверная кодировка: UTF-8 Unicode (utf8)

Я пытаюсь подключиться к нему через узел:

const express = require('express')
const mysql = require('mysql')

const PORT = process.env.PORT || 5000

const app = express();
app.use(express.json());

const courses = [];

/** DB **/


app.get('/api/db_connect', function (req, res) {

    var myConStatus = "undef  conn";

    var con = mysql.createConnection({
        host: "191.181.181.81",  // FAKE
        Port: "3306",
        user: "user@localhost",
        database: "user_test_db",
        password: "password123"
    });

    con.connect(function (err) {
        myConStatus = "Connecting to db";
        if (err) {
            myConStatus = "ERR Conn";
            throw err;
        }

        myConStatus = "Success Connection";
    });

    var sql = "CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))";
    con.query(sql, function (err, result) {
        myConStatus = "Creating table";

        if (err) {
            myConStatus = "ERR DB TABLE CREATE";
            throw err;
        }
        myConStatus = "Table created";
    });

    res.send(myConStatus);

});

/** END DB **/

Это никогда не бывает успешным, и таблица не создается.

Что мне не хватает?

Спасибо всем заранее.

1 Ответ

0 голосов
/ 02 сентября 2018

Не уверен, что я полностью понимаю, но mySQL можно настроить для соединений из локальных процессов или из удаленных. Если вы пытаетесь подключиться удаленно к серверу, который настроен для локального, он не будет подключаться.

Вы не сказали, есть ли у вас ошибки соединения или нет.

Вы можете настроить соединения для standard TCP/IP или ssh TCP/IP в отличие от local socket/pipe - что, возможно, вы уже сделали.

Смотрите здесь https://www.percona.com/doc/percona-xtrabackup/LATEST/howtos/enabling_tcp.html и эту цитату

"Большинство дистрибутивов Linux не позволяют по умолчанию принимать Соединения TCP / IP извне в их MySQL или Percona Server пакеты "

Если это не так - просто прокомментируйте меня, и я удалю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...