在Ubuntu下配置Python连接数据库,通常需要以下几个步骤:
安装Python和数据库驱动
确保你的Ubuntu系统上已经安装了Python。大多数Ubuntu版本默认安装了Python 3.x。你可以通过运行 python3 --version 来检查。
接下来,根据你要连接的数据库类型,安装相应的Python驱动程序。以下是一些常见数据库的驱动程序:
-
MySQL: 安装
mysql-connector-python或PyMySQL。使用以下命令之一安装:pip3 install mysql-connector-python # 或者 pip3 install PyMySQL -
PostgreSQL: 安装
psycopg2。使用以下命令安装:pip3 install psycopg2-binary -
SQLite: Python标准库中已经包含了
sqlite3模块,无需额外安装。 -
MongoDB: 安装
pymongo。使用以下命令安装:pip3 install pymongo
配置数据库服务器
如果你还没有安装数据库服务器,你需要先安装一个。例如,对于MySQL,你可以使用以下命令安装:
sudo apt update
sudo apt install mysql-server
安装完成后,启动并启用MySQL服务:
sudo systemctl start mysql
sudo systemctl enable mysql
运行安全脚本以设置root密码和其他安全选项:
sudo mysql_secure_installation
对于PostgreSQL,可以使用以下命令安装:
sudo apt update
sudo apt install postgresql postgresql-contrib
创建数据库和用户:
sudo -u postgres psql
在psql shell中:
CREATE DATABASE yourdatabase;
CREATE USER yourusername WITH ENCRYPTED PASSWORD 'yourpassword';
GRANT ALL PRIVILEGES ON DATABASE yourdatabase TO yourusername;
\q
编写Python代码连接数据库
使用Python编写代码来连接数据库。以下是一些示例代码:
MySQL 示例:
import mysql.connector
# 连接到数据库
cnx = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 创建游标
cursor = cnx.cursor()
# 执行查询
cursor.execute("SELECT * FROM yourtable")
# 获取结果
for row in cursor:
print(row)
# 关闭游标和连接
cursor.close()
cnx.close()
PostgreSQL 示例:
import psycopg2
# 连接到数据库
conn = psycopg2.connect(
dbname="yourdatabase",
user="yourusername",
password="yourpassword",
host="localhost"
)
# 创建游标
cur = conn.cursor()
# 执行查询
cur.execute("SELECT version();")
# 获取查询结果
db_version = cur.fetchone()
print("Connected to PostgreSQL version:", db_version)
# 关闭游标和连接
cur.close()
conn.close()
运行Python脚本
在终端中,导航到包含你的Python脚本的目录,并运行以下命令:
python3 db_connection.py
这将连接到数据库并执行查询,然后输出结果。
通过以上步骤,你应该能够在Ubuntu上成功配置Python数据库连接。根据具体的数据库类型和需求,可能需要进行一些额外的配置和调整。
以上就是关于“Ubuntu下Python数据库连接怎么配置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm