首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查MySQL服务是否与DBD::mysql一起运行

问如何检查MySQL服务是否与DBD::mysql一起运行
EN

Stack Overflow用户
提问于 2022-11-20 03:48:07
回答 1查看 44关注 0票数 2

我使用以下DBD::mysql语句连接到MySQL数据库:

代码语言:javascript
复制
use DBI;
 
# Connect to the database.
my $dbh = DBI->connect("DBI:mysql:database=test;host=localhost",
                       "usr", "usr's password",
                       {'RaiseError' => 1});

在尝试连接到数据库之前,是否有一种检查MySQL服务是否正在运行的方法?如果数据库运行在远程服务器上怎么办?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-20 04:58:49

如果您想要一个解决方案来检查服务是否正在运行而没有试图连接到它,您可以使用一些Perl包来检查工序表 (只在本地工作),或者检查MySQL端口(默认情况下为3306)有一个进程侦听它。

我不知道这个检查的目的是什么,因为即使服务正在运行,接下来您可能要做的就是打开一个DB连接。打开DB连接是一件快速而容易的事情,如果它不能工作,它就有很好的错误报告。因此,您检查服务是否首先运行的意图只是不必要的开销。

我只是试着像你做的那样连接起来。这是检查服务是否正在运行的最直接方法,它可以在本地和远程运行。

如果有错误,捕获错误并解释错误消息。这将是错误的2002 (对于本地主机)或2003 (对于TCP/IP,无论是同一主机还是远程主机)。

这些错误大多是可靠的。但是可能会出现红斑鱼,例如,如果服务在远程主机上运行,但是由于防火墙或路由问题,客户端主机无法访问它。

如果您得到一个错误1045 (访问被拒绝),至少您知道服务正在运行,并且您可以到达它,问题只是您的用户和密码不正确,或者您试图访问您没有特权使用的架构。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74505503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档