我有一个服务器,my-website.com,在一个共享的hodting计划上。我在服务器上创建了一个数据库。在webadmin中,数据库详细信息如下:
来自phpmyadmin:
服务器:localhost:3306
数据库服务器
服务器:通过unix套接字的本地主机
服务器类型:percona服务器
服务器版本: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条答案
按热度按时间kqlmhetl1#
不确定我是否完全理解,但mysql可以配置为从本地进程或远程进程进行连接。如果您尝试远程连接到为本地配置的服务器,则该服务器将不会连接。
你没有说你是否有连接错误。
您可以为配置连接
standard TCP/IP
或者ssh TCP/IP
相对于local socket/pipe
-也许你已经做到了。看到这里了吗https://www.percona.com/doc/percona-xtrabackup/latest/howtos/enabling_tcp.html 还有这句话
“大多数linux发行版在默认情况下不允许在mysql或percona服务器包中接受来自外部的tcp/ip连接”
如果这是脱节-只要评论我,我会删除。