午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > MySQL Shell的介紹以及安裝

MySQL Shell的介紹以及安裝

熱門標簽:400電話辦理服務價格最實惠 html地圖標注并導航 400電話變更申請 催天下外呼系統 北京金倫外呼系統 武漢電銷機器人電話 呂梁外呼系統 大豐地圖標注app 南太平洋地圖標注

01 ReplicaSet的架構

    前面的文章中,我們說了ReplicaSet的基本概念和限制以及部署前的基本知識。今天我們來看InnoDB ReplicaSet部署過程中的兩個重要組件之一的MySQL Shell,為了更好的理解MySQL Shell,畫了一張圖,如下:  

通過上面的圖,不難看出,MySQL Shell是運維人員管理底層MySQL節點的入口,也就是DBA執行管理命令的地方,而MySQL Router是應用程序連接的入口,它的存在,讓底層的架構對應用程序透明,應用程序只需要連接MySQL Router就可以和底層的數據庫打交道,而數據庫的主從架構,都是記錄在MySQL Router的原信息里面的。

今天,我們主要來看MySQL Shell的搭建過程。

02 MySQL Shell的介紹以及安裝

   MySQL Shel是一個客戶端工具,用于管理Innodb Cluster或者Innodb ReplicaSet,可以簡單理解成ReplicaSet的一個入口。

    它的安裝過程比較簡單:在MySQL官網下載對應版本的MySQL Shell即可。地址如下:

https://downloads.mysql.com/archives/shell/

這里使用8.0.20版本

下載完畢之后,在Linux服務器進行解壓,然后就可以通過這個MySQL Shell來連接線上的MySQL服務了。

我的線上MySQL地址分別是:

192.168.1.10  5607

192.168.1.20  5607

可以直接通過下面的命令來連接MySQL服務:

/usr/local/mysql-shell-8.0.20/bin/mysqlsh '$user'@'$host':$port --password=$pass

成功連接之后的日志如下:

MySQL Shell 8.0.20

Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\&;' for help; '\quit' to exit.
WARNING: Using a password on the command line interface can be insecure.
Creating a session to 'superdba@10.185.13.195:5607'
Fetching schema names for autocompletion... Press ^C to stop.
Your MySQL connection id is 831
Server version: 8.0.19 MySQL Community Server - GPL
No default schema selected; type \use schema> to set one.
 MySQL  192.168.1.10:5607 ssl  JS > 
 MySQL  192.168.1.10:5607 ssl  JS > 
 MySQL  192.168.1.10:5607 ssl  JS > 
 MySQL  192.168.1.10:5607 ssl  JS > 

03 MySQL Shell連接數據庫并創建ReplicaSet

   上面已經介紹了使用MySQL Shell連接數據庫的方法了,現在我們來看利用MySQL Shell來創建ReplicaSet的方法:

1、首先使用dba.configureReplicaSetInstance命令來配置副本集,并創建副本集的管理員。

MySQL  192.168.1.10:5607 ssl  JS > dba.configureReplicaSetInstance('root@192.168.1.10:5607',{clusterAdmin:"'rsadmin'@'%'"})
Configuring MySQL instance at 192.168.1.10:5607 for use in an InnoDB ReplicaSet...

This instance reports its own address as 192.168.1.10:5607
WARNING: User 'rsadmin'@'%' already exists and will not be created. However, it is missing privileges.
The account 'rsadmin'@'%' is missing privileges required to manage an InnoDB cluster:
GRANT REPLICATION_APPLIER ON *.* TO 'rsadmin'@'%' WITH GRANT OPTION;
Dba.configureReplicaSetInstance: The account 'root'@'192.168.1.10' is missing privileges required to manage an InnoDB cluster. (RuntimeError)

可以看到,上面的命令中,我們配置了副本集的一個實例:192.168.1.10:5607,并創建了一個管理員賬號rsadmin,同時這個管理員擁有clusterAdmin的權限。

返回的結果中,有一個報錯信息,它提示我們登陸的root賬號少了replication_applier的權限,因此無法使用root賬號對rsadmin賬號授權。我們給root賬號補充replication_applier權限之后,重新執行上面的命令,結果如下:

