You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用sqlx连接MariaDB时遭遇auth_gssapi_client未知认证插件错误的求助

使用sqlx连接MariaDB时遭遇auth_gssapi_client未知认证插件错误的求助

大家好,我最近在尝试用Rust的sqlx库连接MariaDB数据库时碰到了一个搞不懂的问题,想请教下有没有朋友遇到过类似情况或者能给点解决思路。

具体情况是:我明明在连接字符串里指定了用户名和密码,但程序运行后却一直抛出这个错误:

Error: Protocol("unknown authentication plugin: auth_gssapi_client")

我梳理了几个细节:

  • 服务器上确实有一个配置了gssapi认证的用户,但我这次连接用的是另一个账号密码认证的用户,按理说不该触发gssapi的认证流程才对
  • 我甚至把那个gssapi用户删掉了,结果还是报同样的错误
  • 我试过故意写错账号密码、甚至直接把账号密码从连接字符串里去掉,发现这些参数好像完全被忽略了,错误依旧没变化

另外我也考虑过,如果能在Windows环境下用gssapi方式连接也行,但查了下好像sqlx对这个认证方式的支持不太友好?

以下是我的最小复现代码:

main.rs

use sqlx::mysql::MySqlPool;

#[tokio::main(flavor = "current_thread")]
async fn main() -> Result<(), sqlx::Error> {
    let pool = MySqlPool::connect("mariadb://user:password@localhost:3306/database").await?;

    let row: (i64, ) = sqlx::query_as("SELECT $1")
        .bind(150_i64)
        .fetch_one(&pool).await?;

    assert_eq!(row.0, 150);
    println!("{:?}", row.0);

    Ok(())
}

Cargo.toml

[package]
name = "sqltest"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
sqlx = {version = "0.7.2", features=["mysql", "runtime-tokio"] }
tokio = { version = "1.20.0", features = ["rt", "macros"]}

备注:内容来源于stack exchange,提问作者HowMayIBeHelped

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 11:14:30