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

從MySQL 5.6升級到8.0,我們付出了慘痛代價!

數據庫 MySQL 開發工具
Facebook 稱,他們最近的一次大版本升級到 MySQL 5.6 花了一年多時間才完成,還在 5.6 版上開發 LSM 樹存儲引擎,MyRocks。

[[419285]]

圖片來自 包圖網

在升級到 5.7 的同時構建一個新的存儲引擎,會大大減慢 MyRocks 的進度,因此我們選擇繼續使用 5.6,直到 MyRocks 完成,MySQL 5.6 的壽命也即將結束,決定升級到 MySQL 8.0 。

官博介紹說,此次過程比之前的升級更具挑戰。MySQL 是 Oracle 公司旗下的一個開源數據庫,它為 Facebook 的一些最重要的工作負載提供了動力。我們積極開發 MySQL 中的新特性,以支持不斷演化的需求。

這些特性對MySQL的許多方面進行了修改,包括客戶機連接器、存儲引擎、優化器以及復制。

為了遷移工作負載,對于每個新的 MySQL 主版本,我們都需要投入大量的時間和精力。

其中的挑戰包括:

  • 將自定義功能移植到新版本。
  • 確保主要版本之間的復制兼容。
  • 最小化現有應用程序查詢所需的更改。
  • 對阻礙服務器支持我們工作負載的性能退化進行修復。

我們最近一次的主版本升級是到 MySQL 5.6,它花了一年多的時間才推出。當5.7 版發布時,我們還在 5.6 版上開發 LSM 樹存儲引擎和 MyRocks。

在升級到 5.7 的同時構建一個新的存儲引擎,會大大減慢 MyRocks 的進度,因此我們選擇繼續使用 5.6,直到 MyRocks 完成。

MySQL 8.0 發布之際,我們正在做 MyRocks 向用戶數據庫(UDB)服務層推出的收尾。

該版本包括一些引人注目的特性,如基于寫集的并行復制和提供原子 DDL 支持的事務數據字典等。

對我們來說,遷移到 8.0 還將帶來包括文檔存儲在內的,我們已經錯過的 5.7 特性。

版本 5.6 的使命即將結束,我們希望在 MySQL 社區中保持活躍,尤其是在 MyRocks 存儲引擎上的工作。

8.0 中的增強功能,比如即時 DDL,可以加快 MyRocks 的模式更改,但是我們需要在 8.0 的代碼庫中使用它。

考慮到更新代碼的好處,我們決定遷移到 8.0。下面將分享我們如何解決 8.0 遷移項目的難題,以及在這個過程中發現的一些驚喜。

當最初確定項目范圍時,可以明確的是,遷移到 8.0 會比遷移到 5.6 或 MyRocks 更困難:

  • 當時,我們定制的 5.6 分支有 1700 多個代碼補丁需要移植到 8.0。在我們移植這些更改時,新的 Facebook 的 MySQL 特性和修復已被添加到 5.6 的代碼庫中,從而使目標變得更加遙不可及。
  • 我們有許多 MySQL 服務器在生產環境中運行,為大量截然不同的應用程序提供服務。我們還有眾多管理 MySQL 實例的軟件架構。這些應用執行諸如收集統計數據或管理服務器備份之類的操作。
  • 從 5.6 升級到 8.0 完全跳過了 5.7。在 5.6 中處于活動狀態的 API 在 5.7 中可能被棄用,而在 8.0 中可能會被移除,這要求我們必須更新所有使用了現已刪除 API 的應用程序。
  • 許多 Facebook 功能與 8.0 中的類似功能并不向前兼容,需要一種棄用或遷移途徑。
  • MyRocks 的增強功能需要在 8.0 中運行,包括本地化分區和崩潰恢復。

代碼補丁

首先我們建立了 8.0 分支,用于在開發環境中進行構建和測試。然后,我們開始從 5.6 分支移植補丁的漫長過程。開始的時候有 1700 多個補丁,但我們能將其組織成幾個主要類別。

我們的大多數自定義代碼都有很好的注釋和描述,因此可以很容易地確定應用程序是否仍然需要它,或者是否可以將它刪除。

通過特殊關鍵字或唯一變量名所啟用的功能,也使得確定關聯變得很容易,因為我們可以搜索應用程序代碼庫來找到它們的用例。

