精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

圖文回顧 Redo Log 相關知識

開發 前端
為了保證 redo日志 不丟失,會在磁盤中開辟一塊空間將日志保存起來。但是這樣會有一個問題,磁盤的讀寫性能非常的差。

 [[427107]]

1、如何提升 redo日志 的寫性能?

為了保證 redo日志 不丟失,會在磁盤中開辟一塊空間將日志保存起來。但是這樣會有一個問題,磁盤的讀寫性能非常的差。

所以 redo日志 和數據頁一樣,系統都是會分配一塊連續的內存,來提升讀寫性能;數據頁對應的是 buffer pool,而 redo日志 對應的是 log buffer。

buffer pool可以利用「innodb_buffer_pool_size」指定總大小,利用「innodb_buffer_pool_instances」指定實例數,但是必須size大于等于1G才生效。

log buffer 可利用「innodb_log_buffer_size」指定 log buffer 的大小;一片連續的內存空間會被劃分為N個512字節大小的block。

log file 可以利用「innodb_log_file_size」指定每個 log file 的大小,利用「innodb_log_files_in_group」指定一共多少個log file。

2、redo日志 何時寫入log buffer?

對底層頁面(可能是多個頁面)進行一次原子性訪問,等于一個MTR,即 Mini Transaction。一個 MTR對應一組 redo日志 。一個事務對應多個語句,一個語句對應多個個MTR,一個MTR對應一組redo日志,即多個 redo日志 。

在MTR結束后,會將一組 redo日志 寫入到log buffer中。

詳情可看下圖: 

3、log buffer 中的 redo日志 何時刷盤?

  • 當 log buffer 已經被寫入約一半左右,下次再寫入 redo日志 時,需將 log buffer 的 redo日志 刷到磁盤文件中。
  • 當事務結束時,需先將 log buffer 中,被修改的緩存頁對應的 redo日志 刷回磁盤中。
  • 后臺線程刷,大概每隔一秒刷一次 log buffer 中的 redo日志 到磁盤中。
  • 執行checkpoint。
  • 正常關閉服務器。

4、我們都知道每次寫入 redo日志 ,都是以組為單位,那么我們怎么知道哪些是一組?

  • 在該組中的最后一條 redo日志 后邊加上一條特殊類型的 redo日志 ,該類型名稱為「MLOG_MULTI_REC_END」,type字段對應的十進制數字為31,該類型的 redo日志 結構很簡單,只有一個type字段。

5、如何知道下一次redo日志改寫到log buffer的哪個位置?

  • buf_free全局變量,指向log buffer中下個寫入的位置。

6、如何知道下次從log buffer的哪個位置開始刷入磁盤?

buf_next_to_write全局變量,指向log buffer中下個刷回磁盤的位置。

7、如何定位 log buffer 中的 redo日志 對應哪些被修改的數據頁;在被修改的數據頁中,如何定位到對應的是哪些 redo日志 ?

  • 修改的緩存頁找到對應的 redo日志
    • 當 MTR 結束時,會將被修改過的數據頁對應的數據塊放入 flush鏈表 的表頭中,并且給兩個參數賦值,分別是 old_modification 和 new_modification:old_m 賦值是 MTR 開始前的 lsn 值,而 new_m 賦值是 MTR 結束時的 lsn 值。
    • 如果一個 MTR 修改的數據頁對應的控制塊本來就在 flush鏈表 中,則不調整數據頁對應的數據塊的位置,只是修改 new_modification 的值,old_modification還 是保持第一次進入 flush鏈表 時 lsn 的值。
    • 就是說,在 flush鏈表 中,數據塊是根據第一次修改的時間進行倒序排列的。
    • 首先,出場一個變量,叫lsn,全稱:log sequence number,日志序列號。它記錄的是,redo日志 的總字節數,初始值為8704。當系統啟動,初始化log buffer 時,lsn 值為 8704+12(一個log block header)=8716
    • 接著,log buffer 是由多個block組成的(可以理解為buffer pull的緩存頁),block由三部分組成,log block header(12個字節)、log block body、log block trailer(4個字節)。
    • 當第一個 redo日志 組,如「mt_1」準備被寫入,并且一個block能容納,此時lsn為 8704+12(一個log block header)=8716,假設「mt_1」一共100字節,那么「mt_1」寫入后,lsn為8716+100=8816
    • 當第二個 redo日志 組,如「mt_2」準備被寫入,并且需要跨block才能容納,如跨一個(即包含一個log block header和一個log block trailer),開始寫入前lsn:8816,假設「mt_2」一共1000個字節,那么「mt_2」寫入后,lsn為8816+12(一個log header)+4(一個log tail)+1000=9832
    • lsn
    • flush和lsn
    • 通過上面,那么我們可以根據flush鏈表中,數據塊的 old_modification 和 new_modification 找到對應的一組 redo日志 ,因為通過 lsn 可以定位到對應 redo日志 在磁盤文件中的偏移量(這個下面會講解到)。
  • redo日志 找到對應的緩存頁面
    • redo日志 的通用結構是:type-spaceId ID-page Number-data,即我們可以根據 redo日志 的 space ID 和 page Number 即可找到對應的緩存頁。
    • 順帶一提:在 InnoDB 中,有一個哈希表,key為表空間號+頁號,value為緩存頁地址。這樣我們可以通過 space ID 和 page Number 快速定位到對應的緩存頁。