MySQL  192.168.1.10:5607 ssl  JS > dba.configureReplicaSetInstance('root@192.168.1.10:5607',{clusterAdmin:"'rsadmin'@'%'"})
Configuring MySQL instance at 192.168.1.10:5607 for use in an InnoDB ReplicaSet...

This instance reports its own address as 192.168.1.10:5607
User 'rsadmin'@'%' already exists and will not be created.

The instance '192.168.1.10:5607' is valid to be used in an InnoDB ReplicaSet.

The instance '192.168.1.10:5607' is already ready to be used in an InnoDB ReplicaSet.

這次執行成功了。

我們登陸到底層的192.168.1.10上,查看rsadmin賬號,可以發現,賬號已經生成了,信息如下:

select user,host,concat(user,"@'",host,"'"),authentication_string from mysql.user where user like "%%rsadmin";
+---------+------+----------------------------+-------------------------------------------+
| user    | host | concat(user,"@'",host,"'") | authentication_string                     |
+---------+------+----------------------------+-------------------------------------------+
| rsadmin | %    | rsadmin@'%'                | *2090992BE9B9B27D89906C6CB13A8512DF49E439 |
+---------+------+----------------------------+-------------------------------------------+
1 row in set (0.00 sec)

show grants for  rsadmin@'%';
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for rsadmin@%                                                                                                                                                                                                                                                        |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, RELOAD, SHUTDOWN, PROCESS, FILE, SUPER, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE USER ON *.* TO `rsadmin`@`%` WITH GRANT OPTION                                                                                                                 |
| GRANT BACKUP_ADMIN,CLONE_ADMIN,PERSIST_RO_VARIABLES_ADMIN,SYSTEM_VARIABLES_ADMIN ON *.* TO `rsadmin`@`%` WITH GRANT OPTION                                                                                                                                                  |
| GRANT INSERT, UPDATE, DELETE ON `mysql`.* TO `rsadmin`@`%` WITH GRANT OPTION                                                                                                                                                                                                |
| GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `mysql_innodb_cluster_metadata`.* TO `rsadmin`@`%` WITH GRANT OPTION          |
| GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `mysql_innodb_cluster_metadata_bkp`.* TO `rsadmin`@`%` WITH GRANT OPTION      |
| GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `mysql_innodb_cluster_metadata_previous`.* TO `rsadmin`@`%` WITH GRANT OPTION |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
6 rows in set (0.00 sec)

注意,如果我們加入的副本集實例是當前連接的實例,那么也可以使用簡單的寫法:

dba.configureReplicaSetInstance('',{clusterAdmin:"'rsadmin'@'%'"})

2、使用dba.createReplicaSet命令創建副本集,并將結果保存在一個變量里面,如下:

MySQL  192.168.1.10:5607 ssl  JS > var rs = dba.createReplicaSet("yeyz_test")
A new replicaset with instance '192.168.1.10:5607' will be created.

* Checking MySQL instance at 192.168.1.10:5607

This instance reports its own address as 192.168.1.10:5607
192.168.1.10:5607: Instance configuration is suitable.

* Updating metadata...

ReplicaSet object successfully created for 192.168.1.10:5607.
Use rs.addInstance() to add more asynchronously replicated instances to this replicaset and rs.status() to check its status.

可以看到,我們創建了一個yeyz_test的副本集,并將結果保存在變量rs當中。

3、使用rs.status()查看當前的副本集成員

MySQL  192.168.1.10:5607 ssl  JS > rs.status()
{
    "replicaSet": {
        "name": "yeyz_test",
        "primary": "192.168.1.10:5607",
        "status": "AVAILABLE",
        "statusText": "All instances available.",
        "topology": {
            "192.168.1.10:5607": {
                "address": "192.168.1.10:5607",
                "instanceRole": "PRIMARY",
                "mode": "R/W",
                "status": "ONLINE"
            }
        },
        "type": "ASYNC"
    }
}

這里面,可以看到,當前ReplicaSet里面已經有192.168.1.10:5607這個實例的,他的狀態是available,他的角色是Primary。

4、此時我們使用rs.addInstance命令加入第2個節點,并使用rs.status查看狀態。

這里需要注意,加入第二個節點的時候,有一個數據同步的過程,這個數據同步有2中策略:

策略一:全量恢復

使用MySQL Clone組件,然后使用克隆快照來覆蓋新實例上面的所有數據。這種方法非常適合空白實例加入到Innodb 副本集中。

