后端连接数据库 0 基础完整教程

一、核心概念先搞懂

  1. 数据库:存数据的仓库(MySQL 最常用)
  2. 后端程序:Java/Python/NodeJS/Go 等服务代码
  3. 连接本质 :后端通过驱动程序,用账号密码 + 地址,和数据库建立 TCP 通信,实现增删改查 CRUD
  4. 必备 4 个连接参数(所有语言通用)
    • host:数据库 IP,本地 127.0.0.1 / localhost
    • port:端口,MySQL 默认 3306
    • database:要连接的库名
    • user /password:数据库账号密码

二、四种主流后端最简连接示例(直接复制可用)

1. Node.js(Express)连接 MySQL

1)安装依赖
复制代码
npm install mysql2
2)db.js 连接文件
复制代码
const mysql = require('mysql2/promise');

// 创建连接池(推荐,性能更好)
const pool = mysql.createPool({
  host: '127.0.0.1',
  port: 3306,
  user: 'root',
  password: '你的数据库密码',
  database: 'test_db', // 库名
  waitForConnections: true,
  connectionLimit: 10
});

// 测试连接
(async () => {
  try {
    const conn = await pool.getConnection();
    console.log('数据库连接成功');
    conn.release();
  } catch (err) {
    console.error('连接失败:', err);
  }
})();

module.exports = pool;

2. Python(Flask/Django)pymysql

复制代码
pip install pymysql

import pymysql

# 建立连接
conn = pymysql.connect(
    host="127.0.0.1",
    port=3306,
    user="root",
    password="数据库密码",
    database="test_db",
    charset="utf8mb4"
)
# 获取游标执行SQL
cursor = conn.cursor()
print("连接成功")

# 关闭
cursor.close()
conn.close()

3. Java SpringBoot(最常用企业后端)

pom.xml 依赖
复制代码
<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <scope>runtime</scope>
</dependency>
application.yml 配置
复制代码
spring:
  datasource:
    host: 127.0.0.1
    port: 3306
    username: root
    password: 你的密码
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=utf8

启动项目自动连接,无需手动写连接代码。

4. Go 语言 GORM

复制代码
go get gorm.io/driver/mysql
go get gorm.io/gorm

package main

import (
  "gorm.io/driver/mysql"
  "gorm.io/gorm"
)

func main() {
  dsn := "root:密码@tcp(127.0.0.1:3306)/test_db?charset=utf8mb4"
  db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
  if err != nil {
    panic("连接失败:" + err.Error())
  }
  println("数据库连接成功", db)
}

三、连接前前置步骤(必做,新手 90% 报错在这里)

  1. 安装数据库软件:MySQL 8.0 / 5.7

  2. 启动数据库服务,确保 3306 端口开放

  3. 登录数据库,创建数据库(示例 test_db

    CREATE DATABASE test_db DEFAULT CHARACTER SET utf8mb4;

  4. 确认账号密码正确,本地 root 账号允许本地访问

  5. 关闭防火墙 / 安全软件,避免端口拦截

四、常见报错排查

  1. Access denied:账号密码错误
  2. Can't connect MySQL server:数据库没启动、IP / 端口错
  3. Unknown database:库名不存在,先执行 CREATE DATABASE
  4. 远程连接失败:MySQL 未开放远程访问权限

五、进阶规范(生产环境)

  1. 使用连接池,不要每次请求新建连接
  2. 密码不要硬编码,放入环境变量 / 配置文件加密
  3. 生产数据库不要用 root 账号,创建专用业务账号
  4. 增加超时、重连逻辑,防止断连宕机