久久亚洲精品成人_国产精品欧美综合亚洲_亚洲va天堂va欧美ⅴa在线_91色视频在线观看_久久影院亚洲_一级黄色片播放_日韩av在线一区_精品一区二区在线看_老头吃奶性行交视频_日韩免费高清视频_天天操天天爽天天干_日本欧美在线视频

首頁 > 數據庫 > 文庫 > 正文

MariaDB10.3 系統版本表 有效預防數據丟失

2024-09-07 22:13:01
字體:
來源:轉載
供稿:網友
  系統版本表是SQL:2011標準中首次引入的功能。系統版本表存儲所有更改的歷史數據,而不僅僅是當前時刻有效的數據。舉個例子,同一行數據一秒內被更改了10次,那么就會保存10份不同時間的版本數據。就像《源代碼》電影里的平行世界理論一樣,你可以退回任意時間里。從而有效保障你的數據是安全的,DBA手抖或程序BUG引起的數據丟失,在MariaDB10.3里已成為過去。
 
  一、創建系統版本表
  例子:
 
  CREATE TABLE `t1` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `name` varchar(100) DEFAULT NULL,
    `ts` timestamp(6) GENERATED ALWAYS AS ROW START,
    `te` timestamp(6) GENERATED ALWAYS AS ROW END,
    PRIMARY KEY (`id`,`te`),
    PERIOD FOR SYSTEM_TIME (`ts`, `te`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 WITH SYSTEM VERSIONING;
  注意看紅色字體,這就是新增加的語法,字段ts和te是數據變化的起止時間和結束時間。
 
  另外用ALTER TABLE更改表結構,語法如下:
 
  ALTER TABLE t1 ADD COLUMN ts TIMESTAMP(6) GENERATED ALWAYS AS ROW START,
                ADD COLUMN te TIMESTAMP(6) GENERATED ALWAYS AS ROW END,
                ADD PERIOD FOR SYSTEM_TIME(ts, te),
                ADD SYSTEM VERSIONING;
  二、查詢歷史數據
  這里我們做一個實驗,首先要插入1條數據, 
 
  接著把姓名為“張三”,改成“李四”(誤更改數據)
 
  現在數據已經成功變更,那么我想查看歷史數據怎么辦呢?非常簡單,一條命令搞定。
 
  語法一:查詢一小時內的歷史數據。
  SELECT * FROM t FOR SYSTEM_TIME BETWEEN (NOW() - INTERVAL 1 HOUR) AND NOW();
  HOUR:小時
  MINUTE:分鐘
  DAY:天
  MONTH:月
  YEAR:年
 
  語法二:查詢一段時間內的歷史數據
  SELECT * FROM t1 FOR SYSTEM_TIME FROM '2018-05-15 00:00:00' TO '2018-05-15 14:00:00';
 
  語法三:查詢所有歷史數據
  SELECT * FROM t1 FOR SYSTEM_TIME ALL;
 
  三、恢復歷史數據
  現在我們已經找到了歷史數據“張三”,只需把它導出來做恢復即可。
 
  SELECT id,name FROM t1 FOR SYSTEM_TIME ALL where id = 1 AND name =
  '張三' into outfile '/tmp/t1.sql' /
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"';
  FIELDS TERMINATED BY ',' --- 字段的分隔符
  OPTIONALLY ENCLOSED BY '"' --- 字符串帶雙引號
 
  導入恢復
 
  load data infile '/tmp/t1.sql' replace into table t1 /
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' /
  (id,name);
 
  非常簡單的恢復完數據,此方法比之前用mysqlbinlog或自研腳本等工具做閃回效率高得多。
 
  四、單獨存儲歷史數據
  當歷史數據與當前數據一起存儲時,勢必會增加表的大小,且當前的數據查詢:表掃描和索引搜索,將會花費更多的時間,因為需要跳過歷史數據。那么我們可以將通過表分區將其分開、單獨存儲,以減少版本控制的開銷。
  接上面的例子,執行下面的語句:
 
  alter table t1
    PARTITION BY SYSTEM_TIME INTERVAL 1 MONTH (
      PARTITION p0 HISTORY,
      PARTITION p1 HISTORY,
      PARTITION p2 HISTORY,
      PARTITION p3 HISTORY,
      PARTITION p4 HISTORY,
      PARTITION p5 HISTORY,
      PARTITION p6 HISTORY,
      PARTITION pcur CURRENT
    );
  意思為:按照月份分割歷史數據,今天至一個月后(2018年6月15日)的歷史數據放入p0分區,次月的歷史數據放入p1分區,依次類推至(2018年12月15日)存p6分區。當前數據存儲在pcur分區里。
 
  可以通過數據字典表,來查看每個分區表的數據輪詢時間狀態信息。
 
  SELECT PARTITION_DESCRIPTION,TABLE_ROWS FROM
  `information_schema`.`PARTITIONS` WHERE table_schema='hcy' AND
  table_name='t1';
 
  五、刪除舊的歷史數據
  系統版本表存儲了所有的歷史數據,隨著時間的推移,歷史版本數據會變得越來越大,那么我們就可以將其最老的歷史數據刪除。
  例:將p0分區刪除
  ALTER TABLE t1 DROP PARTITION p0;
 
  六、正確使用姿勢
  通過上述介紹,我們了解了系統版本表的原理。在高并發寫入場景下,勢必會帶來性能上的損失,所以要用正確的姿勢開啟該功能。
 
  例:主庫是MySQL 5.6或者MariaDB 10.0/1/2版本,搭建一個新從庫MariaDB 10.3,在該從庫上轉換為系統版本控制表。這樣主庫上誤刪或誤篡改數據,可以在從庫上通過版本控制找回。
 
  注:主庫是低版本,從庫是高版本,是可以向前兼容binlog格式的。
 
  七、注意事項
  1、參數system_versioning_alter_history要設置為KEEP(在my.cnf配置文件里寫死),否則默認不能執行DDL修改表結構操作。
  set global system_versioning_alter_history = 'KEEP';
 
  注:增加字段時,要加上after關鍵字,否則會在te字段后面,造成同步失敗。例:
  alter table t1 add column address varchar(500) after name;
 
  2、mysqldump工具不會導出歷史數據,所以在做備份時,可以通過Percona XtraBackup熱備份工具來備份物理文件。
 
  3、搭建從庫時,如果你用mysqldump工具,要先導出表結構文件,再導出數據。
  1)只導出表結構:
  # mysqldump -S /tmp/mysql3306.sock -uroot -p123456 --single-transaction --compact -c -d -q -B test > ./test_schema.sql
 
  導入完表結構后,批量執行DDL轉換系統版本表,腳本如下(附件里點擊下載):
 
  # cat convert.php
  <?php
 
  $conn=mysqli_connect("10.10.100.11","admin","123456","test","3306") or die("error connecting");
  mysqli_query($conn,"SET NAMES utf8");
 
  $table = "show tables";
  $result1 = mysqli_query($conn,$table);
  while($row = mysqli_fetch_array($result1)){
      $table_name=$row[0];
      echo "$table_name 表正在進行轉換系統版本表。。。".PHP_EOL;
      $convert_table="
  ALTER TABLE {$table_name} ADD COLUMN ts TIMESTAMP(6) GENERATED ALWAYS AS ROW START,
                ADD COLUMN te TIMESTAMP(6) GENERATED ALWAYS AS ROW END,
                ADD PERIOD FOR SYSTEM_TIME(ts, te),
                ADD SYSTEM VERSIONING";
      $result2=mysqli_query($conn,$convert_table);
      if($result2){
              echo '更改表結構成功.'.PHP_EOL;
             echo ''.PHP_EOL;
      }
      else{
              echo '更改表結構失敗.'.PHP_EOL;
             echo ''.PHP_EOL;
      }
  }
 
  mysqli_close($conn);
 
  ?>
  注:先安裝php-mysql驅動
  #yum install php php-mysql -y
  #php convert.php
 
  2)只導出數據:
 
  # mysqldump -S /tmp/mysql3306.sock -uroot -p123456 --single-transaction
  --master-data=2 --compact -c -q -t -B test > test_data.sql

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
佐佐木明希电影| 午夜精品福利在线视频| 天天干,夜夜爽| 成人黄色av播放免费| 亚洲精品aⅴ中文字幕乱码| 亚洲蜜臀av乱码久久精品| 亚洲小视频在线观看| 丰满人妻一区二区| 久久精品黄色片| 屁屁影院国产第一页| 久久久精品麻豆| 视频在线99| 91精品国产综合久久香蕉922| 日韩在线播放视频| 欧美丰满高潮xxxx喷水动漫| 一区二区三区精品视频| 91免费在线看| 国产乱色国产精品免费视频| 亚洲人在线观看视频| 一区二区三区在线观看av| 污污视频网站在线免费观看| 日韩高清一二三区| 午夜激情av在线| 日韩少妇内射免费播放| 日本黄xxxxxxxxx100| 久久国产欧美精品| 成人性色av| 波多野结衣精品久久| 国产精品天天狠天天看| 国语自产在线不卡| 欧美国产第一页| 中文字幕日韩欧美在线| 亚洲欧美www| 日韩av在线网| 精品视频在线播放色网色视频| 日韩久久精品一区| 日韩亚洲欧美中文三级| 日韩一区二区三区av| 91精品国产综合久久蜜臀| 色综合色狠狠天天综合色| 色欲综合视频天天天| 黑人狂躁日本妞一区二区三区 | 天天躁日日躁狠狠躁免费麻豆| 精品日韩久久久| 久久撸在线视频| 精人妻一区二区三区| 精品人妻一区二区免费| 波多野结衣a v在线| 日韩av网站在线播放| 久久精品一区二区三| 国产伦精品一区二区三区视频网站| 亚洲免费在线视频观看| ,亚洲人成毛片在线播放| 精品国产亚洲av麻豆| 久热综合在线亚洲精品| 国产精品 欧美精品| 97久久精品人人澡人人爽| 久久精品欧美一区二区三区不卡| 亚洲天堂av一区| 欧美日韩在线视频观看| 6080午夜不卡| 日韩午夜在线视频| 欧美亚洲在线播放| 国产专区一区二区三区| 懂色av一区二区三区四区五区| 成人一级片网站| 国产在线不卡av| 精国产品一区二区三区a片| 69视频免费看| 免费在线成人网| 欧美成人在线直播| 北岛玲一区二区| 福利91精品一区二区三区| 97成人超碰视| 一区二区三区欧美视频| 在线视频欧美精品| 亚洲精品成人无码熟妇在线| 国产成人在线视频| 精品国产乱码久久久久久郑州公司 | 色丁香婷婷综合久久| 粉嫩aⅴ一区二区三区四区五区| 亚洲国产精品国自产拍av| 欧美日韩精品在线视频| 亚洲欧美日韩天堂一区二区| 91精品国产乱码久久久久久蜜臀 | 亚洲一区二区观看| 亚洲图片在线视频| 精品无人码麻豆乱码1区2区| 一区二区三区中文字幕| 亚洲精品大尺度| 国产精品久久久久久久久久久新郎| 青青草原成人| 欧美熟妇精品一区二区| 视频一区二区三区四区五区| 日产国产欧美视频一区精品| 国产精品成人在线观看| 精品久久国产老人久久综合| 91高潮在线观看| 日韩电影免费观看在| 美女被艹视频网站| 日韩av在线天堂| 免费人成黄页网站在线一区二区| 国产精品大尺度| 精品一区二区三区电影| 91麻豆国产精品| 曰本色欧美视频在线| 成人免费黄色大片| 久久综合色综合| 日本视频在线一区| 一区二区三区在线视频免费观看| 日韩精品在线免费| 91精品中文在线| 成年人网站大全| 天天综合网久久综合网| 成人av资源在线观看| 日韩视频一区二区| 成人国产精品av| 超碰在线播放91| 久久中文字幕免费| 久久伊99综合婷婷久久伊| 亚洲精品美女久久久| 国产欧美亚洲日本| 国产草草浮力影院| 美女日韩在线中文字幕| 欧美丝袜美女中出在线| 欧美激情视频在线| 国产日韩欧美精品在线观看| 欧美精品99久久久| av色综合久久天堂av综合| 精品成a人在线观看| 亚洲综合自拍一区| 蜜桃色一区二区三区| 人妻无码一区二区三区久久99| 午夜av电影一区| 欧美伊久线香蕉线新在线| 男人天堂999| 精品无码一区二区三区电影桃花 | 久久久999国产精品| 欧美日韩一级在线| 黄色一级视频免费| 久久免费精品国产久精品久久久久| 精品爽片免费看久久| 亚洲精品成人a8198a| 久久精品国产亚洲AV成人婷婷| 国产麻豆一精品一av一免费| 精品中文字幕久久久久久| 日韩一区不卡| 日韩欧美亚洲视频| 亚洲精品乱码久久久久久久久 | 欧美成人a∨高清免费观看| 国产精品区一区二区三在线播放| 久久人人爽人人爽人人片| 精品一区二区三区的国产在线播放| 欧美一区二区三区电影| 色狠狠久久av五月综合| 国产又大又黑又粗免费视频| 亚洲男人的天堂在线观看| 欧美一区二区三区……| 美女网站视频在线观看| 国产成人综合自拍| 久久在线精品视频| 色噜噜狠狠一区二区| 麻豆国产一区二区| 在线看福利67194| 日韩亚洲在线视频| 麻豆成人91精品二区三区| 亚洲欧美日韩精品| 最近免费中文字幕中文高清百度| 欧美视频xxx| 日韩精品中文字幕久久臀| 黄页网站大全在线观看| 六月丁香色婷婷| 亚洲欧美日韩区| 日本美女视频一区| 国产精品18久久久| 91爱视频在线| jizzjizzjizz国产| 亚洲欧美日韩中文字幕一区二区三区 | 国产视频一区二区在线| 日av在线播放中文不卡| 波多野结衣片子| 中文字幕不卡在线播放| 国产精品精品久久久| 国产性生活大片| 亚洲日本丝袜连裤袜办公室| 亚洲mv在线观看| 51精品在线观看| 91免费看片在线| 中文字幕亚洲欧美日韩| 亚洲va国产va欧美va观看| 欧美精品与人动性物交免费看| 亚洲天堂2021av| 2018中文字幕第一页| 俄罗斯黄色录像| 国产日韩精品一区| 国产精品日韩欧美一区二区| 99re这里只有精品在线| 日韩欧美123| 成人午夜激情av| 99国产欧美另类久久久精品| 国产免费一区视频观看免费| 国产成人无码一区二区三区在线| 欧美日本高清视频在线观看| 亚洲美免无码中文字幕在线| 成人精品在线视频观看| 国产精品久久久av久久久| 国产精品99无码一区二区| 日韩欧美成人一区二区| 91福利免费观看| 一区在线播放视频| 亚洲日本japanese丝袜| 日韩高清中文字幕一区| 午夜精品在线视频| 国产亚洲精品久久久久久打不开| 精品国产成人在线影院| 亚洲高清无码久久| 精品欧美激情精品一区| 久久久久久久中文| 国产日产亚洲精品系列| 日本一区二区三区精品视频| 亚洲三级中文字幕| 日韩av电影院| 国产又粗又大又爽视频| 欧美激情精品久久久久久变态 | 国产精品亚洲午夜一区二区三区| 国产精品视频地址| 99国产精品久久久久99打野战| 欧美精品电影在线| 亚洲永久精品在线观看| 日韩一区二区福利| 精品无码人妻一区二区三| 亚洲男人天堂网站| 日韩a级片在线观看| 亚洲欧美日韩区| 欧美黄色aaa| 一区二区在线视频播放| 国产一级黄色av| 丝袜情趣国产精品| 九九热国产视频| 中文字幕无线精品亚洲乱码一区 | 国产精品久久久久久免费| 久久久久久国产精品美女| 欧美日韩综合在线观看| 伦伦影院午夜日韩欧美限制| 激情五月婷婷网| 欧美一区二区三区…… | 国产成人精品在线| 国 产 黄 色 大 片| 成人黄色午夜影院| 久久国产剧场电影| 视频一区亚洲| 亚洲视频资源在线| 色噜噜狠狠一区二区| 欧美午夜精品久久久久久孕妇 | 欧美特级aaa| 91黄视频在线观看| 国产+成+人+亚洲欧洲| 鲁一鲁一鲁一鲁一澡| 日韩在线免费观看av| 超碰在线观看91| 久久久久久久爱| 国产乱淫av免费| 亚洲r级在线观看| 国产高清精品在线| 国产精品日产欧美久久久久| 亚洲精品黄网在线观看| 久久机热这里只有精品| 国内精品小视频在线观看| 欧美一区二区黄片| 免费日韩av电影| 久久久精品tv| 免费黄频在线观看| 亚洲精品国产欧美| 波多野结衣一区二区三区在线| 国产日韩在线播放| 成人美女在线观看| jizz18女人| 亚洲精品自拍偷拍| 国产又粗又猛又黄又爽| 久久亚洲免费| 亚洲一区二区三区视频在线播放 | 中文字幕人妻色偷偷久久| 91亚洲精品一区| 91天堂素人约啪| 永久av免费在线观看| 亚洲精品视频免费| 国产激情无套内精对白视频| 国产一级二级三级精品| 一区二区三区中文字幕电影| 成人欧美一区二区三区黑人一| 久久久在线免费观看| 九色porny丨国产精品| 国产99久久九九精品无码| 欧美一区二区黄色| 一级黄色大片网站| 一区二区视频在线观看| 在线一区二区三区做爰视频网站| 福利一区二区三区四区| 亚洲影院高清在线| 亚洲乱码日产精品bd| 午夜成人亚洲理伦片在线观看| 日韩免费观看网站| 欧美国产丝袜视频| 精品欧美一区二区久久久| 国产a∨精品一区二区三区不卡| 91在线丨porny丨国产| 日韩精品xxx| 九九精品视频在线| 99视频一区二区| 草草地址线路①屁屁影院成人| 欧美亚洲在线播放| 中文在线资源观看网站视频免费不卡| 久久无码人妻精品一区二区三区| 97热精品视频官网| 国产欧美一区二区精品性色超碰| 欧美a在线播放| 国产传媒欧美日韩| 欧美日韩综合在线| 国产婷婷一区二区三区久久| 国产免费黄色一级片| 国产亚洲欧美aaaa| 成人小视频在线观看| 女人又爽又黄免费女仆| 不卡一区二区三区四区五区| 色婷婷亚洲综合| 亚洲产国偷v产偷v自拍涩爱| 冲田杏梨av在线| 欧美最顶级的aⅴ艳星| 亚洲精品国久久99热| 在线观看日本视频| 成人在线观看毛片| 亚洲人成在线观看| 99国产精品久久久久久久久久| 国产综合精品久久久久成人av| 91视频免费在线观看| 欧美午夜寂寞影院| 免费看av毛片| 亚洲热在线视频| 国产一区二区丝袜高跟鞋图片| 欧美视频在线免费| 天天色棕合合合合合合合| 国产精品探花在线播放| 国产精品一区电影| 欧美性生活一区| 日韩极品在线观看| 欧美成人另类视频| 综合网五月天| 九色精品美女在线| 一区二区激情小说| a天堂在线观看视频| 黄页网站在线看| 国产有色视频色综合| 亚洲精品国偷自产在线99热| 97精品久久久久中文字幕| 亚洲 欧美 视频| 亚洲 中文字幕 日韩 无码| 国产成人小视频在线观看| 欧洲视频一区二区| 国产一区二区在线视频| 欧美第一页在线观看| 黄色一级片av| 日本欧美在线视频| 日韩视频免费观看高清完整版 | 国产午夜福利在线播放| zzjj国产精品一区二区| 欧美日韩综合一区二区| 26uuu成人网| 狠狠久久综合婷婷不卡| 亚洲欧洲国产精品| 中文字幕在线不卡| 国产91视频在线| 黄色网址在线视频| 亚洲图色在线| 2019日本中文字幕| 欧美日本在线看| 成人美女视频在线观看18| 国语对白永久免费| 北条麻妃在线一区| 99porn视频在线| 日韩视频在线免费| 午夜视频一区二区三区| 久久精品国产色蜜蜜麻豆| 五月天婷婷网站| 先锋资源在线视频| 伊人久久av导航| 日韩av三级在线观看| 精品国产乱码久久久久久影片| 欧美国产日韩一二三区| 久热精品视频| 久久国产视频一区| 一级性生活毛片| 激情综合在线观看| 国内一区二区三区在线视频| 欧美国产亚洲视频| 日韩欧美国产不卡| 亚洲mv大片欧洲mv大片精品| 盗摄精品av一区二区三区| 香蕉污视频在线观看| 中文字幕第九页| av在线播放亚洲| 久久一区二区精品| 国产精品久久久久久久久久久新郎| 亚洲全黄一级网站| 欧美日韩国产片| 一区二区三区四区不卡在线| 成人sese在线| 久久亚洲色图| 精品国产亚洲av麻豆| www.国产色| 综合五月激情网|