6个版本

0.1.5 2022年12月3日
0.1.4 2022年11月18日
0.1.3 2022年3月16日
0.1.2 2020年11月23日
0.1.1 2020年6月25日

#339认证

MIT/Apache

13KB
123

myloginrs

Build status Maintenance

读取并解析MySQL的.mylogin.cnf文件。

安装

myloginrs添加到Cargo.toml

[dependencies]
myloginrs = "0.1"

示例

要获取客户端登录信息的HashMap,只需使用解析函数

let file_path = PathBuf::from(
    "tests/test_mylogin.cnf",
);

let client_info = myloginrs::parse("client", Some(&file_path));

然后你可以使用这个HashMap与一个OptsBuilder或mysql库中的其他结构体

let opts = OptsBuilder::new()
    .ip_or_hostname(Some(&client_info["host"]))
    .tcp_port(u16::from_str_radix(&client_info["port"], 10)?)
    .user(Some(&client_info["user"]))
    .pass(Some(&client_info["password"]));

let _conn = Conn::new(opts);

从mysql 20.1.0版本开始,你可以做得更简单

let opts = OptsBuilder::new().from_hash_map(&client_info).unwrap();
let _conn = Conn::new(opts);

如果你想要一个包含整个文件的String,请使用read

let mylogin_plaintext = myloginrs::read(None);

println!("{}", mylogin_plaintext);

第二个示例传递None作为路径以使用默认.mylogin.cnf位置(在Windows上为%APPDATA%\MySQL\.mylogin.cnf,在其他所有系统上为~/.mylogin.cnf)。

其他内容

感谢

许可

许可协议为以下之一

任选其一。

贡献

欢迎Pull requests。 :)

除非你明确表示,否则,根据Apache-2.0许可证定义的,任何有意提交以包含在作品中的贡献,都将根据上述许可证双许可,没有其他附加条款或条件。

依赖关系

~3–4MB
~82K SLoC