发布于2026-07-12 阅读(0)
扫一扫,手机访问
在Linux上为Rust项目配上数据库,这事儿说简单也简单,说复杂也复杂。关键是要理清几个环节,走对路子。下面这张图是整体流程的概览,我们先有个印象,再一步步来。

先想清楚用哪个数据库
选型这一步没法跳过。常见的几个选项:PostgreSQL(功能全面,适合严肃场景)、MySQL(生态成熟,入门友好)、SQLite(轻量级,嵌入式,测试或小项目首选)。根据项目需求来定,一般推荐PostgreSQL。
在系统上安装数据库服务
选好数据库之后,用Linux包管理器装好。以PostgreSQL为例,打开终端,一行命令搞定:
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib
其他发行版(如CentOS)换成 yum 或 dnf,原理一样。
建一个数据库和用户
装好之后,需要创建一个专属的数据库和用户。以PostgreSQL为例,先切换到postgres系统用户,进入交互式Shell:
sudo -u postgres psql
然后在psql里依次执行:
CREATE DATABASE mydatabase;
CREATE USER myuser WITH ENCRYPTED PASSWORD 'mypassword';
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;
\q
这里的 mydatabase、myuser、mypassword 可以按实际需求替换。记得密码要足够复杂。
在Rust项目里添加依赖
打开项目的 Cargo.toml,根据你选的数据库添加对应的crate。比如用PostgreSQL,就加上:
[dependencies]
tokio-postgres = "0.7"
tokio = { version = "1", features = ["full"] }
如果选的是MySQL,可以考虑 sqlx 或 mysql 这些 crate;SQLite 则用 rusqlite。总之,这一步是把数据库驱动请进项目。
写代码连上数据库
依赖装好之后,就可以在Rust代码里建立连接了。下面是一个使用 tokio-postgres 的例子,异步方式,很符合现代Rust的玩法:
use tokio_postgres::{NoTls, Error};
#[tokio::main]
async fn main() -> Result<(), Error> {
// 连接字符串:host、user、dbname、password 要替换成你刚才创建的
let (client, connection) = tokio_postgres::connect(
"host=localhost user=myuser dbname=mydatabase password=mypassword",
NoTls,
).await?;
// 连接任务需要在后台持续运行
tokio::spawn(async move {
if let Err(e) = connection.await {
eprintln!("Connection error: {}", e);
}
});
// 执行查询,假设已经有一张 mytable 表
let rows = client.query("SELECT * FROM mytable", &[]).await?;
for row in rows {
let id: i32 = row.get(0);
let name: &str = row.get(1);
println!("id: {}, name: {}", id, name);
}
Ok(())
}
这段代码做了三件事:建立连接、后台维持连接、执行一条SELECT语句。你可以根据业务需求增删改查。
跑起来看看效果
确保数据库服务已启动,然后在项目目录下执行:
cargo run
如果一切顺利,就会在终端输出 mytable 里的数据。当然,第一次跑之前记得先建好表和插入一些测试数据。
以上就是Linux上为Rust项目配置数据库连接的完整流程。不同数据库和Rust库的具体细节会略有差异,但这个思路是通用的:选型→安装→建库→加依赖→写代码→运行。按这个节奏来,基本不会走偏。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8