gpt4 book ai didi

mysql - Perl 代码始终连接到同一个 MySQL 数据库,尽管它被配置为连接到不同的服务器

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

Perl 代码始终连接到相同的 MySQL(本地但错误地显示服务器的 FQDN)数据库,尽管它被配置为连接到不同的服务器。请查看代码。

$datasetname="DBI:mysql:database=applications;host=entdb"

$$dbobject = DBI -> connect ($datasetname, $username, $password,
{RaiseError => 0, PrintError => 0})
or $errflg2 = 1;
print TT (" : ".time()."\n");
close (TT);
if ($errflg2 > 0)
{
$errmsg = "ERROR opening up the database: $datasetname\n";
$errmsg .= " Error number: " . $DBI::err . "\n";
$errmsg .= " Error text : " . $DBI::errstr . "\n";
print "$errmsg";
ilog ($ifile, $errmsg);
mail_it ($errmsg);
if ($debug != 0) { close (DB); }
exit (1);
}
else
{ print "Opened the '" . $datasetname . "' database.\n"; }**
enter code here

错误打开数据库时出错:DBI:mysql:database=applications;host=entdb 错误编号:1045 错误文本:用户“entdb”@“vpl121”的访问被拒绝(使用密码:YES)

在代码中看到我提到了 entdb,但是 Perl 连接到了 VPL121。 Perl 代码在 vpl121 上运行。

最佳答案

在 mysql 中,所有用户帐户均通过 username@hostname format 标识。 ,其中主机名是代码连接到 mysql 数据库的计算机的主机名或 IP 地址。

您确实写到 Perl 代码在 vpl121 上运行,因此这是 mysql 使用的主机名。显然,您没有任何与“entdb”@“vpl121”匹配的用户帐户,或者密码不正确,或者给定用户无权访问 entdb 数据库。

我的猜测是您没有任何匹配的用户帐户。考虑创建一个“entdb”@“%”用户帐户,其中 % 作为主机名代表任何主机名或 IP 地址。

关于mysql - Perl 代码始终连接到同一个 MySQL 数据库,尽管它被配置为连接到不同的服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39688607/

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