Данные из онлайн-базы данных MySQL с помощью node.js

Я строю SMS-приложение nodejs. Это приложение будет получать данные (номера телефонов), которые находятся в базе данных MySQL другого веб-сайта, владельцем которого я являюсь в cPanel (например, example.org), в поле с именем Телефон, а также значениями Телефон. Это то, что у меня есть, но я получаю сообщение об ошибке. Пожалуйста, помогите указать любую возможную причину ошибки ниже. Я новичок, делаю свой первый проект, который буду размещать в heroku.

var express  = require("express");
var mysql = require("mysql");
var app = express();

//Establishing connection
var con = mysql.createConnection({
	host:"example.org",
	user:"example_admin",
	password:"*********",
	database:"example_registerdb"
});

//Fetching the phone numbers from the phone column
con.connect(function(err){
	if (err) throw err;
	con.query("SELECT phone FROM phone", function(err, results, fields){
		if (err) throw err;
		console.info(results);
	});
});

app.get('/', function(req, res){
	res.send('Hello World');
});

var server = app.listen(3306, function(){
	console.info('Listening on port 3306');
});

Вот ошибка, которую я получаю в cmd:

E:\Documents\Computer and Coding\PlayGround\PROJECTS\SMSAPI\index.js:15
        if (err) throw err;
                ^

Error: connect ETIMEDOUT
    at Connection._handleConnectTimeout (E:\Documents\Computer and Coding\PlayGround\PROJECTS\SMSAPI\node_modules\mysql\lib\Connection.js:419:13)
    at Object.onceWrapper (events.js:313:30)
    at emitNone (events.js:106:13)
    at Socket.emit (events.js:208:7)
    at Socket._onTimeout (net.js:420:8)
    at ontimeout (timers.js:482:11)
    at tryOnTimeout (timers.js:317:5)
    at Timer.listOnTimeout (timers.js:277:5)
    --------------------
    at Protocol._enqueue (E:\Documents\Computer and Coding\PlayGround\PROJECTS\SMSAPI\node_modules\mysql\lib\protocol\Protocol.js:145:48)
    at Protocol.handshake (E:\Documents\Computer and Coding\PlayGround\PROJECTS\SMSAPI\node_modules\mysql\lib\protocol\Protocol.js:52:23)
    at Connection.connect (E:\Documents\Computer and Coding\PlayGround\PROJECTS\SMSAPI\node_modules\mysql\lib\Connection.js:130:18)
    at Object.<anonymous> (E:\Documents\Computer and Coding\PlayGround\PROJECTS\SMSAPI\index.js:14:5)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Function.Module.runMain (module.js:693:10)

Пожалуйста, не задавайте вопросы, заголовки которых должны быть заглавными. Это только отвлечет внимание от вашего вопроса.

rmlan 18.06.2018 21:18

Вы подключались к серверу mysql с любым другим клиентом, кроме этого? Я собираюсь поспорить, что порт 3306 (порт mysql по умолчанию) или любой другой порт, который прослушивает mysql, не доступен свободно через Интернет.

rmlan 18.06.2018 21:19

@rmlan теперь, когда он не раскрывается свободно, что делать дальше?

Eric O. 18.06.2018 21:55

Вы не обновили свой вопрос. Мой комментарий был только предположением. Вы подтвердили, что порт не выставлен? Кому принадлежит этот сервер MySQL? Если вы не владеете им и порт не отображается, у вас действительно нет пути любой, если вы все еще хотите подключиться напрямую к серверу.

rmlan 18.06.2018 22:03

Он принадлежит моему PHP-сайту в cPanel. Затем я попробовал порт 3306 и все еще ту же ошибку. Пожалуйста, расскажите подробнее о порте ....

Eric O. 18.06.2018 22:25
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
5
463
0

Другие вопросы по теме