温馨提示×

debian python如何连接数据库

小樊
52
2026-09-08 04:19:16
栏目: 编程语言

在 Debian 上用 Python 连接数据库,通常分三步:安装数据库和驱动 → 安装 Python 库 → 写代码连接。下面按常见数据库分别说明。


一、通用准备

更新系统:

sudo apt update
sudo apt upgrade -y

安装 Python 和 pip:

sudo apt install python3 python3-pip -y

二、连接常见数据库

1️⃣ MySQL / MariaDB

安装数据库(如未安装)

sudo apt install mariadb-server -y
sudo mysql_secure_installation

安装 Python 驱动

pip3 install pymysql
# 或
pip3 install mysql-connector-python

示例代码(PyMySQL)

import pymysql

conn = pymysql.connect(
    host='localhost',
    user='root',
    password='your_password',
    database='testdb'
)

cur = conn.cursor()
cur.execute("SELECT VERSION()")
print(cur.fetchone())

cur.close()
conn.close()

2️⃣ PostgreSQL

安装数据库

sudo apt install postgresql postgresql-contrib -y
sudo -u postgres psql

安装 Python 驱动

pip3 install psycopg2
# 若编译失败,用二进制版:
pip3 install psycopg2-binary

示例代码

import psycopg2

conn = psycopg2.connect(
    host="localhost",
    user="postgres",
    password="your_password",
    dbname="testdb"
)

cur = conn.cursor()
cur.execute("SELECT version()")
print(cur.fetchone())

cur.close()
conn.close()

3️⃣ SQLite(无需安装服务)

pip3 install dbapi2  # 通常内置
import sqlite3

conn = sqlite3.connect("test.db")
cur = conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS user(id INTEGER, name TEXT)")
conn.commit()
conn.close()

4️⃣ Redis(非关系型)

sudo apt install redis-server -y
pip3 install redis
import redis

r = redis.Redis(host='localhost', port=6379, db=0)
r.set('foo', 'bar')
print(r.get('foo'))

三、常见问题

❌ 连接被拒绝

  • 数据库是否启动
systemctl status mysql
systemctl status postgresql
  • 是否允许本地连接
  • 用户名/密码是否正确

❌ pip 安装失败

使用虚拟环境:

python3 -m venv venv
source venv/bin/activate
pip install pymysql

四、推荐做法(生产环境)

  • 使用 SQLAlchemy
pip3 install sqlalchemy
  • 不把密码写死在代码里(用环境变量)

如果你告诉我:

  • 用的是 哪种数据库
  • 是 本地还是远程
  • Python 版本

我可以给你更精确的示例。

0 踩