【问题标题】:Can I set a MySQL event schedule using phpMyAdmin?我可以使用 phpMyAdmin 设置 MySQL 事件时间表吗?
【发布时间】:2011-10-01 03:02:23
【问题描述】:

我想在每天的第一分钟增加一个字段,然后一旦达到某个值,将值设置为 1。我想直接在 MySQL 中执行此操作,但最好通过 phpMyAdmin。

我知道Event Scheduler,因此我正在寻找一种通过phpMyAdmin 使用和管理它的方法。这可能吗?

【问题讨论】:

    标签: mysql events phpmyadmin mysql-event


    【解决方案1】:

    在 phpmyadmin 中选择查询浏览器运行查询到 ON 事件调度程序

    SET GLOBAL event_scheduler = ON;
    

    只有超级特权用户才能做到这一点。通过

    向用户授予特权
    GRANT EVENT ON myschema.* TO jon@ghidora;
    

    通过

    检查event_sheduler的状态ON或OFF
    SELECT @@event_scheduler;
    

    如果状态为 ON,继续创建事件

    CREATE EVENT e_store_ts
        ON SCHEDULE
          EVERY 10 SECOND
        DO
          INSERT INTO myschema.mytable VALUES (UNIX_TIMESTAMP());
    

    查看创建的事件

    SHOW EVENTS;
    

    【讨论】:

    • 您好,您的示例确实很棒,但是如何每隔一个月更新一次数据,尤其是当月的第一个日期,我已经测试过您的查询真的很棒,但是根据需要进行更改它不起作用,请看到图片在这里prntscr.com/a2ncgl
    【解决方案2】:

    如果在 Amazon RDS 上执行此操作,您需要编辑参数组以添加 EVENT_SCHEDULER = ON。一种简单的方法是通过免费的 Rightscale 帐户。

    【讨论】:

      【解决方案3】:

      它是.. 只需从 SQL 框发出适当的CREATE EVENT SQL。

      但是:您的 MySQL 服务器需要启用事件调度程序并拥有数据库用户的 EVENT 权限。

      调用SELECT @@event_scheduler; 会告诉您调度程序是否可用并已启用。

      如果事件调度器被禁用,请尝试调用SET GLOBAL event_scheduler := 1;来启用它 您需要SUPER 权限才能成功。

      【讨论】:

      • 很好,顺便说一句,您需要 MySQL 5.1 或更高版本才能使用此功能。
      • 是的。选择@@event_scheduler;将在较低版本中引发错误。
      猜你喜欢
      • 1970-01-01
      • 2019-10-21
      • 2012-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-31
      • 2018-02-22
      相关资源
      最近更新 更多