8、我們知道可以利用 lsn 知道有多少字節數的 redo日志 寫入到 log buffer 中,那么我們能有變量對應的知道有多少字節數的 redo日志 被刷入磁盤中嗎?

  • flushed_to_disk_lsn 全局變量,表示刷到磁盤的日志量。

9、lsn 和 log file 的偏移量怎么對得上么?

  • lsn 初始值是 8704,隨著 redo日志 的不斷寫入,lsn 不斷增大。而 innodb 中,是利用 block 這個結構來存儲 redo日志 (不管是 log buffer 還是 log file),而 block 包含三部分,上面已經提到。當 redo日志 不斷寫入,不斷占用 block 的空間,那么 lsn 會增加對應的字節數,當然了,除了body、也算 header 和 trailer。
  • log file 是由日志組組成,日志組最大設置100個文件數,每個日志文件也是由多個512字節的block鏡像組成,日志組第一個日志文件前4個block鏡像用于存儲重要信息、如checkpoint等、即前2048個字節不用于存儲 redo日志 ,即從2048個字節開始計算 redo日志 的存放量。
  • log file 的 log file header 中有一個「LOG_HEADER_START_LSN」屬性,標記本 redo日志 文件偏移量2048字節處對應的lsn值。

詳情可看下圖: 

10、log buffer 中的 redo日志 真的會在事務結束時立馬刷回到磁盤中嗎?

  • 默認是的,這里有一個參數控制:「innodb_flushing_log_at_trx_commit」,默認值是1
    • 0:事務提交,不會立馬刷到磁盤中,依賴后臺線程刷入,即如果此時MySQL或系統掛掉重啟,無法恢復臟頁
    • 1:事務提交,會立馬將log buffer的 redo日志 刷回磁盤中
    • 2:事務提交,會立馬將log buffer的 redo日志 刷到操作系統的緩存中,而不是刷到磁盤中;如果此時MySQL掛掉了,重啟后不會影響恢復臟頁,而如果是系統掛掉,就無力回天了。

11、log file 都是循環使用,即可以覆蓋,那么怎么判斷是否可以覆蓋?

  • log file 中可被覆蓋,那么首要條件就是 redo日志 對應的臟頁已經被刷到磁盤中。
  • innodb 有個全局變量:checkpoint_lsn,它記錄的是可被覆蓋的 redo日志量。初始值就是lsn的初始值,8704。
    • 當有臟頁被刷到磁盤時,首先在flus鏈表中拿到最舊的緩存頁,即需要拿到鏈表尾部的控制塊,然后拿到 old_modification 的值,然后將這個值賦值給 checkpoint_lsn,因為只要是小于 flush 鏈表中最舊的控制塊的 old_modification 的 lsn,就代表可以被覆蓋,畢竟對應的臟頁已經被刷到磁盤中了。
    • 接著,將根據當前的 checkpoint_lsn 獲取對應日志文件組的偏移量,記錄為 checkpoint_offset,checkpoint_no 也需要加1,最后將三個信息記錄在日志文件組的 checkpoint1 或 checkpoint2(checkpoint_no為奇數存1,否則存2)。
    • 上面兩步稱為執行一次checkpoint。
    • 什么是 checkpoint?
  • 我們只需要從日志文件組中的 checkpoint1 和 checkpoint2 拿到信息,然后對比 checkpoint_no 看哪個是最新的,接著拿到checkpoint_lsn,那么 lsn 小于 checkpoint_lsn 的日志都可以被覆蓋。

