gpt4 book ai didi

mysql - 我如何告诉 DBD::mysql mysql.sock 在哪里?

转载 作者:可可西里 更新时间:2023-11-01 06:31:45 24 4
gpt4 key购买 nike

将 DBD::mysql 与 DBI 结合使用,尝试连接到数据库时出现以下错误。

DBI connect('database=mydb:host=localhost','someuser',...) failed: Can't connect 
to local MySQL server through socket '/tmp/mysql.sock' (2) at ./myscript.pl line 97

是的,MySQL 已启动并正在运行。问题是 mysql.sock 不在/tmp 中。
我知道 mysql.sock 的位置,我目前已经破解它以便它可以工作,我创建了一个指向 mysql.sock 文件当前位置的软链接(soft link)。我宁愿不更改 MySQL 配置,尽管这可能是最简单的事情。

有没有办法进入 DBD::mysql 并将其配置为在正确的位置查找 mysql.sock?

最佳答案

可以在connect方法中指定socket的位置

my $dbh = DBI->connect("DBI:mysql:database=dbname;host=localhost;mysql_socket=/path/to/mysql.sock","someuser","somepassword", {'RaiseError' => 1});

有关更多信息,请查看文档 here

关于mysql - 我如何告诉 DBD::mysql mysql.sock 在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1957916/

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