策略二:增量恢復

它依賴MySQL的復制功能,將所有的丟失的事務復制到新實例上,如果新實例上的事務很少,則這個過程會很快。這個方法需要保證集群中至少存在一個實例,它保存了這些缺失事務的binlog,如果缺失的事務的binlog已經清理,則這個方法不能使用。

當一個實例加入一個集群的時候,MySQL Shell會自動嘗試挑選一個合適的策略來同步數據,不需要人為干預,如果它無法安全的選擇同步方法,則會提供給DBA一個選項,讓你選擇是通過Clone或者增量同步的方法來實現數據同步。

下面的例子中,就是通過自動選擇增量同步的方法來同步數據的:

MySQL  192.168.1.10:5607 ssl  JS > rs.addInstance("192.168.1.20:5607")
WARNING: Concurrent execution of ReplicaSet operations is not supported because the required MySQL lock service UDFs could not be installed on instance '10.41.28.127:5607'.
Make sure the MySQL lock service plugin is available on all instances if you want to be able to execute some operations at the same time. The operation will continue without concurrent execution support.

Adding instance to the replicaset...

* Performing validation checks

This instance reports its own address as 192.168.1.20:5607
192.168.1.20:5607: Instance configuration is suitable.

* Checking async replication topology...

* Checking transaction state of the instance...
The safest and most convenient way to provision a new instance is through automatic clone provisioning, which will completely overwrite the state of '192.168.1.20:5607' with a physical snapshot from an existing replicaset member. To use this method by default, set the 'recoveryMethod' option to 'clone'.

WARNING: It should be safe to rely on replication to incrementally recover the state of the new instance if you are sure all updates ever executed in the replicaset were done with GTIDs enabled, there are no purged transactions and the new instance contains the same GTID set as the replicaset or a subset of it. To use this method by default, set the 'recoveryMethod' option to 'incremental'.

Incremental state recovery was selected because it seems to be safely usable.

* Updating topology
** Configuring 192.168.1.20:5607 to replicate from 192.168.1.10:5607
** Waiting for new instance to synchronize with PRIMARY...

The instance '192.168.1.20:5607' was added to the replicaset and is replicating from 192.168.1.20:5607.

MySQL  192.168.1.10:5607 ssl  JS >
MySQL  192.168.1.10:5607 ssl  JS > rs.status()
{
    "replicaSet": {
        "name": "yeyz_test",
        "primary": "192.168.1.10:5607",
        "status": "AVAILABLE",
        "statusText": "All instances available.",
        "topology": {
            "192.168.1.10:5607": {
                "address": "192.168.1.10:5607",
                "instanceRole": "PRIMARY",
                "mode": "R/W",
                "status": "ONLINE"
            },
            "192.168.1.20:5607": {
                "address": "192.168.1.20:5607",
                "instanceRole": "SECONDARY",
                "mode": "R/O",
                "replication": {
                    "applierStatus": "APPLIED_ALL",
                    "applierThreadState": "Slave has read all relay log; waiting for more updates",
                    "receiverStatus": "ON",
                    "receiverThreadState": "Waiting for master to send event",
                    "replicationLag": null
                },
                "status": "ONLINE"
            }
        },
        "type": "ASYNC"
    }
}

加入第二個節點之后,可以看到,再次使用rs.status來查看副本集的結構,可以看到Secondary節點已經出現了,就是我們新加入的192.168.1.20:5607

當然我們可以分別使用下面的命令查看更詳細的輸出:

rs.status({extended:0})

rs.status({extended:1})

rs.status({extended:2})

不同的級別,顯示的信息有所不同,等級越高,信息約詳細。

這里不得不說一個小的bug,官方文檔建議寫法是:

ReplicaSet.status(extended=1)

原文如下:

The output of ReplicaSet.status(extended=1) is very similar to Cluster.status(extended=1), but the main difference is that the replication field is always available because InnoDB ReplicaSet relies on MySQL Replication all of the time, unlike InnoDB Cluster which uses it during incremental recovery. For more information on the fields, see Checking a cluster's Status with Cluster.status().

但是實際操作過程中,這種寫法會報錯,如下:

