您的位置:澳门新葡8455最新网站 > 数据库管理 > MySQL定期试行脚本命令实例_Mysql_脚本之家,自动

MySQL定期试行脚本命令实例_Mysql_脚本之家,自动

发布时间:2019-12-02 18:02编辑:数据库管理浏览(82)

    MySQL事件调解器event_scheduler担负调用事件,它暗中认可是关门的。这几个调节器不断地监视多个平地风波是不是要调用, 要创设事件,必得展开调节器。

    翻看event是或不是开启

    SHOW VARIABLES LIKE 'event_scheduler';-- 查看是不是展开电磁打点计时器

    复制代码 代码如下:show variables like '%sche%';

     

    将事件布署开启

    mysql> show variables like '%event_scheduler%';
    +-----------------+-------+
    | Variable_name | Value |
    +-----------------+-------+
    | event_scheduler | OFF |
    +-----------------+-------+
    1 row in set (0.20 sec)

    复制代码 代码如下:set global event_scheduler =1;

    翻开事件调节器

    始建存款和储蓄进程test

    经过命令行

    复制代码 代码如下:CREATE PROCEDURE test (卡塔尔(قطر‎ BEGIN update examinfo SET endtime = now(卡塔尔 WHERE id = 14; END;

    可由此如下任何叁个命令行

    创建event e_test

    SET GLOBAL event_scheduler = ``ON``;

    复制代码 代码如下:create event if not exists e_test on schedule every 30 second on completion preserve do call test();

    SET @@``global``.event_scheduler = ``ON``;

    每隔30秒将实行存款和储蓄进度test,将眼下光阴更新到examinfo表中id=14的记录的endtime字段中去.

    SET GLOBAL event_scheduler = 1;

    关门事件职务

    SET @@``global``.event_scheduler = 1;

    复制代码 代码如下:alter event e_test ON COMPLETION PRESERVE DISABLE;

     

    开户事件职分

    升迁:即使这里用set global event_scheduler = on语句开启了风云,但是每回重启Computer。或重启mysql服务后,会意识,事件自动关闭(event_scheduler=OFF),所以想让事件直接维持开启,最棒改革配置文件,让mysql服务运行的时候开启时间,只需求在my.ini或者my.cnf计划文件的[mysqld]部分加上event_scheduler=ON 即可,如下:

    复制代码 代码如下:alter event e_test ON COMPLETION PRESERVE ENABLE;

     

    以上测量检验均成功,测量试验情状为mysql 5.4.2-beta-community mysql community server

    关闭事件调治器

    上述的相关内容便是对MySQL准期实践的介绍,望你能具有收获。

    经过命令行

    mysql 安顿职分重启后希望落空

    可经过如下任何三个命令行

    咱俩如若纠正大器晚成配备就能够

    SET GLOBAL event_scheduler = ``OFF``;

    event_scheduler在mysql的config中装置为OFF有关。去mysql上将配置改为ON则就化解了。更详细的我们可将来下看

    SET @@``global``.event_scheduler = ``OFF``;

    MySQL5.1.x版本中引进了黄金时代项新天性EVENT,看名称就能够想到其意义正是事件、准期职务机制,在钦定的时光单元内进行一定的职责,因近些日子后有的对数据按时性操作不再依附外部程序,而直接利用数据库本人提供的效应。

    SET GLOBAL event_scheduler = 0;

    要翻看当前是或不是已开启事件调节器,可实行如下SQL:

    SET @@``global``.event_scheduler = 0;

    SHOW VARIABLES LIKE 'event_scheduler';或

     

    SELECT @@event_scheduler;或

    透过布署文件my.cnf大概my.ini

    SHOW PROCESSLIST;若显示:

    在[mysqld]下增加

    +-----------------+-------+| Variable_name | Value |+-----------------+-------+| event_scheduler | OFF |+-----------------+-------+则可举行

    1
    event_scheduler = 0 #或者OFF,DISABLED 

    SET GLOBAL event_scheduler = 1;或

    SET GLOBAL event_scheduler = ON;来拉开,也得以平素在运行命令加上“–event_scheduler=1”,例如:

    mysqld ... --event_scheduler=1

    my.ini or my.cnf 中的[mysqld]添加 event_scheduler=ON

    成立事件先来看一下它的语法:

    CREATE EVENT [IF NOT EXISTS] event_nameON SCHEDULE schedule[ON COMPLETION [NOT] PRESERVE][ENABLE | DISABLE][COMMENT 'comment']DO sql_statement;

    schedule:AT TIMESTAMP [+ INTERVAL INTERVAL]| EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]

    INTERVAL:quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE | WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE | DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}

    1卡塔尔(قطر‎首先来看叁个轻松的例证来演示每秒插入一条记下到数据表

    USE test;CREATE TABLE aaa ;CREATE EVENT e_test_insertON SCHEDULE EVEGL450Y 1 SECOND DO INSERT INTO test.aaa VALUES ;等待3分钟后,再执行查询成功。

    2卡塔尔(英语:State of Qatar) 5天后清空test表:

    CREATE EVENT e_testON SCHEDULE AT CURRENT_TIMESTAMP + INTEGL450VAL 5 DAYDO TRUNCATE TABLE test.aaa;3卡塔尔(قطر‎ 二〇〇七年3月三十日12点整清空test表:

    CREATE EVENT e_testON SCHEDULE AT TIMESTAMP '2005-07-20 12:00:00'DO TRUNCATE TABLE test.aaa;4卡塔尔(英语:State of Qatar) 每日定期清空test表:

    CREATE EVENT e_testON SCHEDULE EVEENCOREY 1 DAYDO TRUNCATE TABLE test.aaa;5卡塔尔国5天后敞开每一天定期清空test表:

    CREATE EVENT e_testON SCHEDULE EVERY 1 DAYSTARTS CURRENT_TIMESTAMP + INTERVAL 5 DAYDO TRUNCATE TABLE test.aaa;

    6卡塔尔国 每日依期清空test表,5天后停下履行:

    CREATE EVENT e_testON SCHEDULE EVERY 1 DAYENDS CURRENT_TIMESTAMP + INTERVAL 5 DAYDO TRUNCATE TABLE test.aaa;

    7卡塔尔 5天后拉开天天准时清空test表,三个月后停下施行:

    CREATE EVENT e_testON SCHEDULE EVERY 1 DAYSTARTS CURRENT_TIMESTAMP + INTERVAL 5 DAYENDS CURRENT_TIMESTAMP + INTERVAL 1 MONTHDO TRUNCATE TABLE test.aaa;[ON COMPLETION [NOT] PRESERVE]能够设置这些事件是实行二回依然悠久实践,默以为NOT PRESE昂科雷VE。

    8卡塔尔(قطر‎ 每一天准时清空test表:

    CREATE EVENT e_testON SCHEDULE EVERY 1 DAYON COMPLETION NOT PRESERVEDO TRUNCATE TABLE test.aaa;[ENABLE | DISABLE]唯独设置该事件成立后情形是还是不是开启或关闭,默感觉ENABLE。[COMMENT ‘comment']可以给该事件加上注释。

    改革事件ALTE翼虎 EVENT event_name[ON SCHEDULE schedule][RENAME TO new_event_name][ON COMPLETION [NOT] PRESERVE][COMMENT 'comment'][ENABLE | DISABLE][DO sql_statement]1卡塔尔 有的时候关闭事件

    ALTER EVENT e_test DISABLE;2卡塔尔国 开启事件

    ALTER EVENT e_test ENABLE;3卡塔尔 将每一天清空test表改为5天清空二次:

    ALTER EVENT e_testON SCHEDULE EVERY 5 DAY;

    删除事件语法很简短,如下所示:

    DROP EVENT [IF EXISTS] event_name比方删除前边成立的e_test事件

    DROP EVENT e_test;当然前提是其一事件存在,不然会发出EEscortRO福特Explorer 1513 : Unknown event错误,因而最佳增进IF EXISTS

    DROP EVENT IF EXISTS e_test;

    本文由澳门新葡8455最新网站发布于数据库管理,转载请注明出处:MySQL定期试行脚本命令实例_Mysql_脚本之家,自动

    关键词:

上一篇:Sql_server基本操作

下一篇:没有了