vlambda博客
学习文章列表

使用phpmyadmin的事件功能给Mysql添加定时任务执行SQL语句

最近金子正在鼓弄金子有戏小程序,以前是把资源存储到别人的服务器,为了有更好的观影体验,金子用新服务器把金子有戏小程序重新做了一遍,还有一些小问题,之后在慢慢解决。
但是在制作的过程中,产生了这样的问题,采集的官方接口地址为http://协议头,但是解析接口是https://,因此需要把采集的官方地址从http://替换为https://,苹果CMS内置了替换的接口,但是每更新完一次资源都要替换一次,费时费力不说,还很影响影片更新。
所以,金子查询了相关资料,依靠phpmyadmin面板在数据库内开启定时替换,经测试有效,今天把经验分享到这里,一是帮助大家,二是做一个备份,以防未来有类似的需求。

首先查看计划事件是否开启?

在phpmyadmin的SQL查询框中填入

show variables like '%scheduler%';br

并执行

当显示event_scheduler的“Value”为“ON”时,表示计划事件已开启;

当显示event_scheduler的“Value”为“OFF”时,表示计划事件未开启。

如果计划事件未开启,可按以下操作开启:

到mysql配置文件my.cnf新增一项,在mysqld后面添加event_scheduler = on(或是event_scheduler = 1),保存后重启mysql服务器即可。

宝塔面板可以直接在mysql的设置界面添加:

在phpmyadmin的“事件”功能里,“事件计划状态”显示为“开”即计划事件已正常开启。

添加定时任务

在phpmyadmin的“事件”功能里,点击“新建”下的“添加事件”

根据弹窗填写表格,如图所示:

事件名称意填写

状态

“ENABLED”为“启用”

“DISABLED”为“不启用”

“SLAVESIDE_DISABLED“为“在从库上不启用该事件“

事件类型:

"RECURRING"为“循环执行”

"ONE TIME"为“只执行一次”

运行周期即根据需要选择执行的周期时间

起始时间即开始执行的时间

终止时间即结束时间,留空表示一直执行下去

定义:即执行的SQL语句

最后点击"执行"即创建定时任务完成。

关于执行的SQL语句

UPDATE mac_vodSET vod_play_url= (REPLACE(vod_play_url,'http://','https://'))//mac_vod为数据表名称//vod_play_url为替换的字段'http://','https://'//前者是要替换之前的内容,后者是替换之后的内容

金子先生
金子老师把他所看到的篮球、足球以至于更广泛的体育世界,讲给你听。
53篇原创内容
Official Account