MySQL  192.168.1.10:5607 ssl  JS > sh.status(extended=1)
You are connected to a member of replicaset 'yeyz_test'.
ReplicaSet.status: Argument #1 is expected to be a map (ArgumentError)

不知道算不算一個bug。

5.搭建好副本集之后,查看primary節點的元信息庫表,并在primary寫入數據,查看數據是否可以同步。

[(none)] 17:41:10>show databases;
+-------------------------------+
| Database                      |
+-------------------------------+
| information_schema            |
| mysql                         |
| mysql_innodb_cluster_metadata |
| performance_schema            |
| sys                           |
| zjmdmm                        |
+-------------------------------+
6 rows in set (0.01 sec)

[(none)] 17:41:29>use mysql_innodb_cluster_metadata
Database changed
[mysql_innodb_cluster_metadata] 17:45:12>show tables;
+-----------------------------------------+
| Tables_in_mysql_innodb_cluster_metadata |
+-----------------------------------------+
| async_cluster_members                   |
| async_cluster_views                     |
| clusters                                |
| instances                               |
| router_rest_accounts                    |
| routers                                 |
| schema_version                          |
| v2_ar_clusters                          |
| v2_ar_members                           |
| v2_clusters                             |
| v2_gr_clusters                          |
| v2_instances                            |
| v2_router_rest_accounts                 |
| v2_routers                              |
| v2_this_instance                        |
+-----------------------------------------+
15 rows in set (0.00 sec)

[mysql_innodb_cluster_metadata] 17:45:45>select * from routers;
Empty set (0.00 sec)

[(none)] 17:45:52>create database yeyazhou;
Query OK, 1 row affected (0.00 sec)

可以看到,Primary節點上有一個元信息數據庫mysql_innodb_cluster_metadata,里面保存了一些原信息,我們查看了router表,發現里面沒有數據,原因是我們沒有配置MySQL Router。后面的文章中會寫到MySQL Router的配置過程。

    在Primary上創建一個數據庫yeyazhou,可以發現,在從庫上也已經出現了對應的DB,

192.168.1.20 [(none)] 17:41:41>show databases;
+-------------------------------+
| Database                      |
+-------------------------------+
| information_schema            |
| mysql                         |
| mysql_innodb_cluster_metadata |
| performance_schema            |
| sys                           |
| yeyazhou                      |
| zjmdmm                        |
+-------------------------------+
7 rows in set (0.00 sec)

說明副本集的復制關系無誤。

至此,整個MySQL Shell連接MySQL實例并創建ReplicatSet的過程搭建完畢。

下一篇文章講述MySQL Router的搭建過程,以及如何使用MySQL Router來訪問底層的數據庫。

以上就是MySQL Shell的介紹以及安裝的詳細內容,更多關于MySQL Shell的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • 監控MySQL主從狀態的shell腳本
  • shell腳本一鍵安裝MySQL5.7.29的方法
  • mysql常用備份命令和shell備份腳本分享
  • shell腳本定時備份MySQL數據庫數據并保留指定時間
  • shell腳本自動化創建虛擬機的基本配置之tomcat--mysql--jdk--maven
  • shell腳本實現mysql定時備份、刪除、恢復功能
  • 一個Shell小腳本精準統計Mysql每張表的行數實現
  • 通過Shell腳本批量創建服務器上的MySQL數據庫賬號
  • 使用shell腳本來給mysql加索引的方法
  • 干掉一堆mysql數據庫,僅需這樣一個shell腳本(推薦)
  • 使用shell腳本每天對MySQL多個數據庫自動備份的講解

標簽:南充 迪慶 龍巖 西寧 麗水 無錫 自貢 徐州

