温馨提示×

ubuntu如何连接python数据库

小樊
41
2026-09-01 12:44:50
栏目: 编程语言

在 Ubuntu 上“连接 Python 数据库”通常包含 两层意思

  1. Ubuntu 上安装并运行数据库(如 MySQL / PostgreSQL / SQLite)
  2. 用 Python 程序连接并操作该数据库

下面我以 最常见的三种数据库 为例,一步步说明。


一、SQLite(最简单,无需安装服务)

1. 安装 Python(一般已自带)

python3 --version

2. 使用 SQLite(Python 内置支持)

import sqlite3

conn = sqlite3.connect("test.db")
cursor = conn.cursor()

cursor.execute("CREATE TABLE IF NOT EXISTS user (id INTEGER, name TEXT)")
cursor.execute("INSERT INTO user VALUES (1, 'Alice')")

conn.commit()
conn.close()

无需安装数据库服务,适合学习和小型项目


二、MySQL(最常用)

1. 安装 MySQL

sudo apt update
sudo apt install mysql-server

启动并设置开机启动:

sudo systemctl start mysql
sudo systemctl enable mysql

初始化安全设置:

sudo mysql_secure_installation

2. 创建数据库和用户

sudo mysql
CREATE DATABASE testdb;
CREATE USER 'python'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON testdb.* TO 'python'@'localhost';
FLUSH PRIVILEGES;
EXIT;

3. 安装 Python MySQL 驱动

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

4. Python 连接 MySQL

import pymysql

conn = pymysql.connect(
    host="localhost",
    user="python",
    password="123456",
    database="testdb"
)

cursor = conn.cursor()
cursor.execute("SHOW TABLES")
print(cursor.fetchall())

conn.close()

三、PostgreSQL(企业常用)

1. 安装 PostgreSQL

sudo apt install postgresql postgresql-contrib

启动:

sudo systemctl start postgresql

2. 创建用户和数据库

sudo -u postgres psql
CREATE DATABASE testdb;
CREATE USER pyuser WITH PASSWORD '123456';
GRANT ALL PRIVILEGES ON DATABASE testdb TO pyuser;

3. 安装 Python 驱动

pip install psycopg2

4. Python 连接 PostgreSQL

import psycopg2

conn = psycopg2.connect(
    host="localhost",
    user="pyuser",
    password="123456",
    dbname="testdb"
)

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

conn.close()

四、常见问题排查

1. 连接被拒绝

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

2. pip 安装失败

使用:

python3 -m pip install xxx

3. 远程连接

修改配置文件(如 MySQL):

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

注释:

bind-address = 127.0.0.1

五、总结

数据库 Python 库 是否需安装服务
SQLite sqlite3
MySQL pymysql
PostgreSQL psycopg2

如果你告诉我:

  • 用的是 哪种数据库
  • 本地还是远程
  • 是否使用 Django / Flask

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

0