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

MySQL 二進制日志 binlog 核心知識點小結

開發(fā)
本文將從MySQL二進制日志bin.log基本概念、工作機制和一些常見的運用場景角度展開探討,希望對你有幫助。

binlog的概念和基本作用

bin log實際上是一個物理日志,當我們對某個數(shù)據(jù)頁進行修改操作時我們就會將這個操作寫到bin log中,當我們數(shù)據(jù)庫需要進行主備、主從復制等操作時,都可以基于bin log保證數(shù)據(jù)一致性。

binlog緩沖區(qū)

bin log緩沖區(qū)和我們的redo log和undo log緩沖區(qū)有所不同,redo log和undo log緩存都在存儲引擎的共享緩沖區(qū)緩沖區(qū)buffer pool中,而bin log則是為每個工作線程獨立分配一個內(nèi)存作為bin log緩沖區(qū):

bin log之所以是在每個線程中,原因有二:

  • 考慮到mysql-server要求所有存儲引擎對于bin.log都是兼容。
  • 將bin_log_buffer設置在每個線程/事務中還能保證并發(fā)操作的性能,避免為各個線程爭搶臨界緩沖區(qū)的沖突導致并發(fā)性能下降。

binlog對應的三種記錄格式

row:這種格式主要用于保證數(shù)據(jù)實時性的,例如我們執(zhí)行下面這段SQL

update table set time=now() where id=1;

如果我們將其存到bin log之后很長一段時間才提交事務,那么時間就會有所延遲,所以MySQL為了保證數(shù)據(jù)實時性,就會將寫入bin log中的SQL用row格式,如下圖所示,可以看到row格式的SQL語句時間是當前時間的具體值,并且where條件寫死了當前條件列,確保數(shù)據(jù)實時一致性:

當然這樣做的缺點也很明顯,如果涉及大批量操作,那么針對每條數(shù)據(jù)對應的都會生成對應的row語句,那么對于內(nèi)存的占用就很高,進行恢復和同步時的IO和SQL執(zhí)行時間也是非常不友好的。

stament:這種同步策略即執(zhí)行的SQL是什么,對應傳輸過去的時對應的語句就是什么樣的,這就會導致我們上文所說的一致性問題:

mixed:這種格式就是為了上述兩種方案的混合體,如果操作可能出現(xiàn)數(shù)據(jù)不一致問題則用row格式,反之使用stament格式。

binlog文件日志格式

我們可以通過下面這條SQL語句看到我們本地的bin log文件:

show binary logs;

輸出結果如下所示,可以看到bin log的格式基本都是mysql-bin.0000xxx:

mysql-bin.001606 440052 No
mysql-bin.001607 111520 No

binlog是如何完成寫入

當我們開始事務時,將修改寫入bin log cache中,一旦事務提交,就會將bin log通過write寫入到文件系統(tǒng)緩存的page cache中,然后根據(jù)我們配置的刷盤參數(shù)將cache內(nèi)容調(diào)用操作系統(tǒng)內(nèi)核方法fsync將結果寫入到bin log 物理文件中:

而調(diào)用系統(tǒng)函數(shù)fsync的實際是根據(jù)MySQL系統(tǒng)參數(shù)決定的,這個系統(tǒng)變量查詢SQL如下:

SHOW VARIABLES LIKE 'sync_binlog';

而sync_binlog值分別三種:

  • 0.當配置為了0時,每次事務提交都只會write,fsync調(diào)用時機是由系統(tǒng)決定的。
  • 1.當配置設置為1時,每次事務提交都會調(diào)用fsync。
  • N. 當配置為N,代表提交了N個事務之后就會將page cache中的數(shù)據(jù)通過fsync進行刷盤。

binlog和redolog的區(qū)別

這個問題我們可以從以下幾個場景來表述一下:

從使用場景來說:

  • bin log常用于數(shù)據(jù)災備或數(shù)據(jù)同步到其他異構程序中的場景。
  • redo log常用于故障恢復保證數(shù)據(jù)持久性。

從數(shù)據(jù)內(nèi)容來說:

  • redo log存儲的物理日志,即修改的數(shù)據(jù)內(nèi)容,對應的redo block結構體針對各種偏移量和修改涉及的頁都有及其復雜的涉及,這里就不多做贅述。
  • bin log則是記錄可以是statment語句也可以是原生修改的row,具體可以通過查看binlog_format知曉。