有些補丁非?;逎y懂,需要做調查工作 — 挖掘舊的設計文檔、郵件或代碼評審注釋,以了解它們的歷史。

我們將每個補丁分入四類之一:

  • Drop:不再使用,或在 8.0 中具有同等功能的特性,不需要移植。
  • Build/Client:支持我們構建環境的非服務器特性,修改過的 MySQL 工具,比如 mysqlbinlog,或者增加的功能,如異步客戶端 API 等,需要移植。
  • 非 MyRocks 服務器:mysqld 服務器中與 MyRocks 存儲引擎無關的特性,需要移植。
  • MyRocks 服務器:支持 MyRocks 存儲引擎的特性,需要移植。

我們使用電子表格跟蹤每個補丁的狀態和相關歷史信息,并且在刪除補丁時記錄理由。

更新相同特性的多個補丁被組在一起進行移植。移植并提交到 8.0 分支的補丁,用 5.6 提交信息進行了注釋。

由于我們需要篩選大量的補丁,將不可避免地出現移植狀態上的差異,這些注釋幫助我們解決了此類問題。

客戶端和服務器類別中的每個補丁都自然而然地成為一個軟件發布里程碑。隨著所有與客戶端相關的更改的移植,我們能夠將客戶端工具和連接器代碼更新到 8.0。

一旦所有非 MyRocks 服務器特性都被移植,我們就可以為 InnoDB 服務器部署 8.0 mysqld 了。完成 MyRocks 服務器特性移植使我們能夠更新 MyRocks 安裝。

有些復雜特性需要對 8.0 進行重大更改,一些方面存在很大的兼容性問題。例如,上游 8.0 binlog 事件格式與我們一些對 5.6 的定制修改不兼容。

Facebook 5.6 特性使用的錯誤代碼與上游 8.0 分配給新特性的錯誤代碼沖突。我們最終需要修補 5.6 服務器,以使其與 8.0 向前兼容。

完成所有這些特性的移植花了幾年時間。到最終結束時,我們已經評估了 2300 多個補丁,并將其中 1500 個移植到了 8.0 版本。

遷移途徑

我們將多個 mysqld 實例組合到一個 MySQL 副本集中。副本集中的每個實例都包含相同的數據,但在地理上分布到不同的數據中心,以提供數據可用性和故障切換支持。

每個副本集都有一個主實例。其余的實例都是從實例。主實例處理所有寫流量,并將數據異步復制到所有從實例。

由 5.6 主/ 5.6 從所組成的副本集開始,最終目標是包含 8.0 主/ 8.0 從的副本集。

我們遵循一個類似于 UDB MyRocks migration plan 的遷移規劃:

  • 對于每個副本集,通過一個使用 mysqldump 生成的邏輯備份,創建并添加到 8.0 的從實例。這些從實例不提供任何應用程序讀取流量。
  • 在 8.0 從實例上開啟讀取流量。
  • 允許將 8.0 從實例升級為主實例。
  • 禁用 5.6 實例的讀取流量。
  • 移除所有 5.6 實例。

每個副本集可以獨立地通過上述步驟進行遷移,并可根據需要停留在一個步驟上。

我們將副本集分成更小的組,在組中進行每一次遷移。如果發現問題,我們可以回滾到上一步。在某些情況下,副本集能夠在其它副本集開始之前到達最后一步。

為了自動化遷移大量副本集,我們需要構建新的軟件架構。可以通過簡單地更改配置文件中的一行,將副本集組合并在每個階段中移動它們。任何遇到問題的副本集都能單獨回滾。

基于行的復制

作為 8.0 遷移工作的一部分,我們決定將使用基于行的復制(row-based replication,RBR)作為標準。一些 8.0 特性需要 RBR,并且它簡化了 MyRocks 的移植工作。

我們的大多數 MySQL 副本集已經在使用 RBR,而那些仍然運行基于語句的復制(statement-based replication,SBR)的副本集不容易遷移。

這些副本集通常有不含任何高基數鍵的表。完全轉向 RBR 是一個目標,但添加主鍵所需的長尾工作的優先級往往低于其它項目。

因此,我們將 RBR 作為 8.0 的要求。在評估并向每個表添加主鍵之后,我們今年切換了最后一個 SBR 副本集。