巨人網絡通訊聲明:本文標題《MySQL Shell的介紹以及安裝》,本文關鍵詞  MySQL,amp,nbsp,Shell,的,介紹,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL Shell的介紹以及安裝》相關的同類信息!
  • 本頁收集關于MySQL Shell的介紹以及安裝的相關信息資訊供網民參考!
  • 推薦文章
    日韩在线中文字幕| 91精品国产综合久久精品麻豆| 多男操一女视频| 成人精品一区二区三区电影黑人| 亚洲欧洲美洲综合色网| 国产第一页浮力| 欧美人与物videos另类| 欧美一卡二卡三卡| 日韩高清一级片| 性折磨bdsm欧美激情另类| 国产曰批免费观看久久久| 亚洲直播在线一区| 欧美在线影院一区二区| 不卡av中文字幕| 午夜免费福利视频在线观看| 91国内在线视频| 亚洲精品日韩一| 国产精品人人妻人人爽| 97超碰青青草| 亚洲97在线观看| 亚洲成人午夜电影| 丁香六月色婷婷| 亚洲视频 中文字幕| 国产美女久久精品| 精品av在线播放| 亚洲第一第二区| 国产成人在线观看网站| 一区二区精品免费视频| 亚洲精品ady| 成人在线电影网站| 国产精品第七十二页| 97久久精品人人做人人爽50路 | 成年人视频在线免费| 青青久久av北条麻妃海外网| 欧美国产激情一区二区三区蜜月| 日韩av片在线播放| 日韩欧美三级电影| 91精品国产综合久久久久久漫画| 久色婷婷小香蕉久久| 97成人资源站| 免费观看日韩毛片| 91精品久久久久久久久久久久久久| 欧美日韩亚洲另类| 老司机精品视频导航| 久草免费新视频| 北条麻妃在线视频| 亚洲综合av影视| 亚洲精品自拍第一页| 亚洲欧美综合另类在线卡通| 乌克兰美女av| 韩日精品中文字幕| 欧美白人最猛性xxxxx69交| 欧美国产亚洲另类动漫| 久久香蕉精品| 久久精品视频8| 国产国语老龄妇女a片| 欧美日韩午夜爽爽| av免费观看久久| 美日韩丰满少妇在线观看| 欧美精品亚洲一区二区在线播放| 久久久久成人黄色影片| 亚洲色图欧美视频| 91蜜桃视频在线观看| a天堂视频在线观看| 国产91在线视频观看| 国产精品一区二区三区在线 | 免费一级a毛片| 亚洲精品91在线| 午夜av中文字幕| 日韩小视频在线| 亚洲人亚洲人成电影网站色| 99久久一区二区| 欧美日韩激情在线观看| 国产aaaaa毛片| 久久国产精品一区二区三区| 国产精品久久久久77777| 乱亲女秽乱长久久久| 国产网站欧美日韩免费精品在线观看| 国产欧美精品国产国产专区| 久久精品国产精品青草| 国产视频在线观看视频| 久久青青草视频| 精品无码人妻一区二区免费蜜桃 | 午夜性福利视频| 国产一级不卡毛片| 日本免费高清一区二区| 91高潮在线观看| 免费av一区二区| 日韩精品在线一区| 欧美视频日韩视频| 色8久久精品久久久久久蜜| 毛片视频网站在线观看| 公肉吊粗大爽色翁浪妇视频| 国产精品第七页| 国产精品边吃奶边做爽| 疯狂揉花蒂控制高潮h| 日本japanese极品少妇| 最近中文字幕无免费| 黄色录像a级片| 91视频免费观看网站| 添女人荫蒂视频| 色婷婷国产精品免| 在线免费看av网站| 国产一级淫片a| 中文字幕高清在线免费播放| 中文字幕第三页| a级片在线视频| 久久久久国产精品一区二区| 男男视频亚洲欧美| 丁香网亚洲国际| 99精品视频在线免费观看| 日本一区二区不卡视频| 亚洲午夜免费电影| 欧美在线短视频| 日韩欧美国产三级| 久久在线91| 国产乱码字幕精品高清av| 97精品电影院| 亚洲国产精品尤物yw在线观看| 欧美性黄网官网| 欧美大胆a视频| 国产精品一区二区久久国产| 好看的日韩精品视频在线| www.日韩系列| 久久久欧美一区二区| 成人中文字幕+乱码+中文字幕| 日韩免费观看高清| 国产一区二区三区黄| 91xxx视频| 亚洲视频第二页| 真人bbbbbbbbb毛片| 亚洲男人在线天堂| 欧美一级爱爱| 青青久久av北条麻妃海外网| 成人高清在线观看| 青青草综合在线| 亚洲欧洲日韩综合| 国产精品第九页| 精品国自产拍在线观看| 亚洲黄色在线免费观看| 国产成人综合亚洲网站| 天天干天天色综合| 国产成人自拍偷拍| 秋霞电影网一区二区| 国产人成一区二区三区影院| 色综合久久久久综合体| 精品视频在线播放色网色视频| 国内自拍欧美激情| 欧美一进一出视频| 在线黄色免费观看| 日本青青草视频| 99re只有精品| 久久精品在线免费观看| 91国产成人在线| 久久成人av网站| 国产专区一区二区| 日本中文字幕二区| 青草草在线视频| 蜜桃视频一区二区| 一区二区不卡在线播放| 欧美另类精品xxxx孕妇| 日本国产精品视频| 97精品国产97久久久久久粉红| 四虎精品一区二区| 91theporn国产在线观看| 少妇精品一区二区三区| 久久这里只有精品国产| 国内一区二区在线| 色狠狠综合天天综合综合| 亚洲国产一区二区三区四区| 国产999在线观看| 国产精品久久..4399| 999精品在线视频| 免费看精品久久片| 色婷婷综合久色| 国产成人激情视频| 香港三级日本三级a视频| 国产jizz18女人高潮| 麻豆传媒一区二区三区| 亚洲成人精品一区| 视频在线观看99| 久久久久久久综合色一本| 欧美国产欧美综合| 一区二区日韩精品| 伊人网在线免费| 久青草免费视频| 国产日韩视频一区二区三区| 伊人av综合网| 国产在线xxxx| 国产黄网在线观看| 午夜不卡在线视频| 亚洲丝袜美腿综合| 久久久久久久久久av| 丰满爆乳一区二区三区| 国产绿帽一区二区三区| 夜夜嗨av一区二区三区免费区 | 国产精品一卡二卡在线观看| 亚洲国产视频网站| 911国产网站尤物在线观看| 一区二区三区国产免费| 91青青草视频| 亚洲免费在线观看视频| 久久韩国免费视频| 国产免费成人在线| 亚洲欧美激情国产综合久久久| 欧美视频一区二区三区在线观看| 91精品久久久久久久久| 国产v亚洲v天堂无码| 久久久久福利视频| 国产精品人人爽| 欧美视频在线不卡| 美脚丝袜一区二区三区在线观看| 91成人精品一区二区| 久久综合九色欧美综合狠狠 | 日日夜夜精品视频免费观看| 九九国产精品视频| 韩国国内大量揄拍精品视频| 久久美女免费视频| 成人激情免费网站| 久久中文字幕在线视频| 久久久噜噜噜www成人网| 最近中文字幕在线免费观看| 国产精品久久777777| 欧美成人sm免费视频| 亚洲ai欧洲av| 免费在线不卡av| 在线不卡欧美精品一区二区三区| 欧美日韩国产精品一区二区| 青青草手机在线观看| 樱花草国产18久久久久| 91免费观看| 99精品视频99| 欧美一二三区在线观看| 久久久精品一区二区| 日韩精品视频在线观看视频| 亚洲人午夜射精精品日韩| 久久九九热免费视频| 深夜福利网站在线观看| 99re这里只有精品视频首页| 国产欧美一区二区白浆黑人| 免费人成在线观看| 欧美色视频日本版| 亚洲欧洲在线一区| 热久久免费视频| 国产精品福利片| 五月天婷婷网站| 欧美成人三级电影在线| 两性午夜免费视频| 综合久久一区二区三区| 久久久一本精品99久久精品66 | 视频免费在线观看| 亚洲精品高清视频在线观看| 亚洲激情一区二区| 日韩成人一区二区三区在线观看| 欧美裸身视频免费观看| 国产极品视频在线观看| 欧美日韩精品欧美日韩精品一| av动漫免费看| 国产精品免费丝袜| 欧美三级电影在线播放| 久久综合影视| 91精品久久久久久久久久| 国产96在线 | 亚洲| 中文字幕亚洲高清| 色噜噜狠狠色综合网图区 | 亚洲国产精一区二区三区性色| 亚洲乱码一区二区| 熟妇高潮精品一区二区三区| 欧美日韩午夜激情| 午夜福利123| 欧美午夜精品一区二区三区| 国产理论在线播放| 亚洲成人免费av| 一级黄色大片免费看| 欧美一激情一区二区三区| 中文字幕一区二区久久人妻网站 | 精品一区二区在线免费观看| 国产日韩亚洲精品| 懂色一区二区三区免费观看| 奇米视频888战线精品播放| 大桥未久av一区二区三区中文| 日本视频一区二区不卡| 中文字幕精品在线不卡| 国产无套内射久久久国产| 一本色道亚洲精品aⅴ| 182在线视频| 91精品综合久久久久久| 成人无码av片在线观看| 国产一区二区黄| 91在线精品入口| 91免费精品视频| 99久久亚洲一区二区三区青草| 欧美大奶子在线| 亚洲AV无码国产成人久久| 精品国产一区二区三区久久久蜜月| 天天做夜夜爱爱爱| 77777少妇光屁股久久一区| 亚洲欧美日本在线观看| 一区不卡字幕| 黑人巨大精品欧美一区二区一视频| 麻豆精品国产传媒| 亚洲成人网av| 一道本无吗一区| 国内不卡一区二区三区| 久久久亚洲精品一区二区三区 | 亚洲人妻一区二区| 在线观看18视频网站| 香蕉成人伊视频在线观看| 中文字幕免费视频| 欧美精品久久久久a| 三级小视频在线观看| 久久视频免费在线| 富二代精品短视频| 日本少妇吞精囗交| 亚洲精品免费网站| 综合电影一区二区三区 | 性猛交ⅹxxx富婆video | 欧美国产视频在线| 久久精彩视频| 亚洲欧洲成人自拍| 成人18视频免费69| 国产精品草莓在线免费观看 | 国产成人精品一区二区三区四区| 五月天中文字幕在线| 九九热视频这里只有精品| 日韩精品五月天| 五月婷婷激情久久| 色综合久久精品亚洲国产| 扒开伸进免费视频| 亚洲国产福利在线| 娇小11一12╳yⅹ╳毛片| 欧美福利视频在线| 国产日韩欧美视频在线观看| 久久精品二区| 午夜视黄欧洲亚洲| 日韩av在线播| 欧美日韩国产精品一卡| 欧美综合亚洲图片综合区| 人人爽人人爽人人片av| 国产区二精品视| 精品成人乱色一区二区| 国产一区二区三区中文字幕 | 香蕉久久夜色| 色国产精品一区在线观看| 91麻豆成人精品国产免费网站| 中文字幕中文字幕99| 亚洲精品白浆高清久久久久久| 久久99精品久久久久久国产越南| 可以免费在线看黄的网站| 色播久久人人爽人人爽人人片视av| 黑人巨大精品欧美一区| 中国美女乱淫免费看视频| 蜜桃网站成人| 精品国产一区久久| 国产综合色视频| 国产又粗又猛又爽又黄的视频小说| 久久福利电影| 亚洲人a成www在线影院| 久久亚洲免费视频| xxxx 国产| www.99av.com| 国产91色在线|| 欧美视频一二三| 亚洲人成色777777精品音频| 黄色正能量网站| 国产伦精品一区二区三区在线| 欧美一区二区三区免费观看视频| 全部av―极品视觉盛宴亚洲| 强伦人妻一区二区三区| 欧美日韩综合另类| 日韩亚洲欧美中文高清在线| 一区二区三区四区精品在线视频| av高清一区二区| 国产清纯白嫩初高中在线观看性色| 成人免费在线看片| 精品国产第一区二区三区观看体验| 高清不卡一区二区| 在线视频 中文字幕| 欧美xxxxx少妇| 日本成人三级| 91av视频在线免费观看| 欧美性xxxx在线播放| 激情五月激情综合网| 青青草av在线播放| 国产香蕉精品视频| 亚洲精品国产系列| 国产精品扒开腿爽爽爽视频| 欧美一级淫片007| 国产精品五月天| 日韩1区2区日韩1区2区| 成人午夜视频精品一区| 午夜视频在线网站| 日韩影院一区| 国产精品欧美激情| 在线播放国产一区二区三区| 欧美日韩国产大片| 欧美国产精品专区| 青青草精品视频| 一二三区在线播放| 少妇高潮在线观看| 手机在线成人免费视频| 亚洲7777| 久久久久一区二区| 7777kkkk成人观看| 日韩激情在线视频| 欧美吻胸吃奶大尺度电影| 国产精品日韩精品欧美在线| 日韩国产高清在线| 中文字幕码精品视频网站| 精品少妇久久久|