gpt4 book ai didi

mysql - 在 perl DBD::mysql 中使用 --login-path=local

转载 作者:行者123 更新时间:2023-11-29 02:16:37 25 4
gpt4 key购买 nike

mysql 支持使用存储在名为 .mylogin.cnf 的文件中的本地身份验证凭据的无密码登录(更多详细信息,请参见 here)。

例如:

mysql --login-path=local

我的问题是:如何使用 DBD::mysql 在 perl 中执行此操作?

最佳答案

DBD::mysql 使用 MySQL C API,它似乎不支持登录路径。或者,您可以使用 option filemysql_read_default_file connect 调用中的 mysql_read_default_group 选项:

use strict;
use warnings 'all';

use DBI;

my $dsn = 'DBI:mysql:' .
';mysql_read_default_group=local' .
';mysql_read_default_file=/path/to/config';

my $dbh = DBI->connect($dsn, undef, undef, {
PrintError => 0,
RaiseError => 1
});

您的选项文件应如下所示:

[local]
host = localhost
database = foo
user = myuser
password = mypassword

[remote]
host = remote.example.com
database = foo
user = myuser
password = mypassword

请注意,与 .mylogin.cnf(--login-path 使用的文件)不同,常规选项文件未加密。这并不像听起来那么严重。加密的主要好处是它可以防止您意外暴露您的凭据,例如查看文件时,但它不提供牢不可破的安全性。您仍然可以通过确保它不是世界可读的、将其从版本控制中排除等来保护您的选项文件。

关于mysql - 在 perl DBD::mysql 中使用 --login-path=local,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38570085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com