<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • mysql事件怎么設(shè)置 mysql 事件什么時候觸發(fā)

            navicate怎么在mysql的定時事務(wù)開啟

            1、啟動Navicat for MySQL,新建數(shù)據(jù)庫連接,打開數(shù)據(jù)庫,可能有點(diǎn)啰嗦。

            創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè),為客戶提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗(yàn),各類網(wǎng)站都可以開發(fā),成都品牌網(wǎng)站建設(shè),公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計(jì),建網(wǎng)站費(fèi)用,建網(wǎng)站多少錢,價(jià)格優(yōu)惠,收費(fèi)合理。

            2、可以先查看定時任務(wù)的是否開啟。通過以下命令:show variables like '%sche%';

            3、如果其設(shè)置值為為 OFF 或 0 ,通過執(zhí)行下列語句,來開啟event_scheduler,set global event_scheduler =1,把設(shè)置為設(shè)為ON 或 1。

            4、新建一個函數(shù) ,取名為update_qiandao ,內(nèi)容為 ?UPDATE week7_user SET isqiandao = 0

            5、參照上圖,新建一個事件 ?,在定義里寫 call update_qiandao() ?--也就是之前定義的函數(shù)

            在“計(jì)劃”選項(xiàng)卡中設(shè)置 執(zhí)行時間,這里我選擇的是每天。

            6、完成結(jié)束

            mysql 事件 系統(tǒng)參數(shù)

            [client]

            port = 3306

            socket = /tmp/mysql.sock

            [mysqld]

            port = 3306

            socket = /tmp/mysql.sock

            basedir = /usr/local/mysql

            datadir = /data/mysql

            pid-file = /data/mysql/mysql.pid

            user = mysql

            bind-address = 0.0.0.0

            server-id = 1 #表示是本機(jī)的序號為1,一般來講就是master的意思

            skip-name-resolve

            # 禁止MySQL對外部連接進(jìn)行DNS解析,使用這一選項(xiàng)可以消除MySQL進(jìn)行DNS解析的時間。但需要注意,如果開啟該選項(xiàng),

            # 則所有遠(yuǎn)程主機(jī)連接授權(quán)都要使用IP地址方式,否則MySQL將無法正常處理連接請求

            #skip-networking

            back_log = 600

            # MySQL能有的連接數(shù)量。當(dāng)主要MySQL線程在一個很短時間內(nèi)得到非常多的連接請求,這就起作用,

            # 然后主線程花些時間(盡管很短)檢查連接并且啟動一個新線程。back_log值指出在MySQL暫時停止回答新請求之前的短時間內(nèi)多少個請求可以被存在堆棧中。

            # 如果期望在一個短時間內(nèi)有很多連接,你需要增加它。也就是說,如果MySQL的連接數(shù)據(jù)達(dá)到max_connections時,新來的請求將會被存在堆棧中,

            # 以等待某一連接釋放資源,該堆棧的數(shù)量即back_log,如果等待連接的數(shù)量超過back_log,將不被授予連接資源。

            # 另外,這值(back_log)限于您的操作系統(tǒng)對到來的TCP/IP連接的偵聽隊(duì)列的大小。

            # 你的操作系統(tǒng)在這個隊(duì)列大小上有它自己的限制(可以檢查你的OS文檔找出這個變量的最大值),試圖設(shè)定back_log高于你的操作系統(tǒng)的限制將是無效的。

            max_connections = 1000

            #

            MySQL的最大連接數(shù),如果服務(wù)器的并發(fā)連接請求量比較大,建議調(diào)高此值,以增加并行連接數(shù)量,當(dāng)然這建立在機(jī)器能支撐的情況下,因?yàn)槿绻B接數(shù)越多,

            介于MySQL會為每個連接提供連接緩沖區(qū),就會開銷越多的內(nèi)存,所以要適當(dāng)調(diào)整該值,不能盲目提高設(shè)值。可以過'conn%'通配符查看當(dāng)前狀態(tài)的連接

            數(shù)量,以定奪該值的大小。

            max_connect_errors = 6000

            # 對于同一主機(jī),如果有超出該參數(shù)值個數(shù)的中斷錯誤連接,則該主機(jī)將被禁止連接。如需對該主機(jī)進(jìn)行解禁,執(zhí)行:FLUSH HOST。

            open_files_limit = 65535

            # MySQL打開的文件描述符限制,默認(rèn)最小1024;當(dāng)open_files_limit沒有被配置的時候,比較max_connections*5和ulimit -n的值,哪個大用哪個,

            # 當(dāng)open_file_limit被配置的時候,比較open_files_limit和max_connections*5的值,哪個大用哪個。

            table_open_cache = 128

            # MySQL每打開一個表,都會讀入一些數(shù)據(jù)到table_open_cache緩存中,當(dāng)MySQL在這個緩存中找不到相應(yīng)信息時,才會去磁盤上讀取。默認(rèn)值64

            # 假定系統(tǒng)有200個并發(fā)連接,則需將此參數(shù)設(shè)置為200*N(N為每個連接所需的文件描述符數(shù)目);

            # 當(dāng)把table_open_cache設(shè)置為很大時,如果系統(tǒng)處理不了那么多文件描述符,那么就會出現(xiàn)客戶端失效,連接不上

            max_allowed_packet = 4M

            # 接受的數(shù)據(jù)包大小;增加該變量的值十分安全,這是因?yàn)閮H當(dāng)需要時才會分配額外內(nèi)存。例如,僅當(dāng)你發(fā)出長查詢或MySQLd必須返回大的結(jié)果行時MySQLd才會分配更多內(nèi)存。

            # 該變量之所以取較小默認(rèn)值是一種預(yù)防措施,以捕獲客戶端和服務(wù)器之間的錯誤信息包,并確保不會因偶然使用大的信息包而導(dǎo)致內(nèi)存溢出。

            binlog_cache_size = 1M

            # 一個事務(wù),在沒有提交的時候,產(chǎn)生的日志,記錄到Cache中;等到事務(wù)提交需要提交的時候,則把日志持久化到磁盤。默認(rèn)binlog_cache_size大小32K

            max_heap_table_size = 8M

            # 定義了用戶可以創(chuàng)建的內(nèi)存表(memory table)的大小。這個值用來計(jì)算內(nèi)存表的最大行數(shù)值。這個變量支持動態(tài)改變

            tmp_table_size = 16M

            # MySQL的heap(堆積)表緩沖大小。所有聯(lián)合在一個DML指令內(nèi)完成,并且大多數(shù)聯(lián)合甚至可以不用臨時表即可以完成。

            # 大多數(shù)臨時表是基于內(nèi)存的(HEAP)表。具有大的記錄長度的臨時表 (所有列的長度的和)或包含BLOB列的表存儲在硬盤上。

            #

            如果某個內(nèi)部heap(堆積)表大小超過tmp_table_size,MySQL可以根據(jù)需要自動將內(nèi)存中的heap表改為基于硬盤的MyISAM表。

            還可以通過設(shè)置tmp_table_size選項(xiàng)來增加臨時表的大小。也就是說,如果調(diào)高該值,MySQL同時將增加heap表的大小,可達(dá)到提高聯(lián)接查

            詢速度的效果

            read_buffer_size = 2M

            # MySQL讀入緩沖區(qū)大小。對表進(jìn)行順序掃描的請求將分配一個讀入緩沖區(qū),MySQL會為它分配一段內(nèi)存緩沖區(qū)。read_buffer_size變量控制這一緩沖區(qū)的大小。

            # 如果對表的順序掃描請求非常頻繁,并且你認(rèn)為頻繁掃描進(jìn)行得太慢,可以通過增加該變量值以及內(nèi)存緩沖區(qū)大小提高其性能

            read_rnd_buffer_size = 8M

            # MySQL的隨機(jī)讀緩沖區(qū)大小。當(dāng)按任意順序讀取行時(例如,按照排序順序),將分配一個隨機(jī)讀緩存區(qū)。進(jìn)行排序查詢時,

            # MySQL會首先掃描一遍該緩沖,以避免磁盤搜索,提高查詢速度,如果需要排序大量數(shù)據(jù),可適當(dāng)調(diào)高該值。但MySQL會為每個客戶連接發(fā)放該緩沖空間,所以應(yīng)盡量適當(dāng)設(shè)置該值,以避免內(nèi)存開銷過大

            sort_buffer_size = 8M

            # MySQL執(zhí)行排序使用的緩沖大小。如果想要增加ORDER BY的速度,首先看是否可以讓MySQL使用索引而不是額外的排序階段。

            # 如果不能,可以嘗試增加sort_buffer_size變量的大小

            join_buffer_size = 8M

            # 聯(lián)合查詢操作所能使用的緩沖區(qū)大小,和sort_buffer_size一樣,該參數(shù)對應(yīng)的分配內(nèi)存也是每連接獨(dú)享

            thread_cache_size = 8

            # 這個值(默認(rèn)8)表示可以重新利用保存在緩存中線程的數(shù)量,當(dāng)斷開連接時如果緩存中還有空間,那么客戶端的線程將被放到緩存中,

            # 如果線程重新被請求,那么請求將從緩存中讀取,如果緩存中是空的或者是新的請求,那么這個線程將被重新創(chuàng)建,如果有很多新的線程,

            # 增加這個值可以改善系統(tǒng)性能.通過比較Connections和Threads_created狀態(tài)的變量,可以看到這個變量的作用。(–表示要調(diào)整的值)

            # 根據(jù)物理內(nèi)存設(shè)置規(guī)則如下:

            # 1G — 8

            # 2G — 16

            # 3G — 32

            # 大于3G — 64

            query_cache_size = 8M

            #MySQL的查詢緩沖大小(從4.0.1開始,MySQL提供了查詢緩沖機(jī)制)使用查詢緩沖,MySQL將SELECT語句和查詢結(jié)果存放在緩沖區(qū)中,

            # 今后對于同樣的SELECT語句(區(qū)分大小寫),將直接從緩沖區(qū)中讀取結(jié)果。根據(jù)MySQL用戶手冊,使用查詢緩沖最多可以達(dá)到238%的效率。

            # 通過檢查狀態(tài)值'Qcache_%',可以知道query_cache_size設(shè)置是否合理:如果Qcache_lowmem_prunes的值非常大,則表明經(jīng)常出現(xiàn)緩沖不夠的情況,

            # 如果Qcache_hits的值也非常大,則表明查詢緩沖使用非常頻繁,此時需要增加緩沖大小;如果Qcache_hits的值不大,則表明你的查詢重復(fù)率很低,

            # 這種情況下使用查詢緩沖反而會影響效率,那么可以考慮不用查詢緩沖。此外,在SELECT語句中加入SQL_NO_CACHE可以明確表示不使用查詢緩沖

            query_cache_limit = 2M

            #指定單個查詢能夠使用的緩沖區(qū)大小,默認(rèn)1M

            key_buffer_size = 4M

            #指定用于索引的緩沖區(qū)大小,增加它可得到更好處理的索引(對所有讀和多重寫),到你能負(fù)擔(dān)得起那樣多。如果你使它太大,

            # 系統(tǒng)將開始換頁并且真的變慢了。對于內(nèi)存在4GB左右的服務(wù)器該參數(shù)可設(shè)置為384M或512M。通過檢查狀態(tài)值Key_read_requests和Key_reads,

            # 可以知道key_buffer_size設(shè)置是否合理。比例key_reads/key_read_requests應(yīng)該盡可能的低,

            # 至少是1:100,1:1000更好(上述狀態(tài)值可以使用SHOW STATUS LIKE 'key_read%'獲得)。注意:該參數(shù)值設(shè)置的過大反而會是服務(wù)器整體效率降低

            ft_min_word_len = 4

            # 分詞詞匯最小長度,默認(rèn)4

            transaction_isolation = REPEATABLE-READ

            # MySQL支持4種事務(wù)隔離級別,他們分別是:

            # READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE.

            # 如沒有指定,MySQL默認(rèn)采用的是REPEATABLE-READ,ORACLE默認(rèn)的是READ-COMMITTED

            log_bin = mysql-bin

            binlog_format = mixed

            expire_logs_days = 30 #超過30天的binlog刪除

            log_error = /data/mysql/mysql-error.log #錯誤日志路徑

            slow_query_log = 1

            long_query_time = 1 #慢查詢時間 超過1秒則為慢查詢

            slow_query_log_file = /data/mysql/mysql-slow.log

            performance_schema = 0

            explicit_defaults_for_timestamp

            #lower_case_table_names = 1 #不區(qū)分大小寫

            skip-external-locking #MySQL選項(xiàng)以避免外部鎖定。該選項(xiàng)默認(rèn)開啟

            default-storage-engine = InnoDB #默認(rèn)存儲引擎

            innodb_file_per_table = 1

            # InnoDB為獨(dú)立表空間模式,每個數(shù)據(jù)庫的每個表都會生成一個數(shù)據(jù)空間

            # 獨(dú)立表空間優(yōu)點(diǎn):

            # 1.每個表都有自已獨(dú)立的表空間。

            # 2.每個表的數(shù)據(jù)和索引都會存在自已的表空間中。

            # 3.可以實(shí)現(xiàn)單表在不同的數(shù)據(jù)庫中移動。

            # 4.空間可以回收(除drop table操作處,表空不能自已回收)

            # 缺點(diǎn):

            # 單表增加過大,如超過100G

            # 結(jié)論:

            # 共享表空間在Insert操作上少有優(yōu)勢。其它都沒獨(dú)立表空間表現(xiàn)好。當(dāng)啟用獨(dú)立表空間時,請合理調(diào)整:innodb_open_files

            innodb_open_files = 500

            # 限制Innodb能打開的表的數(shù)據(jù),如果庫里的表特別多的情況,請?jiān)黾舆@個。這個值默認(rèn)是300

            innodb_buffer_pool_size = 64M

            # InnoDB使用一個緩沖池來保存索引和原始數(shù)據(jù), 不像MyISAM.

            # 這里你設(shè)置越大,你在存取表里面數(shù)據(jù)時所需要的磁盤I/O越少.

            # 在一個獨(dú)立使用的數(shù)據(jù)庫服務(wù)器上,你可以設(shè)置這個變量到服務(wù)器物理內(nèi)存大小的80%

            # 不要設(shè)置過大,否則,由于物理內(nèi)存的競爭可能導(dǎo)致操作系統(tǒng)的換頁顛簸.

            # 注意在32位系統(tǒng)上你每個進(jìn)程可能被限制在 2-3.5G 用戶層面內(nèi)存限制,

            # 所以不要設(shè)置的太高.

            innodb_write_io_threads = 4

            innodb_read_io_threads = 4

            # innodb使用后臺線程處理數(shù)據(jù)頁上的讀寫 I/O(輸入輸出)請求,根據(jù)你的 CPU 核數(shù)來更改,默認(rèn)是4

            # 注:這兩個參數(shù)不支持動態(tài)改變,需要把該參數(shù)加入到my.cnf里,修改完后重啟MySQL服務(wù),允許值的范圍從 1-64

            innodb_thread_concurrency = 0

            # 默認(rèn)設(shè)置為 0,表示不限制并發(fā)數(shù),這里推薦設(shè)置為0,更好去發(fā)揮CPU多核處理能力,提高并發(fā)量

            innodb_purge_threads = 1

            # InnoDB中的清除操作是一類定期回收無用數(shù)據(jù)的操作。在之前的幾個版本中,清除操作是主線程的一部分,這意味著運(yùn)行時它可能會堵塞其它的數(shù)據(jù)庫操作。

            # 從MySQL5.5.X版本開始,該操作運(yùn)行于獨(dú)立的線程中,并支持更多的并發(fā)數(shù)。用戶可通過設(shè)置innodb_purge_threads配置參數(shù)來選擇清除操作是否使用單

            # 獨(dú)線程,默認(rèn)情況下參數(shù)設(shè)置為0(不使用單獨(dú)線程),設(shè)置為 1 時表示使用單獨(dú)的清除線程。建議為1

            innodb_flush_log_at_trx_commit = 2

            # 0:如果innodb_flush_log_at_trx_commit的值為0,log buffer每秒就會被刷寫日志文件到磁盤,提交事務(wù)的時候不做任何操作(執(zhí)行是由mysql的master thread線程來執(zhí)行的。

            # 主線程中每秒會將重做日志緩沖寫入磁盤的重做日志文件(REDO LOG)中。不論事務(wù)是否已經(jīng)提交)默認(rèn)的日志文件是ib_logfile0,ib_logfile1

            # 1:當(dāng)設(shè)為默認(rèn)值1的時候,每次提交事務(wù)的時候,都會將log buffer刷寫到日志。

            # 2:如果設(shè)為2,每次提交事務(wù)都會寫日志,但并不會執(zhí)行刷的操作。每秒定時會刷到日志文件。要注意的是,并不能保證100%每秒一定都會刷到磁盤,這要取決于進(jìn)程的調(diào)度。

            # 每次事務(wù)提交的時候?qū)?shù)據(jù)寫入事務(wù)日志,而這里的寫入僅是調(diào)用了文件系統(tǒng)的寫入操作,而文件系統(tǒng)是有 緩存的,所以這個寫入并不能保證數(shù)據(jù)已經(jīng)寫入到物理磁盤

            # 默認(rèn)值1是為了保證完整的ACID。當(dāng)然,你可以將這個配置項(xiàng)設(shè)為1以外的值來換取更高的性能,但是在系統(tǒng)崩潰的時候,你將會丟失1秒的數(shù)據(jù)。

            # 設(shè)為0的話,mysqld進(jìn)程崩潰的時候,就會丟失最后1秒的事務(wù)。設(shè)為2,只有在操作系統(tǒng)崩潰或者斷電的時候才會丟失最后1秒的數(shù)據(jù)。InnoDB在做恢復(fù)的時候會忽略這個值。

            # 總結(jié)

            # 設(shè)為1當(dāng)然是最安全的,但性能頁是最差的(相對其他兩個參數(shù)而言,但不是不能接受)。如果對數(shù)據(jù)一致性和完整性要求不高,完全可以設(shè)為2,如果只最求性能,例如高并發(fā)寫的日志服務(wù)器,設(shè)為0來獲得更高性能

            innodb_log_buffer_size = 2M

            # 此參數(shù)確定些日志文件所用的內(nèi)存大小,以M為單位。緩沖區(qū)更大能提高性能,但意外的故障將會丟失數(shù)據(jù)。MySQL開發(fā)人員建議設(shè)置為1-8M之間

            innodb_log_file_size = 32M

            # 此參數(shù)確定數(shù)據(jù)日志文件的大小,更大的設(shè)置可以提高性能,但也會增加恢復(fù)故障數(shù)據(jù)庫所需的時間

            innodb_log_files_in_group = 3

            # 為提高性能,MySQL可以以循環(huán)方式將日志文件寫到多個文件。推薦設(shè)置為3

            innodb_max_dirty_pages_pct = 90

            # innodb主線程刷新緩存池中的數(shù)據(jù),使臟數(shù)據(jù)比例小于90%

            innodb_lock_wait_timeout = 120

            # InnoDB事務(wù)在被回滾之前可以等待一個鎖定的超時秒數(shù)。InnoDB在它自己的鎖定表中自動檢測事務(wù)死鎖并且回滾事務(wù)。InnoDB用LOCK TABLES語句注意到鎖定設(shè)置。默認(rèn)值是50秒

            bulk_insert_buffer_size = 8M

            # 批量插入緩存大小, 這個參數(shù)是針對MyISAM存儲引擎來說的。適用于在一次性插入100-1000+條記錄時, 提高效率。默認(rèn)值是8M。可以針對數(shù)據(jù)量的大小,翻倍增加。

            myisam_sort_buffer_size = 8M

            # MyISAM設(shè)置恢復(fù)表之時使用的緩沖區(qū)的尺寸,當(dāng)在REPAIR TABLE或用CREATE INDEX創(chuàng)建索引或ALTER TABLE過程中排序 MyISAM索引分配的緩沖區(qū)

            myisam_max_sort_file_size = 10G

            # 如果臨時文件會變得超過索引,不要使用快速排序索引方法來創(chuàng)建一個索引。注釋:這個參數(shù)以字節(jié)的形式給出

            myisam_repair_threads = 1

            # 如果該值大于1,在Repair by sorting過程中并行創(chuàng)建MyISAM表索引(每個索引在自己的線程內(nèi))

            interactive_timeout = 28800

            # 服務(wù)器關(guān)閉交互式連接前等待活動的秒數(shù)。交互式客戶端定義為在mysql_real_connect()中使用CLIENT_INTERACTIVE選項(xiàng)的客戶端。默認(rèn)值:28800秒(8小時)

            wait_timeout = 28800

            # 服務(wù)器關(guān)閉非交互連接之前等待活動的秒數(shù)。在線程啟動時,根據(jù)全局wait_timeout值或全局interactive_timeout值初始化會話wait_timeout值,

            # 取決于客戶端類型(由mysql_real_connect()的連接選項(xiàng)CLIENT_INTERACTIVE定義)。參數(shù)默認(rèn)值:28800秒(8小時)

            # MySQL服務(wù)器所支持的最大連接數(shù)是有上限的,因?yàn)槊總€連接的建立都會消耗內(nèi)存,因此我們希望客戶端在連接到MySQL Server處理完相應(yīng)的操作后,

            # 應(yīng)該斷開連接并釋放占用的內(nèi)存。如果你的MySQL Server有大量的閑置連接,他們不僅會白白消耗內(nèi)存,而且如果連接一直在累加而不斷開,

            # 最終肯定會達(dá)到MySQL Server的連接上限數(shù),這會報(bào)'too many connections'的錯誤。對于wait_timeout的值設(shè)定,應(yīng)該根據(jù)系統(tǒng)的運(yùn)行情況來判斷。

            # 在系統(tǒng)運(yùn)行一段時間后,可以通過show processlist命令查看當(dāng)前系統(tǒng)的連接狀態(tài),如果發(fā)現(xiàn)有大量的sleep狀態(tài)的連接進(jìn)程,則說明該參數(shù)設(shè)置的過大,

            # 可以進(jìn)行適當(dāng)?shù)恼{(diào)整小些。要同時設(shè)置interactive_timeout和wait_timeout才會生效。

            [mysqldump]

            quick

            max_allowed_packet = 16M #服務(wù)器發(fā)送和接受的最大包長度

            [myisamchk]

            key_buffer_size = 8M

            sort_buffer_size = 8M

            read_buffer = 4M

            write_buffer = 4M

            如何寫mysql的定時任務(wù)

            轉(zhuǎn):

            mysql的定時任務(wù)一般用event(事件)來完成,觸發(fā)器無法完成。

            一、通過mysql的命令行客戶端來完成

            1、set global event_scheduler =1; //開啟event_scheduler

            執(zhí)行這個語句如果出現(xiàn),可在mysql的配置文檔中設(shè)置[mysqld]段中添加 event_scheduler=ON

            如果重啟mysql;這種情況下依然出錯,Error Code: 1290. The MySQL server is running with the --event-scheduler=DISABLED

            or --skip-grant-tables option so it cannot execute this statement,這個錯誤是說啟動服務(wù)器時如果指定了--skip-grant-tables選項(xiàng),則event_scheduler則自動被設(shè)置為DISABLED。命令行或配置文件的設(shè)置都會被覆蓋。建議重現(xiàn)安裝mysql或是修改啟動參數(shù)(在系統(tǒng)服務(wù)中指定)。

            查看event_scheduler狀態(tài):show status like '%event%'; 或SELECT @@event_scheduler;

            2、CREATE PROCEDURE Mypro() //創(chuàng)建存儲過程

            BEGIN

            update userinfo SET endtime = now() WHERE id = '155';

            END;

            3、創(chuàng)建event My_enevt,每隔三十秒執(zhí)行一次

            create event if not exists e_test

            on schedule every 30 second

            on completion preserve

            do call Mypro();

            4、關(guān)閉事件

            alter event e_test ON COMPLETION PRESERVE DISABLE;

            5、開啟事件

            alter event e_test ON COMPLETION PRESERVE ENABLE;

            語法:

            CREATE EVENT [IF NOT EXISTS] event_name ON 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) 首先來看一個簡單的例子來演示每秒插入一條記錄到數(shù)據(jù)表

            CREATE EVENT e_test_insert ON SCHEDULE EVERY 1 SECOND DO INSERT INTO test.aaa VALUES (CURRENT_TIMESTAMP);

            2) 5天后清空test表:

            CREATE EVENT e_test ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 DAY DO TRUNCATE TABLE test.aaa;

            3) 2013年7月20日12點(diǎn)整清空test表:

            CREATE EVENT e_test ON SCHEDULE AT TIMESTAMP '2013-07-20 12:00:00' DOTRUNCATE TABLE test.aaa;

            4) 每天定時清空test表:

            CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY DO TRUNCATE TABLE test.aaa;

            5) 5天后開啟每天定時清空test表:

            CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY DO TRUNCATE TABLE test.aaa;

            6) 每天定時清空test表,5天后停止執(zhí)行:

            CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY ENDS CURRENT_TIMESTAMP + INTERVAL 5 DAY DO TRUNCATE TABLE test.aaa;

            7) 5天后開啟每天定時清空test表,一個月后停止執(zhí)行:

            CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY STARTS CURRENT_TIMESTAMP +

            INTERVAL 5 DAY ENDS CURRENT_TIMESTAMP + INTERVAL 1 MONTH DO TRUNCATE TABLE test.aaa;

            [ON COMPLETION [NOT] PRESERVE]可以設(shè)置這個事件是執(zhí)行一次還是持久執(zhí)行,默認(rèn)為NOT PRESERVE

            8)

            每天定時清空test表(只執(zhí)行一次,任務(wù)完成后就終止該事件):

            CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY ON COMPLETION NOT PRESERVE DO TRUNCATE TABLE test.aaa;

            [COMMENT

            comment]可以給該事件加上注釋

            2修改事件(ALTER EVENT)

            ALTER EVENT event_name [ON SCHEDULE schedule] [RENAME TO new_event_name]

            [ON COMPLETION [NOT] PRESERVE] [COMMENT 'comment'] [ENABLE | DISABLE] [DO

            sql_statement]

            1) 臨時關(guān)閉事件

            ALTER EVENT e_test DISABLE;

            2) 開啟事件

            ALTER EVENT e_test ENABLE;

            3) 將每天清空test表改為5天清空一次:

            ALTER EVENT e_test ON SCHEDULE EVERY 5 DAY;

            3刪除事件(DROP EVENT)

            語法很簡單,如下所示:

            DROP EVENT [IF EXISTS] event_name

            例如刪除前面創(chuàng)建的e_test事件

            DROP EVENT e_test;

            當(dāng)然前提是這個事件存在,否則會產(chǎn)生ERROR 1513 (HY000): Unknown event錯誤,因此最好加上IF EXISTS

            DROP EVENT IF EXISTS e_test;

            二、使用第三方工具來創(chuàng)建,推薦使用HeidiSQL網(wǎng)站:,免費(fèi)的開源客戶端,由德國程序員Ansgar Becker開發(fā);這個軟件的界面有中文界面。

            打開HeidiSQL,右鍵單擊表名,選創(chuàng)建新的的菜單,再選事件即可,很方便,我們可以編輯事件的時間設(shè)置和代碼。這里定義人填寫root@localhost。

            mysql event事件如何設(shè)置執(zhí)行不檢查定義者

            查看mysql事件狀態(tài)是否開啟

            mysql show variables like 'event_scheduler';

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

            | Variable_name | Value |

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

            | event_scheduler | ON |

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

            1 row in set (0.00 sec)

            mysql select @@event_scheduler;

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

            | @@event_scheduler |

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

            | ON |

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

            1 row in set (0.00 sec)

            *************************************************************

            如果沒有開啟,開啟它。

            mysql set global event_scheduler=on;

            Query OK, 0 rows affected (0.00 sec)

            mysql set global event_scheduler=1;

            Query OK, 0 rows affected (0.00 sec)

            mysql觸發(fā)器如何設(shè)置彈窗模式

            mysql觸發(fā)器設(shè)置彈窗模式:

            1、點(diǎn)擊右上方的開發(fā)者工具按鈕,選擇左側(cè)的觸發(fā)器。

            2、點(diǎn)擊新建一個觸發(fā)器。點(diǎn)擊進(jìn)入添加事件后,選擇游戲邏輯,點(diǎn)擊玩家進(jìn)入游戲選擇完成。

            3、點(diǎn)擊新建動作,點(diǎn)擊左側(cè)的玩家,找到對玩家顯示飄窗文字點(diǎn)擊選擇完成。

            4、點(diǎn)擊左邊第一個紅色字符串,同樣是點(diǎn)擊函數(shù)庫,這次點(diǎn)擊函數(shù)庫之后選擇玩家中的玩家的名字。

            5、點(diǎn)擊右邊的第二個紅色字符串進(jìn)行設(shè)置,第二個字符串選擇輸入,直接打字輸入簡單的游戲規(guī)則,找到隱藏的藍(lán)方隊(duì)員,擊敗1人加1分。根據(jù)需要自行更改自己想要顯示的文字即可。

            6、編輯完成后返回觸發(fā)器,點(diǎn)擊觸發(fā)器右下方的轉(zhuǎn)換玩法地圖,這個觸發(fā)器就已經(jīng)生效。

            分享標(biāo)題:mysql事件怎么設(shè)置 mysql 事件什么時候觸發(fā)
            文章分享:http://www.jbt999.com/article32/doooosc.html

            成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷微信公眾號網(wǎng)站導(dǎo)航品牌網(wǎng)站設(shè)計(jì)手機(jī)網(wǎng)站建設(shè)云服務(wù)器

            廣告

            聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

            成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 蜜桃人妻无码AV天堂二区 | 国产成人黄色在线观看 | 91麻豆视频日播 | 欧美Ⅴ,亚州v,在线免费视频。 | 一道本无码视频 |