使用 RBR 還為我們提供了一個解決應用程序問題的替代解決方案,我們在將一些副本集移動到 8.0 主實例時遇到了這個問題,將在后面討論。

自動化驗證

大多數 8.0 遷移過程都涉及使用我們的自動化架構和應用查詢來測試和驗證 mysqld 服務器。

我們用來管理服務器的自動化基礎架構在隨著 MySQL 服務器的增長而增長。為了確保所有 MySQL 自動化組件都與 8.0 版本兼容,我們投資構建了一個測試環境,該環境利用虛擬機上的測試副本集來驗證行為。

我們為 canary 編寫了在 5.6 版本和 8.0 版本上運行的每個自動化組件的集成測試,并驗證了它們的正確性。在進行此演練時,我們發現了幾個錯誤和行為差異。

當 MySQL 架構的每一部分都在我們的 8.0 服務器上進行驗證時,我們發現并修復了(或解決了)一些有趣的問題:

解析錯誤日志、mysqldump 輸出或服務器 show 命令的文本輸出的軟件很容易損壞。服務器輸出的細微變化常常會暴露出工具解析邏輯中的錯誤。

8.0 的默認 utf8mb4 排序規則設置導致 5.6 和 8.0 實例之間的排序規則不匹配。

8.0 表可能會使用新的 utf8mb4_0900 排序規則,即使對于由 5.6 的show create table生成的create語句也是如此,因為使用utf8mb4_general_ci 的 5.6 模式沒有顯式指定排序規則。

這些表差異通常會導致復制和模式驗證工具出現問題;某些復制失敗的錯誤代碼發生了變化,我們必須修復我們的自動化程序來正確處理它們。

8.0 版本的數據字典廢棄了 table.frm 文件,但是我們的一些自動化系統使用它們來檢測表模式的修改。

我們必須更新自動化系統,以支持 8.0 中引入的動態權限。

應用程序驗證

我們希望遷移對應用程序盡可能透明,但是有些應用程序的查詢會出現性能退化,或者在 8.0 上會失敗。

對于 MyRocks 遷移,我們構建了一個 MySQL 影子測試框架,該框架捕獲生產流量并將其重放到測試實例中。

對于每個應用程序工作負載,我們在 8.0 上創建了測試實例,并向它們回放影子流量的查詢。

我們捕獲并記錄了從 8.0 服務器返回的錯誤,并發現了一些有趣的問題。不幸的是,并非所有這些問題都是在測試過程中發現的。

例如,事務死鎖是應用程序在遷移過程中發現的。在研究不同的解決方案時,我們可以暫時將這些應用程序回滾到 5.6 版本。

8.0 引入了新的保留關鍵字,其中一些關鍵字,如 groups 和 rank,與應用程序查詢中常用的表列名或別名相沖突。這些查詢沒有通過反引號轉義名稱,導致解析錯誤。

使用了自動轉義查詢中列名的軟件庫的應用程序沒有遇到這些問題,但并非所有應用程序都使用這些軟件庫。

解決這個問題很簡單,但是需要時間來跟蹤生成這些查詢的應用程序屬主和代碼庫。

在 5.6 和 8.0 之間還發現了有些 REGEXP 不兼容。

一些包含在 InnoDB 上的 insert ... on duplicate key 查詢的應用程序遇到了 repeatable-read 事務死鎖。

5.6 有一個 bug,在 8.0 中得到了修復,但是修復增加了事務死鎖的可能性。

在分析了查詢之后,我們能夠通過降低隔離級別來解決該問題。這個選項對我們來說是可用的,因為我們已經切換到基于行的復制。

我們自定義的 5.6 文檔存儲和 JSON 函數與 8.0 不兼容。使用文檔存儲的應用程序需要將文檔類型轉換為文本以進行遷移。

對于 JSON 函數,我們向 8.0 服務器中添加了兼容 5.6 的版本,以便應用程序以后可以遷移到 8.0 API。

我們對 8.0 服務器的查詢和性能測試發現了一些需要立即解決的問題:

  • 我們發現在 ACL 緩存部分出現了新的互斥爭用熱點。當大量連接同時打開時,它們都會阻塞 ACL 檢查。
  • 當存在大量 binlog 文件并且 binlog 的高速寫入導致頻繁輪換文件時,binlog 索引訪問也發現了類似的爭用。
  • 幾個涉及臨時表的查詢被中斷。這些查詢會返回意外錯誤,或者運行時間太長以致超時。

