使用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
相关产品推荐
相关产品推荐

