Hostinger MySQL 数据库连接 Node.js 应用教程
本指南介绍如何将 Node.js 应用程序连接到托管在 Hostinger 上的 MySQL 数据库。
开始之前,请确认:
- 你已经构建好 Node.js 网站或应用程序
- 你的应用需要数据库连接来存储数据
- 你已准备好为生产环境配置数据库和环境变量
Hostinger 目前仅支持 MySQL 数据库。共享主机和托管主机方案不支持其他数据库引擎(PostgreSQL、MongoDB 等)。如果你的应用需要其他引擎,可以连接外部服务商——请参阅将 Supabase 数据库连接到 Hostinger Node.js 应用程序。
步骤 1 – 在 Hostinger 控制面板中创建 MySQL 数据库
-
进入 Websites → Dashboard→ Databases → Management
-
填写以下内容:
- 数据库名称
- 数据库用户名
- 密码(请妥善保存)
-
点击 Create(创建)

创建完成后,请记下以下信息:
- 数据库名称
- 数据库用户名
- 数据库密码
- 数据库主机(在 Hostinger 上通常为 localhost)
步骤 2 – 配置环境变量
你的 Node.js 应用切勿将数据库凭据硬编码在代码中,请改用环境变量来管理这些凭据。
方案 A – 分离的环境变量(推荐,更清晰)
创建或更新你的 .env 文件:
DB_HOST=localhostDB_PORT=3306DB_USER=databaseuserDB_PASSWORD=databasepasswordDB_NAME=databasename
方案 B – 单一数据库连接字符串
根据你的应用配置方式,你也可以定义一个数据库连接变量:
DATABASE_URL=mysql://databaseuser:databasepassword@localhost:3306/databasename
具体格式可能因你使用的库或框架而异。Hostinger 仅支持 MySQL,因此前缀必须是 mysql://。
本文将使用方案 A。
步骤 3 – 重新构建或重启应用程序
更新环境变量后,请务必重启应用程序,以便加载新值。
从 Hostinger 控制面板重启(推荐)
对于服务器端 Node.js 应用(如 Express.js、Next.js、NestJS),你可以直接在控制面板中重启:
- 在 Hostinger 控制面板中打开你的 Website Dashboard(网站控制面板)
- 点击 Restart(重启)

Restart 选项仅适用于服务器端 Node.js 应用程序。静态网站(React、Vue、Angular)不会运行持久的服务器进程,因此没有此选项。
备选方法:通过 SSH 重启
如果你希望通过命令行重启:
- 连接到 SSH
- 运行:
cd domains/xx/public_html(将 xx 替换为你的域名) - 运行:
touch tmp/restart.txt
步骤 4 – 确保你的应用包含数据库连接文件
在应用程序存储或读取数据之前,它必须包含一个专用的数据库连接文件。
该文件负责:
- 从环境变量中读取数据库凭据
- 建立与 MySQL 数据库的连接
- 导出该连接,以便在整个应用程序中复用
将数据库逻辑集中在一个文件中,可以让应用更易于维护和调试。
典型的数据库连接文件结构
在大多数 Node.js 项目中,数据库连接文件位于以下类似目录中:
- config/database.js
- db.js
- database/connection.js
具体文件名并不重要,只要在需要的地方将其导入即可。
默认 MySQL 连接文件示例(node.js)
下面是一个使用 mysql2 包的简单且常用的示例。
import mysql from "mysql2/promise";const db = mysql.createPool({ host: process.env.DB_HOST, port: process.env.DB_PORT || 3306, user: process.env.DB_USER, password: process.env.DB_PASSWORD, database: process.env.DB_NAME,});export default db;该文件会:
- 从环境变量中读取凭据
- 创建可复用的连接池
- 避免每次查询都打开新连接
使用单一连接字符串的示例
如果你的应用使用单一数据库连接变量,连接文件可能如下所示:
import mysql from "mysql2/promise";
const db = mysql.createPool(process.env.DATABASE_URL);
export default db;连接字符串的格式取决于数据库驱动程序。在 Hostinger 上,仅支持 MySQL,因此前缀必须是 mysql://。
连接字符串示例:
DATABASE_URL=mysql://databaseuser:databasepassword@localhost:3306/databasename在应用程序中使用数据库连接
创建连接文件后,就可以在项目的任何地方导入并使用它。
示例:
import db from "./config/database.js";
const [rows] = await db.query("SELECT * FROM users");这表明:
- 数据库连接文件已正确设置
- 你的应用程序可以与 MySQL 数据库通信
步骤 5 – 创建所需的数据库表
在存储数据之前,你的数据库必须包含所需的表和列。
SQL 表示例
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255) NOT NULL,email VARCHAR(255) NOT NULL UNIQUE,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);你可以通过以下方式执行此 SQL:
- 通过 Hostinger 控制面板中的 phpMyAdmin
- 或从应用程序中以编程方式执行

步骤 6 – 在生产环境中测试数据插入
-
打开你的线上 Node.js 应用程序
-
执行一个会存储数据的操作(例如提交表单)
-
使用 phpMyAdmin 检查数据库
-
确认:
- 已创建新行
- 值已正确存储

常见问题与故障排除
❌ 用户访问被拒绝(Access denied for user)
- 核对数据库用户名和密码
- 确保该用户已分配到此数据库
❌ 无法连接到 MySQL 服务器
- 确认主机设置为 localhost
- 确保使用端口 3306
❌ 环境变量未加载
- 重启 Node.js 应用程序
- 确认 .env 已包含在运行环境中