我有一个带有Ubuntu 22.04的远程VPS。我在此VPS上安装并配置了MariaDB服务器。我正在尝试创建一个远程MariaDB数据库服务器,以便在我的项目中使用它。服务器正在运行,MariaDB服务器也在运行。我已经允许在网站的界面中使用端口,我在那里托管我的VPS(ionos.com),我还允许在终端中使用端口
“sudo ufw允许3306/tcp”。当我试图通过我的项目(React/TypeScript和ExpressJS)和节点库mariadb进行连接时,当我试图测试连接时,我会收到一个错误。
通过代码进行连接时出现问题:
我通过这种方式连接代码:
const pool=mariadb.createPool({
主机:“my_ip”,
端口:“3306”,
user:“my_mariadb_user”,
密码:“my_maria_db_user_password”,
数据库:“my_database”,
connectionLimit:10,
});
当我运行文件启动express并连接到数据库服务器时,在我测试了express的一个url后,该url连接到了数据库服务器,过了一段时间我得到了以下错误:
连接失败:SqlError:(conn=-1,no:45028,SQLState:HY000)在10016ms后从池中检索连接超时
(池连接:活动=0空闲=0限制=10)
在module.exports.createError(C:\Programmierung\web app game\node_modules\mariadb\lib\misc\errors.js:64:10)
在Pool_requestTimeoutHandler(C:\Programmierung\web app game\node_modules\mariadb\lib\pool.js:349:26)
在listOnTimeout(节点:内部/计时器:569:17)
在process.prrocessTimers(节点:内部/计时器:512:7){
sqlMessage:'在10016ms后从池中检索连接超时\n'+
'(池连接:活动=0空闲=0限制=10)',
sql:null,
致命:错误,
错误号:45028,
sqlState:“HY000”,
代码:'ER_GET_CONNECTION_TIMEOUT'
}
奇怪的是,当我试图通过MySQL Workbench建立连接时,我可以连接到服务器,看到我的所有数据和所有东西。但在代码中我无法连接