mysql資料庫定時器開啟(mysql設置定時任務)

  • 1、mysql如何查看定時器有沒有執行
  • 2、mysql定時操作有關時間差的問題
  • 3、如何在程序中實現對mysql的定時訪問
  • 4、如何實現Mysql資料庫每天自動備份定時備份?

mysql如何查看定時器有沒有執行

1.查看是否開啟evevt與開啟evevt。

1.1、MySQL evevt功能默認是關閉的,可以使用下面的語句來看evevt的狀態,如果是OFF或者0,表示是關閉的。

show VARIABLES LIKE ‘%sche%’;

1.2、開啟evevt功能

SET GLOBAL event_scheduler = 1;

2.創建定時器的過程

2.1、創建測試表test

drop table if exists test;

create table test

(

id int(11) not null auto_increment primary key,

time datetime not null

) engine=innodb default charset=utf8;

2.2、創建evevt要調用的存儲過程test_proce

delimiter //

drop procedure if exists test_proce//

create procedure test_proce()

begin

insert into test(time) values(now());

end//

delimiter ;

2.3、開啟evevt(要使定時起作用,MySQL的常量GLOBAL event_scheduler必須為on或者是1)

執行show variables like ‘event_scheduler’;查看evevt是否開啟;

若沒開啟執行set global event_scheduler=’on’;

2.4、創建事件test_event(其作用:每隔一秒自動調用test_proce()存儲過程)

drop event if exists test_event;

create event test_event

on schedule every 1 second

on completion preserve disable

do call test_proce();

2.5、開啟事件test_event

MySQL從5.1開始支持event功能,類似oracle的job功能。

創建定時器 調用的存儲過程

DELIMITER $$

DROP PROCEDURE IF EXISTS e_test $$

CREATE PROCEDURE e_test()

BEGIN

update pcdemo set v_isbag=0 where v_isbag=1 and to_days(now())-to_days(d_lasttime)=10;

END $$

DELIMITER ;

要使定時起作用 MySQL的常量GLOBAL event_scheduler必須為on或者是1

查看是否開啟定時器

SHOW VARIABLES LIKE ‘%sche%’;

開啟定時器 0:off 1:on

SET GLOBAL event_scheduler = 1;

創建事件

–每隔一秒自動調用e_test()存儲過程

CREATE EVENT IF NOT EXISTS event_test

ON SCHEDULE EVERY 1 SECOND

ON COMPLETION PRESERVE

DO CALL e_test();

開啟事件

ALTER EVENT event_test ON

COMPLETION PRESERVE ENABLE;

關閉事件

ALTER EVENT event_test ON

COMPLETION PRESERVE DISABLE;

修改 mysql 的 連接時間

============

第一種方法就是修改mysql,當時查資料《mysql5 管理員手冊》裡面說 mysql的timeout時間預設是28800秒,也就是8小時,增加一個0就沒問題了。 及在mysql界面裡面輸入mysqld-nt –default-table-type=innodb –interactive_timeout=288000。

如果是MySQL5以前的版本,需要修改連接池配置中的URL,添加autoReconnect=true

如果是MySQL5 以後的版本,需要修改my.cnf(或者my.ini)文件,在[mysqld]後面添加

wait_timeout = 172800

interactive-timeout = 172800

單位都是秒,記得必須都添加,否則不起作用,通過show variables查看wait_timeout的值。

第二種方法是在系統中做相應的配置,這種配置又分為兩種,一種是傳統的在系統中寫定時檢查連接的文件,另外一種就是交給伺服器,讓伺服器來完成。先說第一種吧,我當時用的是c3p0鏈接池(因為當時還很崇尚hibernate),就是把3p0.testConnectionOnCheckout設置為true,然後將c3p0.preferredTestQuery設置為”select id from users where id=1″(users是我在項目中用戶表,你也可以根據自己的實際換其他的表,但是查詢的數據必須存在,*在附件中附上c3p0的常用屬性)。第二種,jndi,其他的都差不多,及Resource name=”jdbc/TestDB” auth=”Container” type=”javax.sql.DataSource”

maxActive=”100″ maxIdle=”30″ maxWait=”10000″

username=”feiji” password=”111111″ driverClassName=”com.mysql.jdbc.Driver”

url=”jdbc:mysql://localhost:3306/javatest?autoReconnect=true”/其他的就不多做解釋了,因為都很簡單的東西,很多都是官方文檔上面有的

利用UCache災備雲平台,可作為一個工具,在window伺服器現有架構不變的情況下,針對Mysql資料庫每天自動備份定時備份。

(1)新建備份任務

UCACHE災備雲控制台登錄賬號後:點擊【伺服器定時數據保護】–【數據備份】點擊【新建】按鈕,然後選要保護的對象(您的生產伺服器節點),選中對應的客戶端,選擇【文件系統】然後點擊【 下一步 】

(2)設置備份策略

選擇要進行備份的文件

(3)永久增量備份與數據保留設置

選擇完要過濾的數據之後點擊下一步,可進行下一步備份的高級功能選擇,各個選項說明如下:

【永久增量備份】開啟了永久增量備份每一次增量備份都會進行一次時間點合成形成新的一個永久增量時間點等效於完備時間點。

【數據保留策略】開啟數據保留策略一共有三種保留策略分別為數據保留期限、保留副本數、按備份策略的備份周期設置副本保留策略默認選中數據保留期限一年。可以設置保留完全副本的個數最大可設置1024個副本按備份策略的備份周期設置副本保留策略最大可設置99999個副本。

【傳輸和存儲加密】開啟傳輸加密與存儲加密選項開啟此功能的任務的數據在傳輸和存儲上都經過加密處理。一共有兩種加密方式AES256加密演算法、SM4加密演算法。

【數據壓縮】默認不開啟開啟該選項後默認啟用快速壓縮可選擇啟用強力壓縮

【重複數據刪除】勾選該選項可以啟動源端重複數據刪除的功能該選項在建立任務後不能通過修改任務的方式更改此屬性。指紋庫需要提前創建才能成功開啟重刪功能

最後新建完成

目錄和文件內容,可以全選和分選,還可以利用UCACHE災備雲控制台的「文件過濾」「目錄過濾」「時間過濾」功能進行不必要的數據不進行備份策略添加。為了備份效率不建議兩個任務包含同一文件。

(4)設置郵件告警

備份執行完畢,會得到系統的執行反饋,也可以設定告警監控策略,進行郵件監控

原創文章,作者:GX4DF,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126604.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
GX4DF的頭像GX4DF
上一篇 2024-10-03 23:09
下一篇 2024-10-03 23:09

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • Saturn 定時任務用法介紹

    本文將從以下幾個方面對Saturn定時任務進行詳細的闡述: 一、Saturn 定時任務簡介 Saturn是一個分散式任務調度系統,支持在線添加、修改定時任務,支持多種任務類型,如J…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python怎麼導入資料庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的資料庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28

發表回復

登錄後才能評論