gpt4 book ai didi

mysql - 将 perl 与 mysql 连接时,用户 'root' @'localhost'(使用密码 yes)的访问被拒绝

转载 作者:行者123 更新时间:2023-11-29 12:08:49 25 4
gpt4 key购买 nike

我编写了以下 perl 脚本来连接 mysql 工作台数据库,但它给出错误用户'root'@'localhost'访问被拒绝(使用密码 yes)

运行代码后出错:

C:\Users\1053130\Desktop>perl mysql.pl
DBI connect('database=dvd_collection','root',...) failed: Access denied for user 'root'@'localhost' (using password: YES) at mysql.pl line 9.
Access denied for user 'root'@'localhost' (using password: YES) at mysql.pl line 9.

我也遇到过类似的问题,但根据这些问题我已经有了用户名密码。我什至还更改了root密码。但错误还是一样。

代码:

#!/usr/bin/perl
use DBI;
use strict;
my $driver = "mysql";
my $database = "dvd_collection";
my $dsn = "DBI:$driver:database=$database";
my $userid = "root";
my $password = "123";
my $dbh = DBI->connect($dsn, $userid, $password ) or die $DBI::errstr;

最佳答案

不应该my $dsn = "DBI:$driver:database=$database";而是
my $dsn = "DBI:$driver:database=$database;host=$hostname;port=$port"; ?

缺少主机和端口?

编辑:
它说访问被拒绝...@localhost。是本地服务器吗?如果没有,您应该声明服务器详细信息,如上所示。

编辑2:
根据您的评论,您应该检查您的密码,听起来很简单。您可以使用 mysql -u root -p newPasswordHere 来实现。选择一个新的并重试。

编辑3:
由于您已经更改了密码,请尝试对连接进行以下更改:

my $dbh = DBI->connect('dbi:mysql:dbname=dvd_collection;host=localhost','root', '123') || die "Could not connect to database: $DBI::errstr";

我发现有些人在使用不同的连接格式时遇到了一些问题。

关于mysql - 将 perl 与 mysql 连接时,用户 'root' @'localhost'(使用密码 yes)的访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31049604/

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