12、系統崩潰重啟,如何利用 redo日志 進行恢復?

  • redo日志 進行崩潰恢復主要是利用上面提到的 checkpoint_lsn,因為 checkpoint_lsn 表示可以覆蓋的日志量,則表示 checkpoint_lsn 之前的 redo日志 對應的臟頁都已經被刷回到磁盤中。
  • 首先從 redo 日志組中拿到 checkpoint1 和 checkpoint2,接著判斷誰的 checkpoint_no 大,大的就是最新的一次 checkpoint 執行。
  • 接著拿到對應的 checkpoint_offset,那么 checkpoint_offset 后的 redo日志 都需要掃描一遍,然后根據 redo日志 的內容,對數據頁進行恢復。

13、恢復是掃描一個 redo日志 ,就進行一次恢復嗎?

  • 問題:
    • 因為根據 redo日志 恢復數據頁的變更,是直接更新磁盤中的數據頁;掃描一個 redo日志 ,就進行一次恢復,如果存在多個 redo日志 記錄同一個數據頁的變更,并且不是連續的,那么會導致多次隨機IO,性能會非常的差。
  • 解決:
    • 所以會有一個哈希表,key為 space ID + page Number,value 為數據頁地址。掃描 redo日志 時,會將同一個 space ID + page Number 的 redo日志 都放在同一個槽下。
    • 接著遍歷哈希表,執行每一個 space ID + page Number 對應所有的 redo日志 。
  • 好處:
    • 避免了多次的隨機IO,提升恢復的速度。
    • 按順序根據 redo日志 進行恢復,避免出現恢復的順序問題。

詳情可看下圖:

14、恢復時,如何知道什么時候結束?

  • 首先,我們知道,在日志組里,有多個block鏡像,然后 redo日志 刷盤,是按順序填入每個block的,只有前一個block填滿了,才接著填下一個
  • 接著,每個 block 的大小都是 512 個字節,包括 log block header、log block body 和 log block trailer。在block的頁面結構中,log block header 頭部有一個「LOG_BLOCK_HDR_DATA_LEN」的屬性,該屬性值記錄了當前block里使用了多少字節的空間。對于被填滿的block來說,該值永遠為512。
  • 最后,所以只管往后面一直掃,直到 log block header 中 「LOG_BLOCK_HDR_DATA_LEN」屬性不是512的 block,那么就是恢復的終點了。

15、如何兼容臟頁已經已經刷回磁盤,但是 redo日志 沒有刷回磁盤的場景?

  • 場景復現:
    • 當我們提交事務時,會根據參數「innodb_flush_at_trx_commit」來做下一步操作,如果是0或者2,那么此時的日志并沒有刷回到磁盤中,而是留在log buffer中或操作系統緩存中。
    • 接著,如果有后臺線程將 LRU 鏈表或 flush 鏈表的某些臟頁刷回磁盤中,刷回后;但是此時對應的 redo日志 還停留在上面提到的兩個地方,如果服務器宕機,那么對應的 redo日志 就會丟失了。
    • 因為刷 LRU 鏈表、flush 鏈表和刷 redo日志 的后臺線程,往往都是不同的線程,無法知道對應的 redo日志 是否已經刷回去。
  • 兼容:
    • 每個數據頁都有一個稱之為 File Header 的部分,在 File Header 里有一個稱之為 FIL_PAGE_LSN 的屬性,該屬性記載了最近一次修改頁面時對應的 lsn 值(其實就是頁面控制塊中的 newest_modification 值)。
    • 如果在做了某次 checkpoint 之后有臟頁被刷新到磁盤中,那么該頁對應的 FIL_PAGE_LSN 代表的 lsn 值肯定大于 checkpoint_lsn 的值,凡是符合這種情況的頁面就不需要重復執行 lsn 值小于 FIL_PAGE_LSN 的 redo日志 了,

 

責任編輯:武曉燕 來源: 不送花的程序猿
相關推薦

2024-06-11 00:00:02

MySQL數據庫系統

2021-07-28 08:32:03

MySQLRedo存儲

2025-01-20 08:20:00

redo logMySQL數據庫

2010-01-06 09:30:51

Oracle Redo

2021-05-28 11:18:50

MySQLbin logredo log

2021-01-26 13:47:08

MySQL存儲數據

2020-08-20 12:10:42

MySQL日志數據庫

