用PHP监控MySQL数据库

用PHP监控MySQL数据库,php,mysql,Php,Mysql,我有一个包含12000个条目的mysql数据库,我想要设置的是能够监视数据库中的一列,如果/当该列被更改为任何条目时,它会向我发送一封包含详细信息的电子邮件 编辑:我可以访问mysql数据库,但不能访问使用它的脚本。因此,它应该监控它的变化…尝试类似的方法,如果查询中有insert和TABLE\u NAME或COLUMN\u NAME,您可以编辑发送给您和电子邮件的函数尝试类似的方法,如果查询中有insert和TABLE\u NAME或COLUMN\u NAME将一列设置为datetimesta

我有一个包含12000个条目的mysql数据库,我想要设置的是能够监视数据库中的一列,如果/当该列被更改为任何条目时,它会向我发送一封包含详细信息的电子邮件


编辑:我可以访问mysql数据库,但不能访问使用它的脚本。因此,它应该监控它的变化…

尝试类似的方法,如果查询中有
insert
和TABLE\u NAME或COLUMN\u NAME,您可以编辑发送给您和电子邮件的函数

尝试类似的方法,如果查询中有
insert
和TABLE\u NAME或COLUMN\u NAME

将一列设置为datetimestamp,则可以编辑该函数向您发送和发送电子邮件

这将在行的每次更改时更新。在那里,您可以通过cron作业或每隔几次php查询就运行一次sql查询,以返回自上次检查以来更改的行列表

Select   * from tbl_myentries where EntryUpdated > '$TimeSinceLastCheck'

将一列设置为datetimestamp

这将在行的每次更改时更新。在那里,您可以通过cron作业或每隔几次php查询就运行一次sql查询,以返回自上次检查以来更改的行列表

Select   * from tbl_myentries where EntryUpdated > '$TimeSinceLastCheck'

如果您的MySQL版本有触发器,您可以在表上创建一些触发器。触发器可以调用您想要创建的任何函数。触发器的优点是,对列的任何插入、删除或更新都会导致触发;您不必更改任何其他代码来实现它。更多信息请参见此处

如果您的MySQL版本有触发器,您可以在表上创建一些触发器。触发器可以调用您想要创建的任何函数。触发器的优点是,对列的任何插入、删除或更新都会导致触发;您不必更改任何其他代码来实现它。更多信息请参见此处

  • 在更新时创建触发器
  • 创建另一个表(称之为cron_表),触发器将在其中插入更新行的信息(可能是旧值、新值等)
  • 设置一个cron,它将调用一个脚本,该脚本将检查cron_表并在找到任何条目时发送电子邮件。可以根据需要设置Cron间隔
---如果您可以从trigger发送电子邮件,那么就不需要单独的表和cron--

  • 在更新时创建触发器
  • 创建另一个表(称之为cron_表),触发器将在其中插入更新行的信息(可能是旧值、新值等)
  • 设置一个cron,它将调用一个脚本,该脚本将检查cron_表并在找到任何条目时发送电子邮件。可以根据需要设置Cron间隔

---如果您可以从触发器发送电子邮件,那么就不需要单独的表和cron---

您需要了解数据操作语言(DML)触发器 在我的sql中:使用

CREATE TRIGGER salary_trigger
    BEFORE UPDATE ON table_name
    REFERENCING NEW ROW AS n, OLD ROW AS o
    FOR EACH ROW
    IF n.columnName <> o.columnname THEN

    END IF;
;
创建触发器\u触发器
更新表名称之前
将新行引用为n,将旧行引用为o
每行
如果n.columnName o.columnName,则
如果结束;
;

您需要了解数据操作语言(DML)触发器 在我的sql中:使用

CREATE TRIGGER salary_trigger
    BEFORE UPDATE ON table_name
    REFERENCING NEW ROW AS n, OLD ROW AS o
    FOR EACH ROW
    IF n.columnName <> o.columnname THEN

    END IF;
;
创建触发器\u触发器
更新表名称之前
将新行引用为n,将旧行引用为o
每行
如果n.columnName o.columnName,则
如果结束;
;

在列的更改上创建一个触发器,然后将其作为日志表插入到另一个表中


在将向您发送电子邮件的表上运行cron作业。

在列上的更改上创建触发器,然后将其作为日志表插入到另一个表中


在您的表上运行cron job,该表将向您发送电子邮件。

+1用于提示触发器。触发器是监控此类事件的指定方式。你知道用触发器发送电子邮件的方法吗?@Sarwar,不,我不知道。我实际上不知道如何通过任何代码发送电子邮件。但是触发器可以调用存储过程,因此可以从存储过程执行的任何操作都可以从触发器执行。对不起,我帮不上忙了。提及触发器+1。触发器是监控此类事件的指定方式。你知道用触发器发送电子邮件的方法吗?@Sarwar,不,我不知道。我实际上不知道如何通过任何代码发送电子邮件。但是触发器可以调用存储过程,因此可以从存储过程执行的任何操作都可以从触发器执行。对不起,我帮不上忙了。