內存使用量與 5.6 相比有所增加,特別是對于 MyRocks 實例,因為必須加載 8.0 中的 InnoDB 。

默認的 performance_schema 設置啟用了所有工具集并消耗了大量內存。我們限制了內存使用,只啟用了少量的工具,并對代碼進行了更改,以禁用無法手動關閉的表。

然而,并不是所有增加的內存都是分配給 performance_schema 的。我們需要檢查和修改各種 InnoDB 內部數據結構,以進一步減少內存占用。這一努力使 8.0 的內存使用率降到了可以接受的水平。

接下來的工作

到目前為止,8.0 的移植已經花了幾年時間。我們已將許多 InnoDB 副本集轉換為完全在 8.0 上運行。剩下的大部分都處于遷移途徑的不同階段。

現在,我們的大多數定制功能都已移植到 8.0,更新到 Oracle 的次版本相對容易些,我們計劃跟上最新版本的步伐。

跳過 5.7 這樣的主版本會帶來一些問題,我們的遷移需要解決這些問題。

首先,我們無法就地升級服務器,需要使用邏輯轉儲和還原來構建新服務器。

但是,對于非常大的 mysqld 實例,這可能需要在活躍生產服務器上運行很多天,而且這個脆弱的過程可能會在完成之前被中斷。對于這些大型實例,我們必須修改備份和恢復系統來應對重建。

其次,檢測 API 更改要困難得多,因為 5.7 可能會向我們的應用程序客戶端發出不推薦警告,以提示修復潛在的問題。

而我們需要在遷移生產工作負載之前,運行額外的影子測試來查找失敗。使用自動轉義模式對象名稱的 mysql 客戶端軟件,有助于減少兼容性問題的數量。

在一個副本集中支持兩個主版本非常困難。一旦副本集將其主實例升級為 8.0,最好盡快禁用并移除 5.6 實例。

應用程序用戶往往會發現只有 8.0 支持的新特性,比如 utf8mb4_0900 排序規則,使用這些排序規則可能中斷 8.0 和 5.6 實例之間的復制流。

盡管我們在遷移過程中遇到了種種障礙,但我們已經看到了運行 8.0 帶來的好處。

一些應用程序選擇了提早遷移到 8.0,以利用諸如文檔存儲和改進的日期時間支持等功能。

我們一直在考慮如何在 MyRocks 上支持像即時 DDL 這樣的存儲引擎特性。總的來說,新版本大大擴展了 MySQL@Facebook 的功能。

作者:Herman Lee,Pradeep Nayak,譯者:王雪迎

編輯:陶家龍

出處:轉載自公眾號CSDN(ID:CSDNnews)

鏈接:https://engineering.fb.com/2021/07/22/data-infrastructure/mysql/

 

責任編輯:武曉燕 來源: engineering.fb
相關推薦

2011-05-03 13:35:56

2013-05-20 10:39:55

MariaDB

2010-03-18 17:58:26

至強5500至強5600

2019-07-19 15:53:45

MySQL 5.7MySQL 8.0MySQL

2010-02-02 10:33:09

Linux升級系統

2013-03-14 14:52:51

Ubuntu12.10Ubuntu 13.0

2022-06-21 08:00:00

FreeBSD 12FreeBSD 13架構

2011-04-25 09:37:56

2009-06-15 14:35:04

JBoss4.0.5

2016-07-22 09:09:00

Linux Mint 升級Linux Mint

2013-08-20 15:48:50

Fedora 18Fedora 19

2021-10-11 14:59:43

Windows 10Windows 11微軟

2011-03-24 09:15:14

Ubuntu 11.0Linux 內核2.6

2019-05-14 15:55:15

Fedora 29Fedora 30Linux

2019-11-05 13:20:00

Fedora 30Fedora 31Linux

2020-05-08 17:55:35

Fedora 31Fedora 32Linux

2020-04-21 08:00:00

UbuntuLinux

2012-09-13 10:40:30

技術債務管理項目管理

2011-03-31 13:39:14

mysql3mysql5亂碼

