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

主頁 > 知識庫 > 線上MySQL的自增id用盡怎么辦

線上MySQL的自增id用盡怎么辦

熱門標簽:話務外呼系統怎么樣 智能外呼系統復位 大眾點評星級酒店地圖標注 臨清電話機器人 外東北地圖標注 云南電商智能外呼系統價格 400電話可以辦理嗎 高清地圖標注道路 拉卡拉外呼系統

MySQL的自增id都定義了初始值,然后不斷加步長。雖然自然數沒有上限,但定義了表示這個數的字節長度,計算機存儲就有上限。比如,無符號整型(unsigned int)是4個字節,上限就是2^32 - 1。那自增id用完,會怎么樣?

表定義自增值id

表定義的自增值達到上限后的邏輯是:再申請下一個id時,得到的值保持不變。

mysql> create table t(id int unsigned auto_increment primary key) auto_increment=4294967295;
Query OK, 0 rows affected (0.01 sec)

mysql> insert into t values(null);
Query OK, 1 row affected (0.00 sec)

mysql> show create table t;
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                      |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t     | CREATE TABLE `t` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4294967295 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

//成功插入一行 4294967295
mysql> insert into t values(null);
ERROR 1062 (23000): Duplicate entry '4294967295' for key 't.PRIMARY'

第一個insert成功后,該表的AUTO_INCREMENT還是4294967295,導致第二個insert又拿到相同自增id值,再試圖執行插入語句,主鍵沖突。

2^32 - 1(4294967295)不是一個特別大的數,一個頻繁插入刪除數據的表是可能用完的。建表時就需要考慮你的表是否有可能達到該上限,若有,就應創建成8字節的bigint unsigned。

InnoDB系統自增row_id

若你創建的InnoDB表未指定主鍵,則InnoDB會自動創建一個不可見的,6個字節的row_id。InnoDB維護了一個全局的dict_sys->row_id


所有無主鍵的InnoDB表,每插入一行數據,都將當前的dict_sys->row_id作為要插入數據的row_id,然后把dict_sys->row_id加1。

代碼實現時row_id是個長度為8字節的無符號長整型(bigint unsigned)。但InnoDB在設計時,給row_id留的只是6個字節的長度,這樣寫到數據表中時只放了最后6個字節,所以row_id能寫到數據表中的值,就有兩個特征:

  • row_id寫入表中的值范圍,是從0到2^48 - 1
  • dict_sys.row_id=2^48時,如果再有插入數據的行為要來申請row_id,拿到以后再取最后6個字節的話就是0

即寫入表的row_id從0~2^48 - 1。達到上限后,下個值就是0,然后繼續循環。
2^48 - 1已經很大,但若一個MySQL實例活得久,還是可能達到上限。
InnoDB里,申請到row_id=N后,就將這行數據寫入表中;若表中已經存在row_id=N的行,新寫入的行就會覆蓋原有的行。

驗證該結論:通過gdb修改系統的自增row_id。用gdb是為了便于復現問題,只能在測試環境使用。

row_id用完的驗證序列

row_id

用完的效果驗證

可見,在我用gdb將dict_sys.row_id設置為2^48之后,再插入a=2會出現在表t的第一行,因為該值的row_id=0。
之后再插入a=3,由于row_id=1,就覆蓋了之前a=1的行,因為a=1這一行的row_id也是1。

所以應該在InnoDB表中主動創建自增主鍵:當表自增id到達上限后,再插入數據時會報主鍵沖突錯誤。
畢竟覆蓋數據,就意味著數據丟失,影響數據可靠性;報主鍵沖突,插入失敗,影響可用性。一般可靠性優于可用性。

Xid

redo log和binlog有個共同字段Xid,用來對應事務。Xid在MySQL內部是如何生成的呢?

MySQL內部維護了一個全局變量global_query_id

每次執行語句時,將它賦值給query_id,然后給該變量+1:

若當前語句是該事務執行的第一條語句,則MySQL還會同時把query_id賦值給該事務的Xid:


global_query_id是一個純內存變量,重啟之后就清零了。所以同一DB實例,不同事務的Xid可能相同。

但MySQL重啟之后會重新生成新binlog文件,這就保證同一個binlog文件里的Xid唯一。

