Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 216 Vote(s) - 3.55 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to schedule a stored procedure in MySQL

#1
I have this stored procedure. How can I run this for example with intervals of 5 seconds? Like a routine for eliminate data with a time-stamp older than one day?

DROP PROCEDURE IF EXISTS `delete_rows_links`
GO

CREATE PROCEDURE delete_rows_links
BEGIN

DELETE activation_link
FROM activation_link_password_reset
WHERE TIMESTAMPDIFF(DAY, `time`, NOW()) < 1 ;

END

GO
Reply

#2
If you're open to out-of-the-DB solution: You could set up a cron job that runs a script that will itself call the procedure.
Reply

#3
You can use mysql scheduler to run it each 5 seconds. You can find samples at

[To see links please register here]


Never used it but I hope this would work:

CREATE EVENT myevent
ON SCHEDULE EVERY 5 SECOND
DO
CALL delete_rows_links();
Reply

#4
I used this query and it worked for me:

CREATE EVENT `exec`
ON SCHEDULE EVERY 5 SECOND
STARTS '2013-02-10 00:00:00'
ENDS '2015-02-28 00:00:00'
ON COMPLETION NOT PRESERVE ENABLE
DO
call delete_rows_links();

Reply

#5
In order to create a cronjob, follow these steps:

1. run this command : SET GLOBAL event_scheduler = ON;

2. If ERROR 1229 (HY000): Variable 'event_scheduler' is a GLOBAL
variable and should be set with SET GLOBAL:
mportant

It is possible to set the Event Scheduler to DISABLED only at server startup. If event_scheduler is ON or OFF, you cannot set it to DISABLED at runtime. Also, if the Event Scheduler is set to DISABLED at startup, you cannot change the value of event_scheduler at runtime.

To disable the event scheduler, use one of the following two methods:


1. As a command-line option when starting the server:

--event-scheduler=DISABLED


2. In the server configuration file (my.cnf, or my.ini on Windows systems):
include the line where it will be read by the server (for example, in a [mysqld] section):

event_scheduler=DISABLED

Read MySQL [documentation](

[To see links please register here]

) for more information.


DROP EVENT IF EXISTS EVENT_NAME;
CREATE EVENT EVENT_NAME
ON SCHEDULE EVERY 10 SECOND/minute/hour
DO
CALL PROCEDURE_NAME();
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through