2010-07-12 15:57:24

Exchange Se升級
點贊
收藏

51CTO技術棧公眾號

国产精选一区| 日本一区二区三区免费看| 影音先锋成人资源网站| 91精品又粗又猛又爽| 电影av在线| 免费萌白酱国产一区二区三区| 国产精品免费aⅴ片在线观看| 久久久之久亚州精品露出| 污色网站在线观看| 欧美女优在线| 精品9999| 日韩一区国产二区欧美三区| 亚洲欧美精品| 日本黄色中文字幕| 精品中文一区| 大荫蒂欧美视频另类xxxx| 丁香五月网久久综合| 国产女人18水真多毛片18精品 | 在线观看视频99| 99在线免费视频观看| 国产精品视频无码| 日本久久黄色| 欧美亚洲动漫另类| 欧美日韩精品免费观看| 国产又黄又爽又色| 香蕉一区二区| 欧美色播在线播放| 久久久久久欧美精品色一二三四| 精品视频久久久久| ccyy激情综合| 亚洲国产一区视频| 好看的日韩精品| 国产成人愉拍精品久久| 欧美大胆a级| 欧美一区二区网站| 欧美黑人在线观看| 免费国产精品视频| 中国女人久久久| 亚洲欧美国产视频| 91av在线免费播放| www在线免费观看| 麻豆一区二区在线| 欧美成人精品激情在线观看| 稀缺小u女呦精品呦| 欧洲亚洲精品久久久久| 亚洲欧美一区二区久久| 99久久久精品免费观看国产| 国产精品a成v人在线播放| 国产精品超碰| 色欧美88888久久久久久影院| 日韩精品一区二区三区色偷偷| 波多野结衣电车| 国产亚洲一区在线| 中国人与牲禽动交精品| 亚洲精品中文字幕乱码无线| 黄页网站大全在线免费观看| 91年精品国产| 国产在线高清精品| 日韩 国产 在线| 精品久久久久久久| 精品国产一区久久| 久久久久国产精品熟女影院| 国产成人午夜| 91美女片黄在线| 免费久久一级欧美特大黄| 一卡二卡三卡在线观看| 伊人影院久久| 性色av一区二区三区在线观看| 久久丫精品忘忧草西安产品| 国产一区二区三区免费观看在线| 午夜日韩在线观看| 伊人久久大香线蕉午夜av| 黄色一级大片在线免费看国产| 日日欢夜夜爽一区| 欧美黄色免费网站| 国产又黄又粗又猛又爽的| 国产精品videossex| 精品久久久久99| 日韩大片一区二区| а√天堂8资源中文在线| 国产精品美女一区二区在线观看| 天堂精品一区二区三区| 老牛影视av牛牛影视av| 成人av手机在线观看| 国产一区二区香蕉| 99久久国产热无码精品免费| 老妇喷水一区二区三区| 久久久久久一区二区三区 | 中文字幕精品一区| 国产亚洲福利社区| 国产视频一二三四区| 国产麻豆日韩欧美久久| 国产精品吊钟奶在线| 国产中文字字幕乱码无限| 亚洲精品乱码久久久久久蜜桃麻豆| 中文字幕亚洲第一| 杨钰莹一级淫片aaaaaa播放| 伊人成人在线视频| 国产成人97精品免费看片| 久久这里只有精品免费| 国产模特精品视频久久久久| 国产精品永久免费观看| 欧美videossex极品| 国产精品九九| 欧美激情视频网站| 精品不卡一区二区| 亚洲专区一区| 欧美亚洲国产另类| 日韩视频免费观看高清| 日韩高清不卡在线| 国产精品99久久久久久久| 国产制服91一区二区三区制服| 亚洲AV成人精品| 国产亚洲高清一区| 日韩精品免费在线视频| 久久久久麻豆v国产精华液好用吗| 国产95亚洲| 亚洲精品视频久久| 实拍女处破www免费看| 欧美一区二区三区红桃小说| 综合网中文字幕| av无码一区二区三区| 欧美a级成人淫片免费看| 日韩中文在线视频| 精品在线播放视频| 国产精品一区不卡| 婷婷久久青草热一区二区 | 首页亚洲中字| 欧美大片第1页| 国产麻豆免费视频| 国产精品久久精品日日| 婷婷久久伊人| 精品众筹模特私拍视频| 亚洲免费电影在线| 亚洲精品一区二区三区av| ririsao久久精品一区| 午夜成人免费电影| 久久综合桃花网| 一区二区在线免费播放| 精品久久99ma| 在线免费日韩av| 亚洲无线视频| 国产免费一区二区三区在线能观看 | 成人久久一区二区| 国产jzjzjz丝袜老师水多| 国产v综合v亚洲欧| 久久偷窥视频| 高清视频在线观看三级| 精品久久五月天| 欧美精品成人久久| 香蕉久久国产| 国产伦理久久久| 丁香在线视频| 在线观看国产精品网站| 超碰在线资源站| 日韩专区精品| 亚洲国产欧美日韩另类综合| 国产96在线 | 亚洲| 欧美极度另类| 91精品国产91久久久久久一区二区| 亚洲国产日韩一区无码精品久久久| 午夜在线播放视频欧美| 久久综合精品一区| 免费福利视频一区二区三区| 91麻豆精品国产91久久久使用方法 | 老牛嫩草一区二区三区日本| 欧美一区二区三区四区在线观看地址 | 国内偷自视频区视频综合| www.黄色片| 久久综合九色综合欧美就去吻| 亚洲国产欧洲综合997久久 | 成人疯狂猛交xxx| 日本中文字幕在线视频| 一区二区欧美精品| 久草精品在线播放| 夜色77av精品影院| 九九久久久久久久久激情| 亚洲欧美综合另类| 国产亚洲欧洲997久久综合| 草草草视频在线观看| 亚洲精品在线播放| 97av视频在线| 亚洲第一成年人网站| 国产亚洲欧洲997久久综合| 男女男精品视频站| 欧美在线三级| 国产精品偷伦视频免费观看国产 | 精品久久久久久久久久中文字幕| 秋霞国产精品| 日韩精品在线看| 一区二区视频免费| 久久免费视频色| 午夜久久久精品| 黄色成人在线网站| 日韩欧美亚洲v片| 4438全国亚洲精品观看视频| 日韩av片永久免费网站| 天堂在线视频观看| 一区二区三区国产精品| asian性开放少妇pics| 国产精品九九| 神马影院我不卡午夜| 亚洲超碰在线观看| 色在人av网站天堂精品| 色吊丝在线永久观看最新版本| 亚洲精品国产成人久久av盗摄| 欧美一级视频在线| 国产精品国产三级国产在线观看| 国产精品都在这里| 国产亚av手机在线观看| 亚洲最新av网址| 五月婷中文字幕| 天天操天天色综合| 免费的av网站| 国产原创一区二区| 欧美日韩亚洲国产成人| 四虎影视国产精品| 欧美亚洲在线播放| 超碰公开在线| 中文字幕亚洲无线码a| 天堂在线视频免费观看| 欧美一区二区三区在线视频 | 欧美日韩精品欧美日韩精品| 欧美偷拍一区二区三区| 久久婷婷一区| 五月丁香综合缴情六月小说| 99精品网站| 日本公妇乱淫免费视频一区三区| 卡一精品卡二卡三网站乱码 | 亚洲欧洲日本国产| 亚洲欧洲色图| 国产中文一区二区| 91精品久久久久久综合五月天| 国产精品一区二区三区免费视频| 国产精品粉嫩| 97人人爽人人喊人人模波多| 日韩三级电影视频| 亚洲国产婷婷香蕉久久久久久| 日韩三级视频在线| 亚洲国产一区二区在线播放| 欧美三级日本三级| 亚洲丝袜另类动漫二区| 国产精品久久久久久成人| 久久超碰97人人做人人爱| 中文字幕一区二区三区四区五区人| 亚洲妇女av| 免费av一区二区三区| 日韩动漫一区| 久久精品欧美| 免费一区二区| 欧美在线日韩精品| 红桃视频在线观看一区二区| 欧美日韩精品不卡| 国产成人一区二区三区影院| 欧美亚洲另类在线一区二区三区| 亚洲综合福利| 欧美日韩在线不卡一区| 成人激情开心网| 在线电影看在线一区二区三区| 91视频综合| 天堂av在线中文| 激情综合激情| 国产a级一级片| 97久久视频| 激情五月五月婷婷| 亚洲人成网www| 任我爽在线视频精品一| 不卡av一区二区| 吴梦梦av在线| 国语自产精品视频在线看8查询8| 日本手机在线视频| 丝袜亚洲另类欧美| xxxx在线免费观看| 国产ts人妖一区二区| 中文字幕一区二区三区乱码不卡| 久久综合久久鬼色中文字| 黄色激情小视频| 一区二区三区四区激情| 欧美日韩精品区| 欧美性欧美巨大黑白大战| 国产精品欧美久久久久天天影视| 日韩情涩欧美日韩视频| 五月天婷婷在线观看| 一个色综合导航| 黄色网页在线播放| 这里精品视频免费| 国产一二区在线| 韩国三级日本三级少妇99| 日日av拍夜夜添久久免费| 91精品成人久久| 日本一区免费网站| 超碰97在线人人| 国产乱码精品一区二区三区四区| 国产又黄又爽免费视频| 亚洲日本激情| 在线免费看污网站| 久久毛片高清国产| 麻豆视频在线观看| 在线观看日韩高清av| 亚洲不卡免费视频| 这里只有精品视频| freexxx性亚洲精品| 国产在线观看精品一区二区三区| 精品少妇3p| 艳母动漫在线免费观看| 国产精品毛片| 97免费公开视频| 国产精品小仙女| 免费黄色在线视频| 亚洲自拍偷拍综合| 中文字幕一区二区三区免费看| 亚洲护士老师的毛茸茸最新章节| 欧美成人xxx| 久久高清视频免费| 91精品论坛| 国产精品久久久对白| 久久综合国产| 能看的毛片网站| 91在线免费视频观看| 制服丝袜第二页| 2023国产精品| 精品无码人妻一区二区三| 欧美精品一二三| 国产高清免费观看| 国产亚洲精品久久久久久777| 成人午夜电影在线观看| 国内精品400部情侣激情| 国产精区一区二区| 亚洲高清不卡一区| 日日嗨av一区二区三区四区| 成人在线视频免费播放| 久久亚洲二区三区| 精品视频久久久久| 精品日韩一区二区三区| 成人日韩欧美| 国产主播欧美精品| 久久综合国产| 思思久久精品视频| 国产精品伦理一区二区| 少妇又紧又色又爽又刺激视频| 欧美日韩亚洲国产综合| 精品黑人一区二区三区在线观看 | 国产一区久久精品| 91免费精品视频| julia中文字幕一区二区99在线| 91香蕉视频网址| 精品一区二区日韩| 四虎影院中文字幕| 精品福利在线视频| 可以免费看毛片的网站| 97在线精品国自产拍中文| 电影一区二区在线观看| 日韩黄色短视频| 99精品国产99久久久久久白柏 | 久草资源在线观看| 成人激情视频在线播放| 亚洲国产精品综合久久久| 老太脱裤让老头玩ⅹxxxx| 波多野结衣亚洲一区| 在线观看国产亚洲| 亚洲热线99精品视频| 91cn在线观看| 日本久久精品视频| 国产精品一区2区3区| 爆乳熟妇一区二区三区霸乳| 亚洲国产精品av| 国产乱码久久久| 久久久久久久久久久免费精品| 国产精品香蕉| 精品一区二区中文字幕| 欧美激情中文不卡| 日韩av免费网址| 亚洲欧美日韩一区二区在线 | 亚洲a在线观看| 免费精品国产| www亚洲成人| 伊人色综合久久天天人手人婷| 男人天堂av网| 国产精品www色诱视频| 国产精品99久久| 免费黄色三级网站| 欧美综合色免费| 中文字幕在线观看播放| 久久精品中文字幕一区二区三区 | 日韩欧美精品网站| 幼a在线观看| 国产视频一区二区不卡| 肉丝袜脚交视频一区二区| 欧美做爰啪啪xxxⅹ性| 亚洲精品国精品久久99热| 成人国产精品一区二区免费麻豆 | 日韩精品永久网址| 亚洲少妇中文字幕| 亚洲人成网站色在线观看| 黄色成人一级片| 国产精品a久久久久久| 重囗味另类老妇506070| 中文字幕亚洲影院| 午夜精品爽啪视频| 免费黄网站在线|