雖然MySQL重啟不會導致同一個binlog里面出現兩個相同Xid,但若global_query_id達到上限,就會繼續從0開始計數。理論上還是會出現同一個binlog里面出現相同Xid。

因為global_query_id8字節,上限2^64 - 1。要出現這種情況,需滿足:

  • 執行一個事務,假設Xid是A
  • 接下來執行2^64次查詢語句,讓global_query_id回到A
  • 2^64太大了,這種可能只存在于理論中。
  • 再啟動一個事務,這個事務的Xid也是A

Innodb trx_id

Xid由server層維護
InnoDB內部使用Xid,為了關聯InnoDB事務和server

但InnoDB自己的trx_id,是另外維護的事務id(transaction id)。

InnoDB內部維護了一個max_trx_id全局變量,每次需要申請一個新的trx_id時,就獲得max_trx_id的當前值,然后并將max_trx_id加1。

InnoDB數據可見性的核心思想

每一行數據都記錄了更新它的trx_id,當一個事務讀到一行數據時,判斷該數據是否可見,就是通過事務的一致性視圖與這行數據的trx_id做對比。

對于正在執行的事務,你可以從information_schema.innodb_trx表中看到事務的trx_id。

看如下案例:事務的trx_id

S1 S2
t1 begin
select * from t limit 1
t2 use information_schema;
select trx_id, trx_mysql_thread_id from innodb_trx
t3 insert into t values(null)
t3 select trx_id, trx_mysql_thread_id from innodb_trx

S2 的執行記錄:

mysql> use information_schema;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> select trx_id, trx_mysql_thread_id from innodb_trx;
+-----------------+---------------------+
| trx_id          | trx_mysql_thread_id |
+-----------------+---------------------+
| 421972504382792 |                  70 |
+-----------------+---------------------+
1 row in set (0.00 sec)

mysql> select trx_id, trx_mysql_thread_id from innodb_trx;
+---------+---------------------+
| trx_id  | trx_mysql_thread_id |
+---------+---------------------+
| 1355623 |                  70 |
+---------+---------------------+
1 row in set (0.01 sec)

S2從innodb_trx表里查出的這兩個字段,第二個字段trx_mysql_thread_id就是線程id。顯示線程id,是為說明這兩次查詢看到的事務對應的線程id都是5,即S1所在線程。

t2時顯示的trx_id是一個很大的數;t4時刻顯示的trx_id是1289,看上去是一個比較正常的數字。這是為啥?
t1時,S1還未涉及更新,是一個只讀事務。對于只讀事務,InnoDB并不會分配trx_id:

  • t1時,trx_id的值就是0。而這個很大的數,只是顯示用
  • 直到S1在t3時執行insert,InnoDB才真正分配trx_id。所以t4時,S2查到該trx_id的值就是1289。

除了明顯的修改類語句,若在select 語句后面加上for update,也不是只讀事務。

  • update 和 delete語句除了事務本身,還涉及到標記刪除舊數據,即要把數據放到purge隊列里等待后續物理刪除,這個操作也會把max_trx_id+1, 因此在一個事務中至少加2
  • InnoDB的后臺操作,比如表的索引信息統計這類操作,也是會啟動內部事務的,因此你可能看到,trx_id值并不是按照加1遞增的。

t2時查到的很大數字是怎么來的?
每次查詢時,由系統臨時計算:當前事務的trx變量的指針地址轉成整數,再加上248

這樣可以保證:

  • 因為同一只讀事務在執行期間,它的指針地址不會變,所以無論在 innodb_trx還是在innodb_locks表里,同一個只讀事務查出來的trx_id就會是一樣的
  • 若有并行只讀事務,每個事務的trx變量的指針地址肯定不同。這樣,不同并發只讀事務,查出來的trx_id就是不同的。

為什么要加248?

保證只讀事務顯示的trx_id值比較大,正常情況下就會區別于讀寫事務的id。但trx_id跟row_id的邏輯類似,定義為8個字節。
理論上還是可能出現一個讀寫事務與一個只讀事務顯示的trx_id相同。不過概率很低,也沒有什么實質危害,不管。

為何只讀事務不分配trx_id?

  • 減小事務視圖里面活躍事務數組的大小。因為當前正在運行的只讀事務,不影響數據的可見性判斷。所以,在創建事務的一致性視圖時,InnoDB就只需要拷貝讀寫事務的trx_id
  • 減少trx_id的申請次數。InnoDB執行一個普通的select語句,也要對應一個只讀事務。所以只讀事務優化后,普通查詢語句無需申請trx_id,大大減少并發事務申請trx_id的鎖沖突

