欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

老生常談mysql event事件調度器(必看篇)

 更新時間:2017年03月29日 09:02:48   投稿:jingxian  
下面小編就為大家?guī)硪黄仙U刴ysql event事件調度器(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

概述

MySQL也有自己的事件調度器,簡單地可以理解為linux的crontab job,不過對于SQL應用來說,它的功能更齊全,也更易于維護。個人感覺如果數(shù)量創(chuàng)建太多的話,也可能影響DB性能,且不易調試。

MySQL事件調度器的主要內容

總開關

參數(shù)event_scheduler為事件調度器的總開關,一般來說設置為ON或者OFF就好,不建議設置成disabled,如果設置為ON,show processlist可看到該線程


創(chuàng)建,修改,查看等語法

關于如何創(chuàng)建,修改event這里不做敘述,創(chuàng)建語法如下,具體的含義可參考下面關于event信息表介紹。也可以參考官網文檔鏈接,http://dev.mysql.com/doc/refman/5.6/en/create-event.html


查看創(chuàng)建好的event,在進入當前db后,show create event xxx\G



event的信息查詢和含義

查看某個event的狀態(tài)信息,可查看mysql.event或者information_schema.events,或者簡單地切到當前DB后執(zhí)行show events; 三者的內容基本一致,information_schema無法做了下數(shù)據復制,更改了下列名稱和starts時間以便更好的閱讀。這里已information_schema.events里的信息為例解釋


EVENT_CATALOG:一般都是def,不管

EVENT_SCHEMA:event所在的schema

EVENT_NAME:event的名稱

DEFINER:event的定義者,和定義這個event時,默認selectcurrent_user()的結果一致,如果該user有super權限,可以指定為其他用戶

TIME_ZONE:event使用的時區(qū),默認是system,建議別做修改

EVENT_BODY:一般都是SQL,不用管

EVENT_DEFINITION:該event的內容,可以是具體的insert等SQL,也可以是一個調用存儲過程的操作

EVENT_TYPE:這個參數(shù)比較重要,定義的時候指定,有兩個值:RECURRING和ONE TIME,RECURRING表示只要符合條件就會重復執(zhí)行,而ONE TIME只會調用一次

EXECUTE_AT: 針對one-time類型的event有效,如果是RECURRING類型的event一般為NULL,表示該event的預計執(zhí)行時間

INTERVAL_VALUE:針對RECURRING類型的event有效,表示執(zhí)行間隔長度

INTERVAL_FIELD:針對RECURRING類型的event有效,表示執(zhí)行間隔的單位,一般是SECOND,DAY等值,可參考創(chuàng)建語法

SQL_MODE:當前event采用的SQL_MODE

STARTS:針對RECURRING類型的event有效,表示一個event從哪個時間點點開始執(zhí)行,和one-time的EXECUTE_AT功能類似。為NULL表示一符合條件就開始執(zhí)行

ENDS:針對RECURRING類型的event有效,表示一個event到了哪個時間點后不再執(zhí)行,如果為NULL就是永不停止

STATUS:一般有三個值,ENABLED, DISABLED和 SLAVESIDE_DISABLED,其中ENABLED表示激活這個event,該event只要符合其他條件就會執(zhí)行;DISABLED狀態(tài)改event將不會執(zhí)行,SLAVESIDE_DISABLED表示在從庫上不執(zhí)行該event。需要特別注意在從庫上不要執(zhí)行任何形式的event,因為如果主庫執(zhí)行一次,復制到從庫后,從庫再執(zhí)行一次的話,那就數(shù)據不一致了,一般來說直接禁用掉從庫上的總開關event_scheduler就行。

ON_COMPLETION:只有兩種值,PRESERVE和NOT PRESERVE,PRESERVE

CREATED:event的創(chuàng)建時間

LAST_ALTERED:event最新一次被修改的時間

LAST_EXECUTED:event最近一次執(zhí)行的時間,如果為NULL表示從未執(zhí)行過

EVENT_COMMENT:event的注釋信息

ORIGINATOR:當前event創(chuàng)建時的server-id,用于主從上的處理,比如SLAVESIDE_DISABLED

CHARACTER_SET_CLIENT:event創(chuàng)建時的客戶端字符集,即character_set_client

COLLATION_CONNECTION:event創(chuàng)建時的連接字符校驗規(guī)則,即collation_connection

DATABASE_COLLATION:event創(chuàng)建時的數(shù)據庫字符集校驗規(guī)則

EVENT的權限管理

1 設置event_scheduler系統(tǒng)變量,需要super_priv權限

2 創(chuàng)建,修改和刪除event需要該user用戶EVENT權限,該權限是schema級別的

3 對應于event的具體內容,需要對應的權限。比如event里有對某張表的insert操作,那么該user需要對該表的insert操作,不然LAST_EXECUTED一直會是NULL

EVENT的狀態(tài)查詢

通過以下命令查看DB啟動以來的event的相關信息統(tǒng)計

mysql> showglobal status like '%event%';

+--------------------------+-------+

|Variable_name | Value |

+--------------------------+-------+

|Com_alter_event | 0 |

|Com_create_event | 2 |

|Com_drop_event | 2 |

|Com_show_binlog_events | 0 |

|Com_show_create_event | 191 |

|Com_show_events | 40 |

|Com_show_relaylog_events | 0 |

+--------------------------+-------+

7 rows in set(0.00 sec)

使用建議

1 如果主庫已經執(zhí)行過,從庫上務必要保證event不會執(zhí)行(除非故意在slave上創(chuàng)建的event)

2 創(chuàng)建,刪除等操作嚴禁直接操作mysql.event表,而是通過create等正規(guī)語法實現(xiàn),不然會導致元數(shù)據混亂,各種莫名其妙的問題隨之產生,比如event不執(zhí)行或者重復執(zhí)行。這時一般只有重啟DB才能解決 了。

3 創(chuàng)建的event涉及到海量數(shù)據變更的話,要做好充分測試,確保不影響現(xiàn)網服務

4 如果需要備份帶有event的DB,mysqldump時需要加上--event參數(shù)

以上這篇老生常談mysql event事件調度器(必看篇)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • MySQL數(shù)據庫InnoDB數(shù)據恢復工具的使用小結詳解

    MySQL數(shù)據庫InnoDB數(shù)據恢復工具的使用小結詳解

    本篇文章是對MySQL數(shù)據庫InnoDB數(shù)據恢復工具的使用進行了詳細的總結與分析,需要的朋友參考下
    2013-06-06
  • 解析MYSQL顯示表信息的方法

    解析MYSQL顯示表信息的方法

    本篇文章是對MYSQL顯示表信息的方法進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • Node.js對MySQL數(shù)據庫的增刪改查實戰(zhàn)記錄

    Node.js對MySQL數(shù)據庫的增刪改查實戰(zhàn)記錄

    這篇文章主要給大家介紹了關于Node.js對MySQL數(shù)據庫的增刪改查的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作介紹的非常詳細,需要的朋友可以參考下
    2021-10-10
  • 一臺服務器部署兩個獨立的mysql數(shù)據庫操作實例

    一臺服務器部署兩個獨立的mysql數(shù)據庫操作實例

    這篇文章主要給大家介紹了關于一臺服務器部署兩個獨立的mysql數(shù)據庫的相關資料,同一臺服務器裝兩個數(shù)據庫,可以通過虛擬化技術實現(xiàn),文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • MySQL內外連接的具體使用

    MySQL內外連接的具體使用

    本文主要介紹了MySQL內外連接的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • Mysql8.4數(shù)據庫安裝新建用戶和庫表

    Mysql8.4數(shù)據庫安裝新建用戶和庫表

    MySQL是最常用的數(shù)據庫,本文主要介紹了Mysql8.4數(shù)據庫安裝新建用戶和庫表,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07
  • CentOS7離線安裝MySQL的教程詳解

    CentOS7離線安裝MySQL的教程詳解

    這篇文章主要介紹了CentOS7離線安裝MySQL的教程,在安裝之前需要我們先刪除原有的mariadb,文中也通過命令給大家介紹了,需要的朋友跟隨小編也看看吧
    2019-07-07
  • 解讀SQL語句中要不要加單引號的問題

    解讀SQL語句中要不要加單引號的問題

    這篇文章主要介紹了關于SQL語句中要不要加單引號的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • mysql雙向加密解密方式用法詳解

    mysql雙向加密解密方式用法詳解

    這篇文章主要介紹了mysql雙向加密解密方式用法,需要的朋友可以參考下
    2014-04-04
  • MySQL Join算法原理與性能優(yōu)化實戰(zhàn)指南(最新推薦)

    MySQL Join算法原理與性能優(yōu)化實戰(zhàn)指南(最新推薦)

    本文解析MySQL Join算法原理與性能優(yōu)化,涵蓋嵌套循環(huán)、塊嵌套循環(huán)和哈希連接,分析其優(yōu)缺點及適用場景,提供索引優(yōu)化、參數(shù)調整等實戰(zhàn)策略,助力提升查詢效率,感興趣的朋友跟隨小編一起看看吧
    2025-06-06

最新評論