生成范圍:

  • bin log是MySQL server生成的事務日志,任何存儲引擎都可以使用
  • redo log只有innodb這個存儲引擎支持。

(實踐)基于flink cdc訂閱binlog同步數(shù)據(jù)

接下來我們就基于spring boot演示一下如何基于flink cdc訂閱bin.log完成db庫中的tb_1和tb_2的數(shù)據(jù)訂閱和同步:

之所以筆者使用flink cdc而不是canel大體有以下幾個原因:

  • flink cdc支持全量和增量同步以及斷點續(xù)傳等功能,尤其是斷點續(xù)傳這一點對于需要保證異構數(shù)據(jù)庫的數(shù)據(jù)一致性是非常好的。
  • 性能表現(xiàn)更出色,按照阿里云的說法:

我們將全增量一體化框架與 Debezium 1.6 版本做 簡單的 TPC-DS 讀取測試對比,customer 單表數(shù)據(jù)量 6500 萬,在 Flink CDC 用 8 個并發(fā)的情況下,吞吐提升了 6.8 倍,耗時僅 13 分鐘,得益于并發(fā)讀取的支持,如果用戶需要更快的讀取速度,用戶可以增加并發(fā)實現(xiàn)。

話不說我們給出基礎的集成步驟,首先是引入flink cdc和MySQL的依賴,這里筆者為了文章的簡練只給出的flink cdc相關的pom依賴:

<properties>
        <flink.version>1.13.6</flink.version>
    </properties>


<dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-clients_2.12</artifactId>
            <version>${flink.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-java</artifactId>
            <version>${flink.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-streaming-java_2.12</artifactId>
            <version>${flink.version}</version>
        </dependency>
        <!--mysql -cdc-->
        <dependency>
            <groupId>com.ververica</groupId>
            <artifactId>flink-connector-mysql-cdc</artifactId>
            <version>2.0.0</version>
        </dependency>

然后我們在yml或者properties文件中給出MySQL配置即可,然后我們聲明一個CdcInfo記錄從bin.log中同步的數(shù)據(jù):

@Data
publicclass CdcInfo {
    /**
     * 變更前數(shù)據(jù)
     */
    private JSONObject beforeData;
    /**
     * 變更后數(shù)據(jù)
     */
    private JSONObject afterData;

    private String operation;
    /**
     * binlog 文件名
     */
    private String binLogName;
    /**
     * binlog當前讀取點位
     */
    private Integer filePos;
    /**
     * 數(shù)據(jù)庫名
     */
    private String dbName;
    /**
     * 表名
     */
    private String tbName;
    /**
     * 變更時間
     */
    private Long changeTime;

}

然后我們編寫一個關于bin.log通知事件的監(jiān)聽,針對flink cdc配置筆者都基于CommandLineRunner 這個拓展點完成配置,這里面涉及眾多的flink cdc配置參數(shù),可以看到筆者的程序同步模式配置的是initial即啟動后會進行全量同步再進行增量同步,同時通過表達式db.tb_[1-2]+指明僅僅處理tb_1和tb_2表的數(shù)據(jù)更新變化。

@Component
publicclass MysqlCdcEventListener implements CommandLineRunner {

    //數(shù)據(jù)接收器用于應用架構更改和將更改數(shù)據(jù)寫入外部系統(tǒng)
    privatefinal CdcSink cdcSink;

    public MysqlCdcEventListener(CdcSink cdcSink) {
        this.cdcSink = cdcSink;
    }


    @Override
    public void run(String... args) throws Exception {
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        //設置并行度
        env.setParallelism(Runtime.getRuntime().availableProcessors());


        DebeziumSourceFunction<CdcInfo> debeziumSource = buildDebeziumSource();


        DataStream<CdcInfo> streamSource = env
                .addSource(debeziumSource, "mysql-source")
                .setParallelism(1);
        //將流數(shù)據(jù)交給
        streamSource.addSink(cdcSink);
        env.execute("mysql-stream-cdc");
    }


    /**
     * 構造變更數(shù)據(jù)源
     */
    private DebeziumSourceFunction<CdcInfo> buildDebeziumSource() {

        Properties debeziumProperties = new Properties();
        //設置快照為無鎖
        debeziumProperties.put("snapshot.locking.mode", "none");

        return MySqlSource.<CdcInfo>builder()
                .hostname("xxxx")
                .port(3306)
                .databaseList("db")
                //監(jiān)聽db庫中的[1-2]表
                .tableList("db.tb_[1-2]+")
                .username("xxxx")
                .password("xxxx")
                //設置為 initial:在第一次啟動時對受監(jiān)視的數(shù)據(jù)庫表執(zhí)行初始快照,并繼續(xù)讀取最新的 binlog
                .startupOptions(StartupOptions.initial())
                //設置序列化配置
                .deserializer(new MysqlDeserialization())
                .serverTimeZone("GMT+8")
                .debeziumProperties(debeziumProperties)
                .build();
    }


}
  • 關于這些配置的信息建議讀者移步官方文檔的說明:https://nightlies.apache.org/flink/flink-cdc-docs-release-3.0/zh/
  • 相應的使用配置示例讀者也可以參考flink cdc對應的GitHub上的說明:https://github.com/gunnarmorling/flink-cdc-connectors

上文代碼示例中給出一個涉及反序列化生產(chǎn)CdcInfo的操作,筆者指明了MysqlDeserialization 這里也給出對應的源碼示例:

public class MysqlDeserialization implements DebeziumDeserializationSchema<CdcInfo> {

    publicstaticfinal String TS_MS = "ts_ms";
    publicstaticfinal String BIN_FILE = "file";
    publicstaticfinal String POS = "pos";
    publicstaticfinal String CREATE = "CREATE";
    publicstaticfinal String BEFORE = "before";
    publicstaticfinal String AFTER = "after";
    publicstaticfinal String SOURCE = "source";
    publicstaticfinal String UPDATE = "UPDATE";


    @Override
    public void deserialize(SourceRecord sourceRecord, Collector<CdcInfo> collector) {
        //獲取bin.log訂閱到的信息
        String topic = sourceRecord.topic();
        String[] fields = topic.split("\\.");
        String database = fields[1];
        String tableName = fields[2];
        Struct struct = (Struct) sourceRecord.value();
        final Struct source = struct.getStruct(SOURCE);
        CdcInfo tbCdcInfo = new CdcInfo();
        //獲取前后變化數(shù)據(jù)
        tbCdcInfo.setBeforeData(convert2JsonObj(struct, BEFORE));
        tbCdcInfo.setAfterData(convert2JsonObj(struct, AFTER));
        //5.獲取操作類型  CREATE UPDATE DELETE
        Envelope.Operation operation = Envelope.operationFor(sourceRecord);
        String type = operation.toString().toUpperCase();

        tbCdcInfo.setOperation(type);
        tbCdcInfo.setBinLogName(Optional.ofNullable(source.get(BIN_FILE)).map(Object::toString).orElse(""));
        tbCdcInfo.setFilePos(Optional.ofNullable(source.get(POS)).map(x -> Integer.parseInt(x.toString())).orElse(0));
        tbCdcInfo.setDbName(database);
        tbCdcInfo.setTbName(tableName);
        tbCdcInfo.setChangeTime(Optional.ofNullable(struct.get(TS_MS)).map(x -> Long.parseLong(x.toString())).orElseGet(System::currentTimeMillis));
        //7.輸出數(shù)據(jù)
        collector.collect(tbCdcInfo);
    }

    /**
     * 從原始數(shù)據(jù)獲取出變更之前或之后的數(shù)據(jù)
     */
    private JSONObject convert2JsonObj(Struct value, String fieldElement) {
        Struct element = value.getStruct(fieldElement);
        JSONObject jsonObject = new JSONObject();
        if (element != null) {
            Schema afterSchema = element.schema();
            List<Field> fieldList = afterSchema.fields();
            for (Field field : fieldList) {
                Object afterValue = element.get(field);
                jsonObject.put(field.name(), afterValue);
            }
        }
        return jsonObject;
    }


    @Override
    public TypeInformation<CdcInfo> getProducedType() {
        return TypeInformation.of(CdcInfo.class);
    }
}

此時我們啟動程序后針對數(shù)據(jù)表進行修改操作就會收到數(shù)據(jù)消息的訂閱了:

訂閱到的數(shù)據(jù):CdcInfo(beforeData={"id":1,"name":"xiaoming"}, afterData={"id":1,"name":"xiaoming1"}, operatinotallow=UPDATE, binLogName=binlog.000156, filePos=1256, dbName=db, tbName=tb_2, changeTime=1734622269654)
責任編輯:趙寧寧 來源: 寫代碼的SharkChili
相關推薦

2010-06-09 13:02:29

MySQL啟用二進制日

2010-10-13 15:45:23

MySQL二進制日志

2021-12-30 08:17:27

Springboot數(shù)據(jù)訪問DataSourceB

2025-01-07 14:10:46

SpringBoot開發(fā)Java

2020-11-06 00:50:16

JavaClassLoaderJVM

2021-01-15 08:35:49

Zookeeper

2025-05-19 10:00:00

MySQL數(shù)據(jù)庫InnoDB

2020-10-26 10:40:31

Axios前端攔截器

2021-01-06 13:52:19

zookeeper開源分布式

2024-11-04 09:00:00

Java開發(fā)

2025-03-26 11:30:40

2021-04-13 08:25:12

測試開發(fā)Java注解Spring

2024-04-23 14:25:16

Python備忘清單

2020-05-19 14:40:08

Linux互聯(lián)網(wǎng)核心

2018-08-21 10:05:59

MySQLbinlog數(shù)據(jù)庫

2025-05-07 08:55:00

2025-07-09 09:05:00

2014-08-06 10:10:52

MariaDB二進制日志

2022-10-29 08:55:19

頁面react

2018-03-12 14:33:49

數(shù)據(jù)庫MySQL日志
點贊
收藏

51CTO技術棧公眾號

精品久久网站| 欧美色国产精品| 第一福利永久视频精品| 26uuu国产精品视频| 欧美性猛交xxx乱久交| a级在线免费观看| 日韩精品免费播放| av高清在线免费观看| 东京热一区二区三区四区| 国产一区二区av在线| 国产人伦精品一区二区| 9.1国产丝袜在线观看| 免费黄色在线播放| 嫩草在线视频| 欧美重口另类| 1024国产精品| 亚洲美女福利视频网站| 五月丁香综合缴情六月小说| 黄色片在线免费观看| 免费日韩av片| 亚洲乱码国产乱码精品精天堂| 香港日本韩国三级网站| 亚洲成人三级| 九九久久精品视频| 久久精品视频中文字幕| 一级黄色录像在线观看| 国产网友自拍视频导航网站在线观看| 蜜臀久久99精品久久久久宅男| 一区二区三区回区在观看免费视频| 日本免费一级视频| 你懂的好爽在线观看| 日本麻豆一区二区三区视频| 国产亚洲精品激情久久| 亚洲成人福利在线| 超碰在线观看免费| 国产成人综合在线| 欧美激情小视频| 国产+高潮+白浆+无码| 成年女人在线看片| 久久久另类综合| 国产精品麻豆va在线播放| 亚洲自拍偷拍图| 欧美va在线观看| 国产精品久久久久久久久免费樱桃| 国产精品久久一| www.伊人久久| 日本欧美视频| 一本色道久久综合亚洲91| 日韩高清国产精品| 国产精品一区二区人人爽| 亚洲精品网址| 亚洲а∨天堂久久精品喷水| 自慰无码一区二区三区| 国产午夜在线观看| 国产电影一区在线| 成人女保姆的销魂服务| 伊人国产在线观看| 欧美日韩伦理| 国产一区二区三区视频| 精品无码人妻一区二区免费蜜桃| 美女精品一区最新中文字幕一区二区三区 | 欧美劲爆第一页| 久久一级黄色片| 久久不见久久见国语| 日韩大陆欧美高清视频区| 激情综合网俺也去| 秋霞国产精品| 亚洲一区影音先锋| 日韩精品一区二区三区四区五区| 日本在线视频1区| 韩日av一区二区| 91精品国产精品| 国产精品久久久久久久久久久久久久久久久 | 福利片一区二区| 五月天一区二区| 一本久道久久综合狠狠爱亚洲精品| 99视频国产精品免费观看a| 一本色道久久综合一区| 色偷偷噜噜噜亚洲男人| 亚洲天堂美女视频| 加勒比色综合久久久久久久久| 在线观看www91| 青青视频免费在线| 国产日产精品久久久久久婷婷| 国产日韩欧美一区二区三区综合| 成人av网站观看| 天天躁日日躁aaaa视频| 啪啪小视频网站| 精品毛片免费观看| 国产亚洲一级高清| 九九热这里有精品视频| 天天操夜夜操国产精品| 亚洲天堂久久av| youjizz.com日本| 成人在线视频www| 精品国产电影一区二区| x88av在线| 欧美三级视频| 欧美成人午夜免费视在线看片 | 一级黄色片免费| 先锋影音久久久| 国产精品人成电影| 免费看日韩av| 国产iv一区二区三区| 国产综合久久久久久久久久久久| 日韩亚洲欧美成人| 国产精品无码在线| 国产精品丝袜在线播放| 国产亚洲精品美女久久久| 日本天堂中文字幕| 欧美91福利在线观看| 久久精品中文字幕一区| 欧美另类一区二区| 国产精品女主播一区二区三区| 欧美精品电影在线| 欧美另类高清videos的特点| 不卡视频在线看| 精品无码久久久久国产| 天天操天天操天天干| 日本不卡在线| 国产精品网站在线| 亚洲国产另类久久久精品极度| 国产高清免费av在线| 亚洲国产一区二区三区 | 精品一区二区在线看| 美乳视频一区二区| 女人偷人在线视频| 一区二区三区在线免费视频| 国产欧美精品aaaaaa片| 国产激情视频在线| 欧美最新大片在线看| 美国黄色一级毛片| av中文字幕一区二区| 4438全国成人免费| 亚洲黄色a级片| 91在线看国产| 日韩欧美在线观看强乱免费| 91黄页在线观看| 色综合激情五月| 国产黄色三级网站| 136国产福利精品导航网址| 97久久精品人搡人人玩| 国产91国语对白在线| 成人av资源在线观看| 妺妺窝人体色www看人体| 日本一区二区乱| 日韩电影在线观看永久视频免费网站| 免费一级肉体全黄毛片| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲精品在线免费| 黄色精品视频网站| 精品国产乱码久久久久久久 | 亚洲精品国产a| 亚洲18在线看污www麻豆| 国产一区二区三区免费在线 | 麻豆久久久久久久| 91精品视频大全| 午夜福利一区二区三区| 国产精品美女久久久久久久久| 国风产精品一区二区| 91麻豆精品国产综合久久久| 亚洲黄色在线观看| 激情高潮到大叫狂喷水| 在线播放精品| 国产日韩在线一区| 天堂网在线资源| 欧美日韩免费看| 日本少妇xxxxx| 久久99久国产精品黄毛片色诱| 国产三级中文字幕| 成人影院入口| 欧美mv和日韩mv国产网站| 亚洲第一综合网| 精品一区二区三区免费视频| 免费成人进口网站| 国产精品15p| 欧洲精品在线视频| 亚洲AV无码精品自拍| 亚洲一区二区在线免费看| 18禁裸乳无遮挡啪啪无码免费| 最新国产精品| 久久国产精品-国产精品| 先锋成人av| 欧美日韩国产高清一区二区三区| 国产麻豆xxxvideo实拍| 久久综合九色| 欧美日韩国产精品一区二区| 波多一区二区| 日韩欧美在线影院| 成人三级视频在线观看| 成人久久视频在线观看| 国产树林野战在线播放| 国产成人精品亚洲线观看| 国产91色在线免费| 日本大臀精品| 911国产精品| 三级黄色录像视频| 美女视频黄久久| 久久av高潮av| 97se亚洲国产一区二区三区| 久久99久久亚洲国产| 国产精品一区二区黑人巨大| 午夜不卡在线视频| 日本少妇xxxx| 美女一区二区视频| 91视频 -- 69xx| 永久亚洲成a人片777777| 91久久久久久国产精品| 日韩激情电影| 亚洲男女性事视频| 999国产精品视频免费| 亚洲欧美在线另类| 国产精品无码一区二区三区免费 | 婷婷综合另类小说色区| 久久久久久久久久97| 久久奇米777| 黄色片一级视频| 欧美在线日韩| 一本久道久久综合| 欧美美女视频| 欧美日韩无遮挡| 久久精品66| 97影院在线午夜| av在线资源| 欧美大片在线看| 亚洲三区在线播放| 日韩欧美一区在线观看| 日韩 欧美 精品| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 国产精品视频大全| 欧美日韩精品免费观看视完整| 亚洲人成网7777777国产| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 久草视频视频在线播放| 亚洲高清色综合| 影音先锋在线国产| 亚洲第一av色| 亚洲精品乱码久久| 国产超碰在线一区| 手机精品视频在线| 99精品免费网| 免费不卡av在线| 国产精品99一区二区| 国产欧美久久久久| 欧美精品一卡| 日韩在线视频在线| 狠狠爱成人网| 免费国产在线精品一区二区三区| 国产精品xxx在线观看| 国产一区二区无遮挡| av免费在线一区| 日韩av电影中文字幕| xx欧美xxx| 国产精品久久久久久av福利| 国产精品实拍| 久久国产加勒比精品无码| av大大超碰在线| 日韩av综合网站| 青青免费在线视频| 亚洲色图日韩av| h视频网站在线观看| 日韩视频免费观看高清完整版在线观看 | 亚洲国产精品国自产拍av秋霞| 色网站免费观看| 亚洲欧美另类人妖| 91欧美在线视频| 精品国产免费久久| 午夜视频福利在线观看| 亚洲美腿欧美激情另类| 淫片在线观看| 欧美日本国产在线| 亚洲欧美小说色综合小说一区| 超碰日本道色综合久久综合| 免费在线国产| 色哟哟入口国产精品| 欧美草逼视频| 久久伊人免费视频| 丰乳肥臀在线| 日韩av日韩在线观看| 96视频在线观看欧美| 国产高清精品一区二区| 国产精品高清一区二区| 国产色综合一区二区三区| 国产99亚洲| 国产精品麻豆免费版| 成人豆花视频| 精品国产综合| 首页国产精品| 亚洲春色在线| 亚洲高清激情| 天天爽夜夜爽一区二区三区| 成人网页在线观看| 69xxx免费| 中文字幕巨乱亚洲| 精品少妇theporn| 欧美午夜电影网| 欧美视频xxxx| 精品国产一区二区三区四区四| 国产在线观看网站| 欧美激情视频在线免费观看 欧美视频免费一 | 日韩a在线观看| 免费91在线视频| 日本一区二区三区视频在线| 国产精品久久久久久久久婷婷 | 2024国产精品| 一级黄色录像视频| 欧美日韩一二三区| 青青草超碰在线| 久久久久久久久久久国产| 激情久久一区二区| 欧美一区二区三区四区在线观看地址| 久久久免费毛片| 黄色一级视频播放| 日韩电影在线观看电影| 亚洲77777| 久久午夜电影网| 日本黄色片视频| 色94色欧美sute亚洲线路一ni| 久久精品99北条麻妃| 亚洲激情视频在线观看| 亚洲综合伊人久久大杳蕉| 国产欧洲精品视频| 狠狠做深爱婷婷综合一区| 黄色动漫网站入口| 男男视频亚洲欧美| 久久精品国产亚洲av麻豆| 亚洲福利一二三区| 亚洲av无码乱码在线观看性色| www.日韩.com| 欧美视频在线视频精品| 日本一区二区精品| 午夜在线播放视频欧美| 少妇饥渴放荡91麻豆| 午夜精品福利一区二区蜜股av| 亚洲精品久久久久久久久久久久久久 | 亚洲激情亚洲| 北京富婆泄欲对白| 久久精品欧美日韩精品| 中文字幕亚洲高清| 亚洲国产精品久久久久秋霞蜜臀 | 91精品久久久久久久久久另类| 国产精品午夜一区二区三区| 欧美污视频网站| 久久久激情视频| 中文天堂在线资源| 日韩亚洲欧美中文三级| 里番在线观看网站| 91在线网站视频| 精品自拍偷拍| 2018日日夜夜| www日韩大片| 最近中文字幕在线观看| 中文字幕精品—区二区| 欧美另类tv| 成人欧美一区二区三区在线观看| 欧美日本精品| xxxxxx黄色| 日本久久电影网| 欧美激情视频在线播放| 91在线中文字幕| 伊人久久亚洲热| 免费无码一区二区三区| 色狠狠色狠狠综合| 天堂中文а√在线| 91九色在线观看| 一区二区91| a资源在线观看| 欧美一级专区免费大片| 国产69久久| 成人黄色av播放免费| 欧美日韩专区| 成年人网站免费在线观看| 欧美日韩一区二区在线观看视频| 国产精品剧情一区二区在线观看| 高清免费日韩| 日韩中文字幕麻豆| 欧美成人三级视频| 日韩精品在线视频美女| 欧美videossex| 欧美成人一区二区在线| 久国产精品韩国三级视频| 欧美日韩成人免费观看| 亚洲欧美日韩精品久久| 成人日韩视频| 国产av天堂无码一区二区三区| 国产很黄免费观看久久| 日本天堂在线视频| 中文字幕日韩欧美在线| 国产 日韩 欧美 综合 一区| 又色又爽又高潮免费视频国产| 亚洲精品中文在线| 在线视频你懂得| 中文字幕日韩av综合精品| 9999久久久久| 中文字幕第100页| 亚洲国产综合91精品麻豆| av中文字幕一区二区三区| 国产精品sss| 久久电影网站中文字幕| 欧美福利视频一区二区|