由于只讀事務不分配trx_id,顯然trx_id的增速變慢。
max_trx_id 會持久化存儲,重啟也不會重置為0。理論上,只要一個MySQL實例跑得夠久,就可能出現max_trx_id達到2^48 - 1,然后從0開始循環。

達到該狀態后,MySQL就會持續出現一個臟讀bug:
首先把當前的max_trx_id先修改成2^48 - 1。這里是可重復讀。

復現臟讀


因為系統的max_trx_id被設置成2^48 - 1,所以在session A啟動的事務TA的低水位就是2^48 - 1。

t2時:

  • session B執行第一條update語句的事務id=2^48 - 1
  • 第二條事務id就是0了,這條update執行后生成的數據版本上的trx_id=0

t3時:

session A執行select的可見性判斷:c=3這個數據版本的trx_id(0),小于事務TA的低水位(2^48 - 1),所以認為該數據可見。

但這是臟讀。
由于低水位值會持續增加,而事務id從0開始計數,導致系統在該時刻后,所有查詢都會出現臟讀。

并且MySQL重啟時max_trx_id也不會清0,即重啟MySQL,這個bug仍然存在。那這bug也是只存在于理論上嗎?
假設一個MySQL實例的TPS是50w,持續這樣,17.8年后就會出現該情況。但從MySQL真正開始流行到現在,恐怕都還沒有實例跑到過這個上限。不過,只要MySQL實例服務時間夠長,就必然會出現該bug。

這也可以加深對低水位和數據可見性的理解。

thread_id

系統保存了一個全局變量thread_id_counter


每新建一個連接,就將thread_id_counter賦值給這個新連接的線程變量new_id。

thread_id_counter定義為4個字節,因此達到2^32 - 1,就會重置為0,繼續增加。


但不會在show processlist看到兩個相同的thread_id。因為MySQL使用了一個唯一數組


給新線程分配thread_id時的邏輯:

總結

每種自增id有各自的應用場景,在達到上限后的表現也不同:

  • 表的自增id達到上限后,再申請時它的值就不會改變,進而導致繼續插入數據時報主鍵沖突錯誤
  • row_id達到上限后,則會歸0再重新遞增,如果出現相同的row_id,后寫的數據會覆蓋之前的數據
  • Xid只需要不在同一個binlog文件中出現重復值即可。雖然理論上會出現重復值,但是概率極小,可以忽略不計
  • InnoDB的max_trx_id 遞增值每次MySQL重啟都會被保存起來,所以我們文章中提到的臟讀的例子就是一個必現的bug,好在留給我們的時間還很充裕

到此這篇關于線上MySQL的自增id用盡怎么辦的文章就介紹到這了,更多相關MySQL自增id用盡內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MySQL的自增ID(主鍵) 用完了的解決方法
  • 關于mysql自增id,你需要知道的
  • MySQL表自增id溢出的故障復盤解決
  • 關于MySQL自增ID的一些小問題總結
  • 關于Mysql自增id的這些你可能還不知道
  • mysql自增id超大問題的排查與解決
  • MySQL分表自增ID問題的解決方法

標簽:揚州 山西 定西 溫州 福州 阿里 三明 無錫

