从 MySQL 存储过程 Ping 网站

Ping website from MySQL Stored Procedure

我在 Amazon RDS 上托管了一个 MySql 数据库,我希望创建一个存储过程来 ping 我家里的 NAS 并将结果记录到 table。我正在寻找创建家庭互联网中断的日志。

我是 MySql 的新手,不知道如何从存储过程中 ping 某些内容,google 上的每个搜索似乎都是关于如何 ping MySql服务器,而不是如何从 ping 一个 MySql 存储过程。

在 mssql 中,我可以使用以下方法 ping:

DECLARE @pingAddress VARCHAR(200) = 'ping www.google.ca'
EXEC master..xp_cmdshell @pingAddress

有没有办法在MySql中实现同样的效果?

您不应该在存储过程中执行 ping 操作或在数据库之外执行任何其他操作。存储过程用于处理 MySQL.

中的数据

如果您想记录家庭互联网中断情况,可以使用一些服务,例如 https://www.pingdom.com/free

如果您更喜欢自己使用自定义代码来完成,请编写一个应用程序并将其托管在小型 EC2 实例上,或者 运行 按计划执行 Lambda 函数或类似的东西。

这是一篇关于一个人如何使用 Lambda 做到这一点的博客:https://medium.com/@nzoschke/http-service-health-monitor-w-lambda-a9f475abbbf4

在未通过用户定义函数扩展的本机 MySQL 中,您不能那样做™。

如果您必须这样做,可能会有一组合适的用户定义函数。但是在 MySQL 数据库中做这种事情是极力避免的事情。

这是 UDF 存储库。 https://github.com/mysqludf