2024-05-28 00:10:00

JavaMySQL數據庫

2025-01-15 13:19:09

MySQL日志事務

2024-05-30 08:03:17

2023-11-23 13:17:39

MySQL?數據庫

2022-03-25 13:42:15

Log4j漏洞網絡安全

2025-06-06 07:02:43

2024-03-14 14:18:58

MySQL業務設計事務

2021-02-09 10:07:23

面試MySQL存儲

2023-05-29 08:01:15

重啟二進制日志

2019-05-06 15:27:48

Oracle數據庫數據

2025-10-09 02:22:00

MySQLMVCC庫存數量

2010-01-25 13:50:41

Android輸出Lo

2009-09-14 09:49:07

CCNA認證CCNA
點贊
收藏

51CTO技術棧公眾號

国产精品久久国产精品| 欧美激情第三页| 911福利视频| 成人影院www在线观看| 国产成人精品免费看| 2021国产精品视频| 精品在线观看一区| 国产成人夜色高潮福利影视| 在线免费观看成人短视频| 欧美日韩一区二区三区电影| 午夜在线观看视频18| 激情综合网激情| 欧美在线性视频| 欧美丰满艳妇bbwbbw| 亚洲欧美tv| 日韩三级电影网址| 中文字幕在线观看第三页| 色网在线观看| 国产精品看片你懂得| 国产视频不卡| 国产伦一区二区| 国产亚洲精品久久久久婷婷瑜伽| 久久久国产91| 中文字幕免费看| 欧美在线在线| 欧美日韩一级片在线观看| 日本男女交配视频| 麻豆视频网站在线观看| 91在线观看视频| 3d动漫啪啪精品一区二区免费| 国产精品21p| 国内精品久久久久久久影视麻豆| 影音先锋日韩有码| 中国av免费看| www.豆豆成人网.com| 欧美日本一区二区在线观看| 黄色免费观看视频网站| 日本在线观看大片免费视频| 中文字幕亚洲在| 日韩av图片| 亚洲色欧美另类| 国产91精品一区二区| 91精品在线看| 中文字幕人妻一区二区三区视频| 久久免费国产| 91国内揄拍国内精品对白| 久久精品99国产精| 欧美一区二区三区久久精品| 色系列之999| 一级肉体全黄裸片| 国产精品片aa在线观看| 亚洲欧美日韩久久久久久| 波多野结衣视频播放| av日韩在线播放| 日韩欧美一级二级| 日批视频在线看| 精品一区二区三区免费看| 欧美精品 日韩| 天堂av8在线| 国产aa精品| 欧美一级日韩免费不卡| 国产精品嫩草影院8vv8| 欧美一级做a| 欧美久久久久久久久中文字幕| 男女视频在线看| 看片一区二区| 在线播放中文字幕一区| 可以看污的网站| 国产精品日本一区二区不卡视频| 欧美精品视频www在线观看| 噼里啪啦国语在线观看免费版高清版| 日韩欧美另类一区二区| 在线免费视频一区二区| 欧美特黄aaa| 9l亚洲国产成人精品一区二三| 日韩精品一区在线| 91视频在线免费| 小说区图片区色综合区| 亚洲欧美在线免费观看| 337人体粉嫩噜噜噜| 日韩免费视频| 久久成人综合视频| www.av视频| 国产女优一区| 国产精品亚洲第一区| 国产精品一区二区黑人巨大| 国产高清久久久| 九九九九九九精品| 大片免费播放在线视频| 日韩一区在线播放| 精品久久一二三| 91精品国产66| 精品久久国产97色综合| 西西444www无码大胆| 国产精品久久久久久久久妇女| 欧美成人精品激情在线观看| 日韩三级一区二区三区| 男女性色大片免费观看一区二区 | 日韩欧美一卡二卡| 中文在线永久免费观看| 日产精品一区二区| 国模精品视频一区二区| 波多野结衣高清视频| 国产在线麻豆精品观看| 久久久亚洲综合网站| 麻豆免费在线视频| 精品欧美aⅴ在线网站| 色戒在线免费观看| 秋霞综合在线视频| 久久国产精品久久国产精品| 五月婷婷激情五月| 成人av电影在线观看| 一区二区三区视频在线播放| 密臀av在线播放| 日韩亚洲欧美综合| 日韩中文字幕有码| 亚洲久久在线| 91精品网站| 日韩伦理在线电影| 欧美午夜片在线免费观看| 亚洲一区二区三区三州| 日韩精品诱惑一区?区三区| 96精品视频在线| 国产v在线观看| 中文字幕在线观看一区| 欧美三级午夜理伦三级| youjizz亚洲| 欧美成人国产va精品日本一级| 蜜臀精品一区二区三区| 成人h动漫精品一区二| 7777在线视频| 亚洲欧美在线人成swag| 国产亚洲欧美日韩一区二区| 青青草成人av| a在线播放不卡| 国产一级做a爰片久久毛片男| 亚洲免费资源| 色99之美女主播在线视频| 免费看毛片网站| 26uuu国产电影一区二区| 91成人综合网| av日韩精品| 欧美精品videosex极品1| 99精品在线视频观看| 国产精品国产三级国产aⅴ入口 | 玖玖精品在线| 中文字幕亚洲情99在线| 中文字幕一区在线播放| 久久这里都是精品| av免费中文字幕| 午夜欧洲一区| 国产97免费视| 91在线播放网站| 欧美日韩在线三区| 69xxx免费| 精品一区二区在线播放| 这里只有精品66| 欧美影院精品| 欧美精品久久一区二区 | 亚洲精品影视在线观看| 天天综合天天干| 久久综合九色综合欧美就去吻| 免费看黄在线看| 久久a爱视频| 欧美有码在线观看| 国产区在线视频| 精品视频免费看| 极品盗摄国产盗摄合集| 国产超碰在线一区| 欧美a v在线播放| 精品国产91久久久久久浪潮蜜月| 国产精品白嫩美女在线观看 | 亚洲精品免费在线观看| 蜜臀视频在线观看| 国产午夜精品一区二区三区欧美| 日本视频一区二区不卡| 日韩专区视频网站| 欧美激情videos| 日韩亚洲视频在线观看| 欧美在线免费播放| 亚洲国产123| 成人免费看的视频| 久久黄色免费看| 久久久久国产精品| 久久99精品久久久水蜜桃| 偷拍中文亚洲欧美动漫| 久久夜色精品亚洲噜噜国产mv| 亚洲精品久久久久久无码色欲四季| 五月天网站亚洲| 极品人妻videosss人妻| 国产精品77777| 国产超级av在线| 香蕉视频国产精品| 国语精品中文字幕| 日韩精品一页| 136fldh精品导航福利| 超碰免费在线观看| 精品少妇一区二区三区在线播放| 无码视频在线观看| 一区二区三区国产| 国产伦精品一区二区三区视频女| 国产成人精品一区二| 日韩中文字幕二区| 欧美日韩精品| 亚洲精品一区二区三区四区五区| 97视频一区| 国产精品专区一| www成人免费观看| 大胆欧美人体视频| 精品视频一二三| 欧美成人激情免费网| 中国精品一区二区| 黑人极品videos精品欧美裸| 极品颜值美女露脸啪啪| 欧美韩国日本综合| 精品人妻一区二区三区日产乱码卜| 激情综合一区二区三区| 动漫av免费观看| 亚洲精选一区| 黄色三级中文字幕| 午夜片欧美伦| 亚洲一区影院| 激情婷婷综合| 久久精品ww人人做人人爽| 亚洲1区在线| 成人免费在线视频网站| 我爱我色成人网| 欧美伊久线香蕉线新在线| 黄污视频在线观看| 久久不射热爱视频精品| 日本在线观看www| 一个人www欧美| 青青草超碰在线| 亚洲激情电影中文字幕| 亚洲国产精品久久人人爱潘金莲| 69久久99精品久久久久婷婷| 中文字幕观看在线| 欧美在线视频日韩| 手机av免费观看| 色狠狠色狠狠综合| 9i精品福利一区二区三区| 欧美日韩国产页| 日本熟妇毛茸茸丰满| 一区二区三区精密机械公司| 美女毛片在线观看| 一区二区三区久久| 欧美精品99久久久| 亚洲成人免费影院| 日韩激情在线播放| 欧美午夜xxx| 一级做a爰片久久毛片| 色综合久久综合网97色综合 | 国产成人免费观看网站| 久久精品人人做人人综合 | 亚洲精品视频三区| 精品一区免费av| 欧美熟妇另类久久久久久多毛| 国产精品一二三四区| 免费观看黄网站| 成人综合在线视频| 亚洲av成人片色在线观看高潮| 97久久精品人人做人人爽| 国产精品无码电影| 国产午夜精品福利| www.99re6| 亚洲综合免费观看高清在线观看 | 色狠狠桃花综合| 伊人久久一区二区| 日韩片之四级片| 色婷婷av一区二区三区之红樱桃 | caoporn国产精品免费公开| 日韩三级网址| 精品一区二区三区国产| 精品国产1区| 天堂av在线中文| 亚洲青色在线| 日本一本二本在线观看| 美女爽到高潮91| 特黄特黄一级片| 99精品视频在线观看| 国产一二三四五区| 亚洲精品一二三区| 成人午夜视频精品一区| 欧美吻胸吃奶大尺度电影| 一级特黄色大片| 精品国产123| 国产私拍精品| 欧美精品制服第一页| 中文字幕色婷婷在线视频| 成人h视频在线| 国产另类在线| 亚洲资源视频| 亚洲国产国产亚洲一二三| 国产性生交xxxxx免费| 国产一区二区三区四区在线观看| 2一3sex性hd| 国产精品美女久久久久aⅴ| 国产一级做a爰片在线看免费| 91久久人澡人人添人人爽欧美| 国产色视频在线| 亚洲色图五月天| 视频在线这里都是精品| 国产大片精品免费永久看nba| 777久久精品| 亚洲欧美国产精品桃花| 99在线精品视频在线观看 | 成人晚上爱看视频| 国产成人免费观看网站| 亚洲成av人片一区二区梦乃| 一区二区久久精品66国产精品| 日韩精品高清在线观看| 2024短剧网剧在线观看| 国产精品video| 精品女人视频| 人妻无码一区二区三区四区| 日本亚洲欧美天堂免费| 精品国产一区在线| 一区二区三区精品久久久| 亚洲天堂中文在线| 亚洲免费福利视频| sm在线观看| 亚洲va欧美va国产综合剧情 | jizz一区二区| 人妻少妇精品一区二区三区| 欧美三区免费完整视频在线观看| 亚洲欧洲视频在线观看| 欧美激情a在线| 另类视频一区二区三区| 制服丝袜综合日韩欧美| 日韩精品1区2区3区| 午夜一区二区三区免费| 午夜伊人狠狠久久| www.麻豆av| 九九热视频这里只有精品| 宅男噜噜噜66国产精品免费| 亚洲国产午夜伦理片大全在线观看网站| 野花国产精品入口| 亚洲av人人澡人人爽人人夜夜| 一区二区免费看| 国产99999| 久久成人精品一区二区三区| 国产精品亚洲综合在线观看| 中文字幕日韩一区二区三区不卡| 欧美aaaaaa午夜精品| 精品无码国产污污污免费网站| 欧美性猛交xxxx免费看久久久| 午夜一区在线观看| 欧美在线视频免费播放| 同性恋视频一区| 欧美 日韩精品| 久久久精品中文字幕麻豆发布| 天天干天天干天天操| 亚洲欧美中文另类| 日韩高清成人| 亚洲欧美日韩在线综合| 麻豆国产91在线播放| 在线观看亚洲网站| 欧美一区二区三区思思人| 中文字幕中文字幕在线十八区| 91福利入口| 伊人久久大香线蕉综合热线| 亚洲图片综合网| 日韩欧美高清视频| av免费观看一区二区| 国产在线精品自拍| 亚洲一区二区三区无吗| 精品国产免费久久久久久婷婷| 亚洲成人自拍偷拍| 外国精品视频在线观看| 国产成人综合精品| 亚洲成人国产| 日韩精品人妻中文字幕有码| 欧美午夜激情小视频| 婷婷激情在线| 97久久夜色精品国产九色| 99日韩精品| 人妻无码一区二区三区免费| 欧美一区二视频| 蜜桃av在线| 亚洲免费久久| 粉嫩蜜臀av国产精品网站| 亚洲国产成人无码av在线| 色黄久久久久久| 亚洲一区二区三区免费| 欧美黄色一级片视频| 中文字幕在线不卡一区二区三区| 国产成人久久精品77777综合| 97超级碰碰碰久久久| av永久不卡| av地址在线观看| 欧日韩精品视频| 欧美午夜大胆人体| 日韩欧美在线电影| 福利电影一区二区三区| www.av88| 97人人模人人爽人人喊中文字| 欧美一区二区三| 欧美日韩人妻精品一区在线| 精品视频1区2区3区| 丝袜诱惑一区二区|