巨人網絡通訊聲明:本文標題《線上MySQL的自增id用盡怎么辦》,本文關鍵詞  線上,MySQL,的,自增,用盡,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《線上MySQL的自增id用盡怎么辦》相關的同類信息!
  • 本頁收集關于線上MySQL的自增id用盡怎么辦的相關信息資訊供網民參考!
  • 推薦文章
    欧美一区二区三区影视| 国产真实乱人偷精品人妻| 中文字幕亚洲高清| 欧美男男青年gay1069videost| 国模极品一区二区三区| 人与嘼交av免费| 在线播放一区二区三区| 精产国品一区二区三区| 亚洲综合精品自拍| 亚洲欧洲一区二区在线观看| 国产aⅴ精品一区二区三区色成熟| 国产精品区一区| 久久精品毛片| 国产伦精品一区二区三区四区免费| 国产精品一区二区91| 日本高清不卡码| 欧美性大战久久久久久久蜜臀| 久久av免费观看| 久久久亚洲精选| 中国一级片在线观看| 人人爽香蕉精品| 国产伦精品一区二区三区视频孕妇| 夜夜嗨av一区二区三区中文字幕| 国产xxxxxxxxx| 亚洲永久精品国产| 中文字幕一区久久| 欧美群妇大交群中文字幕| 真实新婚偷拍xxxxx| 五月婷婷一区| 99久久久无码国产精品免费蜜柚| 欧美精品在线视频观看| 精品一级少妇久久久久久久| 亚洲精品女人久久久| 国产国语videosex另类| 国产成a人无v码亚洲福利| 免费国产成人av| 国产一区二区三区精品久久久| 美女洗澡无遮挡| 欧美一区二区三区喷汁尤物| 国产又黄又大又粗视频| 亚洲天堂一区在线| 久久青草精品视频免费观看| 日韩高清一区二区| 国产精品伦一区| 欧美精品七区| 色琪琪一区二区三区亚洲区| 国产成人a v| 操一操视频一区| 欧美精品一区二区三区蜜桃视频| 中文字幕自拍偷拍| xxxx一级片| 91天堂在线视频| 亚洲国产精品久久一线不卡| 欧美国产在线看| 亚洲av成人无码久久精品| caoporm在线视频| 欧美精品久久| 99国产在线视频| 午夜精品久久久| 婷婷丁香花五月天| 久久久www成人免费毛片| 久久久无码人妻精品无码| 日本人亚洲人jjzzjjz| 亚洲欧美一二三区| 国产巨乳在线观看| 午夜性色福利影院| 一道本无吗一区| 国产亚洲精品精品精品| 国产精品久久久久久久乖乖| 色一情一乱一伦一区二区三区丨| 九九九久久国产免费| 天堂va蜜桃一区二区三区漫画版| 成人av在线不卡| 精品国精品自拍自在线| 国产精品中文有码| 精品一区中文字幕| 91精品国产乱码久久久久| 欧美一区二区三区不卡视频| 久久久久久久久久久久| 青青国产在线观看| 美腿丝袜亚洲综合| 亚洲成人免费在线观看| 欧美tk—视频vk| 欧美精品视频www在线观看| 亚洲一区av在线| 国产成人在线观看| 疯狂撞击丝袜人妻| 久久亚洲成人av| 影音先锋在线国产| 国产精品情侣呻吟对白视频| 最新中文字幕av| 精品国产综合| 精品国产在天天线2019| 国产麻豆精品一区二区| 国产aⅴ激情无码久久久无码| av在线播放网址| 国产清纯白嫩初高中在线观看性色| 亚洲精品久久区二区三区蜜桃臀| 久久久久久久久久码影片| 午夜国产一区二区三区| 中文字幕第四页| 91毛片在线观看| 日韩欧美一级二级| 91中文字幕在线观看| 日韩美女主播视频| 久久五月天色综合| 亚洲白拍色综合图区| 无码久久精品国产亚洲av影片| 老牛国产精品一区的观看方式| 久色视频在线播放| 欧洲亚洲在线视频| 欧美三级日韩三级| 韩国精品久久久| 国产在线成人精品午夜| 日av中文字幕| 91亚洲精品一区二区| 精品国产乱码久久久久久1区2区| 99精品在线免费| 日日骚av一区二区| a天堂中文字幕| 少妇一级淫免费放| 国产黄色激情视频| 久久精品ww人人做人人爽| 国产成人欧美在线观看| 一区二区三区视频观看| 欧美日韩高清影院| 一区二区三区美女| 久久综合中文字幕| 蜜臀91精品一区二区三区| 中文字幕+乱码+中文乱码www| 免费观看特级毛片| 黑人性生活视频| 国产freexxxx性播放麻豆| 欧洲一区二区日韩在线视频观看免费| 欧美成人精品一区二区| 欧美浪妇xxxx高跟鞋交| 欧美经典三级视频一区二区三区| 国精品人妻无码一区二区三区喝尿 | 久久精品免费av| 男人网站在线观看| 国产a级一级片| 亚洲国产精品www| av免费观看久久| 午夜精品一区二区三区视频免费看 | 精品国产无码一区二区| 日本一级淫片免费放| 91麻豆精品久久毛片一级| 又大又长粗又爽又黄少妇视频| 好吊妞无缓冲视频观看| 亚洲色图自拍| 午夜欧美一区二区三区免费观看| 国产精品国产三级国产aⅴ浪潮| 欧美精品制服第一页| 日韩在线免费av| 亚洲精品视频中文字幕| 精品国产髙清在线看国产毛片| 色哟哟国产精品免费观看| 一区二区久久久久久| 综合久久给合久久狠狠狠97色| 成人av综合一区| 成人av电影在线播放| 国产精品夜夜嗨| 欧美巨大另类极品videosbest | 欧美人与禽zozzo禽性配| 国产午夜精品一区二区理论影院| 免费无遮挡无码永久在线观看视频 | 成人爽a毛片一区二区| 污污视频在线观看网站| 喷白浆一区二区| 国产二区国产一区在线观看| 9i在线看片成人免费| 国产日韩av一区| 亚洲精品欧美在线| 日韩欧美中文在线| 欧美一区二区女人| 亚洲精品小视频| 欧美激情中文网| 91精品中文在线| 色999日韩自偷自拍美女| 日韩一区二区高清视频| 爱情岛论坛亚洲首页入口章节| 欧美激情 亚洲| 久久久久国产精品夜夜夜夜夜| 97caocao| 成人福利电影精品一区二区在线观看| 91老司机福利 在线| 欧美日韩一卡二卡三卡| 欧美日韩国产二区| 国产精品av免费在线观看| 欧美日韩综合网| 日韩精品视频在线观看视频| 91成年人网站| 97人人爽人人爽人人爽| 久久久久久穴| 久久久久久久久久电影| 日韩欧美一级视频| 久久狠狠高潮亚洲精品| 天堂久久久久va久久久久| 久久人人爽爽爽人久久久| 欧美性色视频在线| 日韩视频一区二区三区| 国产小视频国产精品| 国产精国产精品| 538在线一区二区精品国产| 久久精品国产sm调教网站演员| 国产美女视频91| 91高清视频免费观看| 麻豆国产尤物av尤物在线观看| 日韩欧美高清dvd碟片| 色呦色呦色精品| 久久久久久久国产精品影院| 国产一区欧美二区三区| 成人毛片在线播放| 亚洲黄色av女优在线观看| 鲁一鲁一鲁一鲁一av| 91免费国产视频网站| 欧美成人精品激情在线观看| 成年人视频网站免费| 国产毛片精品国产一区二区三区| 久久免费精品日本久久中文字幕| 丰满人妻中伦妇伦精品app | 不卡伊人av在线播放| 欧美videos中文字幕| 欧美富婆性猛交| 欧美日韩综合网| 国产探花视频在线播放| 黄色片网站免费在线观看| 91在线视频在线| 亚洲欧美综合v| 久中文字幕一区| 性猛交娇小69hd| 国产一区二区在线影院| 在线成人免费视频| 福利精品视频| 91精品啪在线观看国产| 午夜小视频在线播放| 久久亚洲成人av| 日本午夜视频在线观看| 久久伊人中文字幕| 精品在线小视频| 老汉色影院首页| 国产亚洲欧美日韩高清| 亚洲人成小说网站色在线 | 国产精品白嫩白嫩大学美女| 国产日韩在线不卡| 97视频人免费观看| 制服.丝袜.亚洲.中文.综合懂| 黄色a在线观看| 欧美人体做爰大胆视频| 午夜精品亚洲一区二区三区嫩草| 印度午夜性春猛xxx交| 粉嫩蜜臀av国产精品网站| 亚洲欧美精品一区| 国产视频九色蝌蚪| ,一级淫片a看免费| 欧美视频一区二区三区四区| 国产在线资源一区| 五月婷婷视频在线| 欧美在线视频你懂得| 欧美午夜精品久久久久免费视| 国产黄色免费视频| 精品国产91久久久久久| 久久99久久99精品蜜柚传媒| 欧美人妻一区二区| 一本到不卡精品视频在线观看 | 美女视频一区免费观看| 欧美日韩色婷婷| 欧美日韩精品综合| 性高潮视频在线观看| 欧美日韩一二三四五区| 国产在线一区二区三区欧美| aaa在线视频| 911精品产国品一二三产区| 91免费版看片| 美腿丝袜亚洲三区| 亚洲欧美日本另类| 日韩在线不卡一区| 99久久精品免费观看| 青青草原成人在线视频| 欧美性x x x| 欧美视频中文字幕| 久久99久久99精品| 成人综合在线观看| 92看片淫黄大片看国产片| 国产又粗又大又黄| 在线播放日韩av| 一级片久久久久| 制服丝袜一区二区三区| 免费观看美女裸体网站| 国产在线一区观看| 国产成人久久久精品一区| 我要看黄色一级片| 91精品国产高清一区二区三区蜜臀| 狠狠热免费视频| 国产精品久久久99| 成人午夜免费剧场| 成人禁用看黄a在线| www.av一区视频| 香蕉视频成人在线| 青草热久免费精品视频| 亚洲精品午夜久久久久久久| 亚洲高清免费观看高清完整版| 日本中文字幕有码| 欧美午夜片在线免费观看| ww国产内射精品后入国产| 国产精品美女久久久久久久久久久| 在线观看日本一区| 久久久蜜桃精品| 和岳每晚弄的高潮嗷嗷叫视频| 亚洲欧美影音先锋| 日本老熟妇毛茸茸| 欧美日韩在线一区| 日韩欧美黄色大片| 欧美日韩黄色大片| 91视频免费入口| 欧美影院午夜播放| 成年人免费观看视频网站| 亚洲精品99999| 久久免费视频99| 欧美精品一本久久男人的天堂| 国产一卡二卡在线播放| 久久久久久久久久久免费精品| 国内精品久久久久久久久久| 成人精品视频久久久久| 九九九久久久精品| 蜜臀av.com| 亚洲欧美日韩电影| 人妻激情偷乱视频一区二区三区| 欧美小视频在线| 国产精品三级在线观看无码| 亚洲视频在线观看网站| 国产福利资源在线| 日本一区二区三区在线视频 | 一区二区美女视频| 国产精品美女视频网站| 国产精品一区一区| 青青青在线播放| 欧美日韩一区二区不卡| 精品无码免费视频| 91影视免费在线观看| 国产aⅴ综合色| 另类小说第一页| 亚洲精品久久久一区二区三区| 午夜一区二区三区四区| 成人看片在线| 日韩一区有码在线| 私密视频在线观看| 在线日韩日本国产亚洲| 美女精品在线观看| 亚洲欧洲另类精品久久综合| 精品久久久中文| 国产大片免费看| 亚洲综合中文字幕68页| 亚洲欧洲国产日韩| 亚洲色图日韩精品| 国产日韩在线看| 中文一区二区在线观看| av在线播放网址| 国模精品视频一区二区三区| 成人av在线网| 久久久久久亚洲中文字幕无码| 亚洲免费看黄网站| 国产亚洲欧美精品久久久www| 亚洲已满18点击进入在线看片| 亚洲色图在线看| 91精品国产高潮对白| 欧美在线视频二区| 欧美日韩1234| 日本亚洲免费观看| 欧美xxxx黑人| 日本中文字幕久久看| 亚洲免费伊人电影| 中日韩黄色大片| 好吊色视频988gao在线观看| 亚洲日韩欧美视频| 国产成人免费在线观看不卡| 成人性生活免费看| 91精品视频在线播放| 日本道色综合久久| 国产小视频一区| 国产三级三级看三级| 久久久久久久久电影| 亚洲美女精品一区| 依依成人在线视频| 天堂一区在线观看| 成人午夜一级二级三级| 欧美性色欧美a在线播放| 亚洲三区在线播放| 亚洲精品女人久久久| 加勒比在线一区二区三区观看| 欧美乱妇15p| 国产成人综合网站| 日韩人妻精品中文字幕| 久久婷婷国产91天堂综合精品| 国产精品三级久久久久久电影| 日韩欧美国产网站| 日韩不卡一区二区| 欧美波霸videosex极品| 精品成在人线av无码免费看| 久久久久国产精品免费网站| 色婷婷亚洲婷婷| 国产精品123区| 尤物视频免费观看| 国产草草浮力影院| 日本一本草久p| 国产欧美日韩精品专区| 亚洲色图av在线| 亚洲成人av电影| 国产一本一道久久香蕉| 天干夜夜爽爽日日日日|