gpt4 book ai didi

mysql - Perl - DBI 无法连接到 MySQL(拒绝访问...)

转载 作者:行者123 更新时间:2023-11-29 05:18:39 25 4
gpt4 key购买 nike

我有以下 Perl 脚本,我尝试通过它连接到我的本地 MySQL 服务器,

#!/usr/bin/perl

use DBI;
use strict;

my $driver = "mysql";
my $host = "localhost";
my $database = "test";
my $dsn = "DBI:$driver:database=$database,host=$host";
my $userid = "root";
my $password = "password";

my $dbh = DBI->connect($dsn, $userid, $password ) or die $DBI::errstr;

my $sth = $dbh->prepare("select from_date,to_date from temp");
$sth->execute() or die $DBI::errstr;
print "Number of rows found :" + $sth->rows;
while (my @row = $sth->fetchrow_array()) {
my ($from_date, $to_date ) = @row;
print "From Date = $from_date, To Date = $to_date\n";
}
$sth->finish();

当我运行此脚本时,尽管我已将所有权限授予此 MySQL 用户,但每次都会出现以下错误,

Access denied for user 'root'@'localhost' (using password: YES)

我是 Perl 的新手,我猜我犯了一些错误。请告诉我我的代码有什么问题。

提前致谢!

附言我在 Windows 机器上运行它,即使在我的 Ubuntu 机器上我也遇到了同样的错误,尽管我在那里指定了套接字的路径。

最佳答案

我遇到过类似的问题。我正在使用以下连接字符串;

my $dbh = DBI->connect("DBI:mysql:database=db_name;host=db_server_ip", "db_user", "db_password", {'RaiseError' => 1});

密码中有“@”符号,将双引号 (") 替换为单引号 (') 为我解决了。

my $dbh = DBI->connect("DBI:mysql:database=db_name;host=db_server_ip", "db_user", 'db_password', {'RaiseError' => 1});

关于mysql - Perl - DBI 无法连接到 MySQL(拒绝访问...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29115579/

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