久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

MySQL新手實(shí)戰(zhàn):從安裝到上線的避坑全指南

MySQL新手實(shí)戰(zhàn):從安裝到上線的避坑全指南 如果你正在讀這篇文章大概率你現(xiàn)在就處在“第一次碰MySQL”的狀態(tài)。我到現(xiàn)在都記得自己第一次裝MySQL時(shí)的狼狽從官網(wǎng)下載了zip包解壓完不知道下一步該干嘛照著網(wǎng)上一篇文章配了my.ini結(jié)果net start mysql直接報(bào)“服務(wù)無(wú)法啟動(dòng)”我盯著黑窗口愣了半小時(shí)后來(lái)才發(fā)現(xiàn)是data目錄沒(méi)初始化的原因。這篇文章不是把官方文檔換個(gè)說(shuō)法念給你聽(tīng)而是把我從下載、初始化、啟動(dòng)、建表、寫(xiě)事務(wù)、再把MySQL接進(jìn)項(xiàng)目這條線上踩過(guò)的坑按“第一次會(huì)遇到什么”的順序完整捋一遍。不管你是為了上課、寫(xiě)畢業(yè)設(shè)計(jì)還是剛?cè)肼氁邮忠粋€(gè)JavaWeb項(xiàng)目照著這個(gè)順序走能少走很多冤枉路。1. 第一次裝MySQL版本、安裝包、環(huán)境準(zhǔn)備一次到位1.1 版本與發(fā)行包的選擇8.0不是盲目跟風(fēng)第一次接觸MySQL的人很容易在版本上糾結(jié)。網(wǎng)上教程經(jīng)?;ハ啻蚣苡腥俗屇阊b5.7因?yàn)椤胺€(wěn)定”有人讓你裝8.0因?yàn)椤靶隆薄N业慕ㄗh很直接全新項(xiàng)目一律裝MySQL 8.0除非公司老系統(tǒng)明確寫(xiě)了只能用5.7。為什么8.0相比5.7有幾個(gè)不可忽視的優(yōu)勢(shì)默認(rèn)字符集是utf8mb4對(duì)中文和表情符號(hào)更友好窗口函數(shù)、CTE公共表表達(dá)式這些寫(xiě)復(fù)雜查詢很好用InnoDB引擎進(jìn)一步強(qiáng)化性能和數(shù)據(jù)安全都更好。更關(guān)鍵的是很多新工具和云服務(wù)已經(jīng)默認(rèn)按8.0的協(xié)議來(lái)對(duì)接你裝個(gè)5.7反而可能遇到兼容問(wèn)題。還有一個(gè)容易被忽略的點(diǎn)網(wǎng)卡之前先搞清楚自己機(jī)器是什么架構(gòu)。普通Windows電腦基本是x86_64Linux服務(wù)器可能是x86_64也可能是arm64。比如你在ARM架構(gòu)的Linux服務(wù)器上裝MySQL 5.7能找到的安裝包和依賴往往非常老裝起來(lái)全是坑。遇到這種環(huán)境優(yōu)先選8.0的官方ARM包或者干脆用Docker跑官方鏡像。1.2 Windows下zip包安裝my.ini、初始化、注冊(cè)服務(wù)Windows上安裝MySQL有兩條路一是用官方圖形安裝包msi全程點(diǎn)下一步二是下載解壓版zip包自己手動(dòng)配置。我強(qiáng)烈建議新手至少手動(dòng)走一遍zip包安裝因?yàn)橹挥惺謩?dòng)配置過(guò)你才能真正知道MySQL的服務(wù)、數(shù)據(jù)目錄、配置文件之間是什么關(guān)系以后出問(wèn)題排查才有方向。具體步驟很簡(jiǎn)單但每一步都有坑。第一步去官網(wǎng)下載mysql-8.0.x-winx64.zip別去各種軟件站下瘋狂捆綁的綠色版。解壓到一個(gè)路徑里不要帶中文、不要帶空格比如D:\mysql-8.0.44-winx64。第二步在解壓目錄下新建my.ini配置文件。最小可用配置長(zhǎng)這樣[mysqld] basedirD:/mysql-8.0.44-winx64 datadirD:/mysql-8.0.44-winx64/data port3306 character-set-serverutf8mb4 collation-serverutf8mb4_general_ci這里最容易踩的坑有兩個(gè)一是basedir和datadir的寫(xiě)法很多教程用反斜杠\結(jié)果字符串被轉(zhuǎn)義后路徑識(shí)別不了建議統(tǒng)一用正斜杠二是只寫(xiě)了配置卻沒(méi)執(zhí)行初始化就直接啟動(dòng)服務(wù)結(jié)果服務(wù)起來(lái)就崩。第三步以管理員身份打開(kāi)命令提示符進(jìn)入MySQL解壓目錄的bin目錄執(zhí)行mysqld --initialize-insecure --console這條命令會(huì)生成data數(shù)據(jù)目錄。--initialize-insecure表示初始化后root用戶沒(méi)有密碼方便第一次登錄如果去掉insecureMySQL會(huì)自動(dòng)生成一串隨機(jī)密碼寫(xiě)在日志里新手很容易找不到它。第四步注冊(cè)Windows服務(wù)mysqld --install MySQL net start mysql到這一步如果你前面都做對(duì)了服務(wù)能正常啟動(dòng)說(shuō)明MySQL已經(jīng)跑起來(lái)了。注意net start mysql里的服務(wù)名要跟你mysqld --install后面寫(xiě)的名字一致不然Windows會(huì)提示“服務(wù)名無(wú)效”。1.3 Linux和Docker環(huán)境下的安裝路線Linux服務(wù)器上的第一次安裝最常用的是rpm包方式。CentOS、Rocky Linux這類系統(tǒng)上裝MySQL最大的前提是先處理掉系統(tǒng)自帶的MariaDB兩個(gè)一起裝會(huì)搶占3306端口和/usr/lib64/libmysql*庫(kù)文件。簡(jiǎn)單說(shuō)下rpm安裝鏈路# 先查一下有沒(méi)有裝了mariadb rpm -qa | grep mariadb # 有就卸載 yum remove -y mariadb-libs # 安裝官方rpm包版本號(hào)按實(shí)際下載來(lái) rpm -ivh mysql-community-server-8.0.44-1.el9.x86_64.rpm # 啟動(dòng)服務(wù) systemctl start mysqld systemctl status mysqldLinux上用rpm方式裝MySQL有一個(gè)特殊點(diǎn)服務(wù)啟動(dòng)時(shí)MySQL會(huì)自動(dòng)做數(shù)據(jù)目錄初始化并把臨時(shí)密碼寫(xiě)到/var/log/mysqld.log里。第一次登錄要用grep temporary password /var/log/mysqld.log把臨時(shí)密碼撈出來(lái)。如果服務(wù)器不能聯(lián)網(wǎng)就得走離線安裝。提前把rpm包和所有依賴包下載到內(nèi)網(wǎng)機(jī)器上按順序rpm -ivh裝依賴用rpm -Uvh --nodeps強(qiáng)行裝容易出問(wèn)題實(shí)在缺哪個(gè)就單獨(dú)補(bǔ)哪個(gè)。Docker也是一種很主流的方式特別適合本地開(kāi)發(fā)docker run -d --name mysql8 \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD你的密碼 \ -e TZAsia/Shanghai \ -v mysql-data:/var/lib/mysql \ mysql:8.0Docker安裝失敗最常見(jiàn)的原因是端口被占用宿主機(jī)上已經(jīng)有別的進(jìn)程占了3306端口。先在docker run之前用netstat -ano | findstr :3306檢查一下別等啟動(dòng)失敗再去排查。還有一個(gè)坑是數(shù)據(jù)目錄的權(quán)限容器里的mysql用戶對(duì)掛載目錄沒(méi)寫(xiě)權(quán)限會(huì)直接退出chmod 777不優(yōu)雅但能快速驗(yàn)證生產(chǎn)環(huán)境建議用--user參數(shù)配合命名卷來(lái)解決。2. 服務(wù)起不來(lái)、密碼連不上第一次啟動(dòng)最常見(jiàn)的兩座山2.1 “net start mysql”服務(wù)無(wú)法啟動(dòng)的排查鏈路注意下面所有內(nèi)容圍繞解決net start mysql 系統(tǒng)發(fā)生錯(cuò)誤 2/5/1067這類問(wèn)題。每次看到“服務(wù)無(wú)法啟動(dòng)”我的第一反應(yīng)不是你配置文件寫(xiě)錯(cuò)了而是先去找錯(cuò)誤日志。MySQL的錯(cuò)誤日志路徑寫(xiě)在my.ini的log-error參數(shù)里如果沒(méi)寫(xiě)默認(rèn)在datadir目錄下文件名類似.err。Windows下也可以用事件查看器Linux下看journalctl -u mysqld。把日志打開(kāi)之后重點(diǎn)關(guān)注三種情況。第一種日志里報(bào)[ERROR] Cant find message-file或者路徑找不到基本就是my.ini里的basedir和datadir寫(xiě)錯(cuò)了路徑不存在。Windows的路徑分隔符要小心最穩(wěn)妥的是正斜杠。第二種日志里報(bào)[ERROR] InnoDB... Permission denied這是權(quán)限問(wèn)題。Windows上多半是數(shù)據(jù)目錄的權(quán)限不夠比如把MySQL裝在C:\Program Files下而data目錄沒(méi)有給mysql用戶寫(xiě)權(quán)限Linux下則要chown -R mysql:mysql /var/lib/mysql。第三種端口被占用。日志里會(huì)有[ERROR] Could not open TCP port 3306。這個(gè)需要在命令行執(zhí)行netstat -ano | findstr :3306看PID是多少然后去任務(wù)管理器里結(jié)束對(duì)應(yīng)進(jìn)程。有可能占用3306的是另一個(gè)mysqld實(shí)例也可能是你用Docker起了一個(gè)MySQL把宿主機(jī)的3306占了。我遇到過(guò)一個(gè)特別“詭異”的情況Windows服務(wù)起不來(lái)事件查看器里報(bào)了一個(gè)托管異常碼e0434352。我當(dāng)時(shí)沒(méi)有在my.ini里深挖而是把服務(wù)刪了重新注冊(cè)一遍又把殺毒軟件對(duì)MySQL整個(gè)目錄的實(shí)時(shí)掃描關(guān)掉服務(wù)就正常了。這個(gè)經(jīng)驗(yàn)就是服務(wù)起不來(lái)別猜先看日志看日志解決不了往系統(tǒng)環(huán)境、殺毒軟件、運(yùn)行庫(kù)方向想最后再考慮重裝。2.2 root密碼不是忘了是根本還沒(méi)設(shè)置第一次登錄MySQL最讓人懵的就是root密碼。如果你用的是mysqld --initialize-insecure那root初始沒(méi)有密碼直接回車就能登錄mysql -uroot -p如果用的是rpm方式安裝或者mysqld --initialize初始密碼是臨時(shí)生成的。用下面命令找回grep temporary password /var/log/mysqld.log登錄進(jìn)去之后第一件事就是改root密碼同時(shí)創(chuàng)建一個(gè)平時(shí)開(kāi)發(fā)用的普通賬號(hào)。這樣做的原因是永遠(yuǎn)不要用root干業(yè)務(wù)活萬(wàn)一連接串泄露root權(quán)限等于把整個(gè)庫(kù)都暴露了。改密碼和建賬號(hào)的SQL如下ALTER USER rootlocalhost IDENTIFIED BY 新密碼; CREATE USER dev% IDENTIFIED BY dev密碼; GRANT ALL PRIVILEGES ON *.* TO dev%; FLUSH PRIVILEGES;注意MySQL 8.0默認(rèn)的認(rèn)證插件是caching_sha2_password如果你的客戶端特別老登錄時(shí)可能報(bào)Authentication plugin caching_sha2_password cannot be loaded。解決辦法有兩個(gè)升級(jí)客戶端驅(qū)動(dòng)或者給那個(gè)用戶指定舊插件CREATE USER oldclient% IDENTIFIED WITH mysql_native_password BY 密碼;現(xiàn)在基本都在用新驅(qū)動(dòng)了但還是要知道這個(gè)坑因?yàn)槟憬永享?xiàng)目時(shí)隨時(shí)可能碰上。2.3 客戶端連接報(bào)SSL錯(cuò)誤隨手加上useSSLfalse就行很多教程里JDBC連接串隨手就是useSSLfalse新手照抄之后SSL錯(cuò)誤確實(shí)消失了但壓根不知道自己在做什么。先說(shuō)結(jié)論這個(gè)報(bào)錯(cuò)“SSL connection error: protocol version mismatch”絕大多數(shù)情況不是MySQL配錯(cuò)了而是客戶端和MySQL支持的TLS協(xié)議版本對(duì)不上。MySQL 8.0默認(rèn)開(kāi)啟SSL要求客戶端使用TLS 1.2以上老版本驅(qū)動(dòng)用TLS 1.0去握手自然失敗。如果只是本地開(kāi)發(fā)、沒(méi)有涉及敏感數(shù)據(jù)useSSLfalse是可以接受的臨時(shí)方案。但一旦部署到公網(wǎng)或者公司安全審計(jì)要求加密傳輸就必須把SSL配好。實(shí)現(xiàn)方式是讓客戶端信任MySQL服務(wù)器的CA證書(shū)在驅(qū)動(dòng)里指上sslModeVERIFY_CA和serverSslCert參數(shù)。另一個(gè)因?yàn)镾SL連帶出現(xiàn)的報(bào)錯(cuò)是Public Key Retrieval is not allowed。這是MySQL 8.0的caching_sha2_password插件在非SSL連接下需要先把服務(wù)器的公鑰拉下來(lái)。解決辦法是連接串加allowPublicKeyRetrievaltrue。這個(gè)參數(shù)的意義就是告訴驅(qū)動(dòng)“我允許你獲取公鑰”本地開(kāi)發(fā)可以開(kāi)生產(chǎn)環(huán)境還是要優(yōu)先走SSL別把這個(gè)參數(shù)當(dāng)成萬(wàn)能解藥。3. 從建庫(kù)到建第一張業(yè)務(wù)表schema、字段、索引一起說(shuō)清3.1 為什么MySQL特別強(qiáng)調(diào)database、schema和table三個(gè)概念很多人一開(kāi)始不理解為什么MySQL的官方文檔把database和schema經(jīng)?;熘?。在MySQL里這兩個(gè)基本是同一個(gè)東西CREATE SCHEMA等價(jià)于CREATE DATABASE。但在SQL Server、PostgreSQL里schema和database完全是兩個(gè)層級(jí)。你可以把這個(gè)關(guān)系想成一個(gè)小區(qū)MySQL實(shí)例是整片小區(qū)database是其中一棟樓table是樓里的房間。你在MySQL里常做的操作流程是先SHOW DATABASES看有哪些樓然后USE 你選中的數(shù)據(jù)庫(kù);進(jìn)樓再SHOW TABLES;看這棟樓里有哪些房間。實(shí)際項(xiàng)目中一個(gè)應(yīng)用通常對(duì)應(yīng)一個(gè)獨(dú)立database多個(gè)表放在里面。不要把不同業(yè)務(wù)的數(shù)據(jù)強(qiáng)行塞進(jìn)同一個(gè)庫(kù)也別給一個(gè)應(yīng)用建十幾個(gè)庫(kù)后期權(quán)限管理和備份都很痛苦。這是我見(jiàn)過(guò)很多“第一次”項(xiàng)目里最常見(jiàn)的混亂。3.2 一張用戶表的建表實(shí)操與字段默認(rèn)值講完概念直接上實(shí)操。假設(shè)我在寫(xiě)一個(gè)商城項(xiàng)目第一張表多半是用戶表。先建庫(kù)再建表CREATE DATABASE IF NOT EXISTS shop DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; USE shop; CREATE TABLE user ( id BIGINT NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL COMMENT 登錄名, password_hash VARCHAR(255) NOT NULL COMMENT 加密后的密碼, age INT NOT NULL DEFAULT 0 COMMENT 年齡默認(rèn)0, email VARCHAR(100) DEFAULT NULL, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE KEY uk_username (username) ) ENGINEInnoDB;這里有幾個(gè)第一次建表時(shí)一定要弄明白的點(diǎn)。第一為什么主鍵用BIGINT AUTO_INCREMENT而不是INT業(yè)務(wù)小的時(shí)候INT也夠用但用戶萬(wàn)一真的做大了INT上限不到21億看著很安全可一旦要遷移數(shù)據(jù)、合并分片BIGINT能省掉很多事。這個(gè)選擇成本幾乎為零為什么不直接選大一點(diǎn)。第二字段默認(rèn)值是怎么設(shè)置的。DEFAULT 0就是給age字段設(shè)置默認(rèn)值為0如果插入時(shí)不給值MySQL自動(dòng)填0。注意把字段定義為NOT NULL DEFAULT 0時(shí)你讓這個(gè)字段“不能為空但給了默認(rèn)值”這跟“允許NULL但沒(méi)有默認(rèn)值”是兩種完全不同的語(yǔ)義。搜過(guò)“mysql設(shè)置默認(rèn)值為0”這個(gè)關(guān)鍵詞的朋友十有八九就是在糾結(jié)這種細(xì)節(jié)。第三COMMENT寫(xiě)不寫(xiě)我見(jiàn)過(guò)太多第一次建表的人完全不加注釋過(guò)一個(gè)月自己都忘了字段是什么含義。生產(chǎn)環(huán)境里字段注釋比代碼注釋還重要建表時(shí)一定要寫(xiě)。3.3 索引和排序別等數(shù)據(jù)多到查詢變慢再補(bǔ)課第一次建表的人容易犯一個(gè)毛病把所有可能查詢的字段都加上索引。結(jié)果表不大性能沒(méi)提升寫(xiě)入倒是慢了。索引的本質(zhì)是復(fù)制一份字段數(shù)據(jù)并排好序讓查詢不用全表掃描。一旦你明白這個(gè)原理就會(huì)知道頻繁作為查詢條件、并且區(qū)分度高的字段適合建索引比如username區(qū)分度極低的字段比如性別、狀態(tài)建索引反而浪費(fèi)空間。實(shí)際開(kāi)發(fā)里最常用的查詢性能排查手段是EXPLAINEXPLAIN SELECT id, username FROM user WHERE username 張三;看到typeconst或ref就說(shuō)明用上索引了看到typeALL就是全表掃描。全表掃描在小表上問(wèn)題不大到百萬(wàn)級(jí)數(shù)據(jù)就明顯卡頓。關(guān)于排序中西文環(huán)境經(jīng)常會(huì)遇到一個(gè)意外看起來(lái)明明建了索引但ORDER BY就是不走索引性能很差。原因多半是字符集排序規(guī)則問(wèn)題。MySQL的utf8mb4有utf8mb4_general_ci和utf8mb4_unicode_ci等不同排序規(guī)則索引的排序規(guī)則和查詢要求不一致時(shí)優(yōu)化器只能放棄索引。中文場(chǎng)景用utf8mb4_general_ci排序就夠了遇到特殊拼音排序需求再單獨(dú)處理。3.4 修改表結(jié)構(gòu)ALTER TABLE不只是加個(gè)字段而已第一次接線上項(xiàng)目總會(huì)碰到“表結(jié)構(gòu)要改了”的需求。最常用的就是加字段ALTER TABLE user ADD COLUMN phone VARCHAR(20) DEFAULT NULL;就這么一句在小表上秒回但如果是一張幾千萬(wàn)行的表執(zhí)行這句ALTER可能會(huì)鎖住整張表讀寫(xiě)很久。MySQL 8.0的在線DDL比5.7更成熟大部分加字段操作可以在線執(zhí)行不再阻塞寫(xiě)入但這不意味著你可以隨便在業(yè)務(wù)高峰期亂改大表。改列類型或者重命名就更謹(jǐn)慎比如把INT改成BIGINT這個(gè)操作會(huì)把整表重寫(xiě)耗時(shí)和磁盤(pán)空間消耗都很高。我第一次操作線上表的時(shí)候只改了一個(gè)字段類型結(jié)果跑了快一上午業(yè)務(wù)側(cè)不得不做了只讀維護(hù)。之后養(yǎng)成了習(xí)慣大表結(jié)構(gòu)變更之前先用SELECT COUNT(*)和SHOW TABLE STATUS評(píng)估行數(shù)和表大小再?zèng)Q定是直接改還是用專門的改表工具。順帶提一句如果你做物聯(lián)網(wǎng)數(shù)據(jù)采集想把MySQL的表結(jié)構(gòu)自動(dòng)轉(zhuǎn)成TDengine的超級(jí)表和子表思路也是一樣的先用information_schema.columns讀MySQL的字段定義再映射到TDengine的tag和列字段類型、默認(rèn)值、注釋都得一一對(duì)上本質(zhì)還是先吃透MySQL這套元數(shù)據(jù)模型。4. 事務(wù)、存儲(chǔ)過(guò)程、觸發(fā)器和鎖第一次寫(xiě)“批量邏輯”的心理準(zhǔn)備4.1 事務(wù)的四個(gè)特性和兩個(gè)實(shí)操動(dòng)作MySQL最值得花時(shí)間理解的就是事務(wù)。事務(wù)解決的核心問(wèn)題非常樸素一條轉(zhuǎn)賬操作要同時(shí)扣A的錢、加B的錢如果只扣了A沒(méi)加成B那整個(gè)賬本都亂了。事務(wù)的四個(gè)特性就是ACID原子性整個(gè)事務(wù)要么全成功要么全失敗。一致性事務(wù)執(zhí)行前后數(shù)據(jù)都滿足約束。隔離性兩個(gè)事務(wù)同時(shí)操作同一條數(shù)據(jù)時(shí)互相不干擾。持久性事務(wù)提交后即使斷電也不會(huì)丟。在SQL里體現(xiàn)為START TRANSACTION; UPDATE account SET balance balance - 100 WHERE id 1; UPDATE account SET balance balance 100 WHERE id 2; COMMIT;如果中間任何一步失敗你在出錯(cuò)后執(zhí)行ROLLBACK;兩條UPDATE都會(huì)被撤銷。新手最容易忽略的是默認(rèn)情況下你隨便執(zhí)行的每條SQL語(yǔ)句都是自動(dòng)提交的。只有在多語(yǔ)句需要被看成一個(gè)整體時(shí)才手動(dòng)START TRANSACTION。另外一個(gè)重要前提是只有InnoDB引擎支持事務(wù)。如果你的表是MyISAM哪怕寫(xiě)了事務(wù)也不生效MySQL會(huì)悄悄當(dāng)單條SQL執(zhí)行。隔離級(jí)別也是個(gè)繞不過(guò)去的話題。MySQL默認(rèn)隔離級(jí)別是REPEATABLE READ也就是同一事務(wù)里你重復(fù)查同一條件結(jié)果始終一樣。不同隔離級(jí)別會(huì)帶來(lái)臟讀、不可重復(fù)讀、幻讀等不同問(wèn)題。第一次接觸不用背太熟但要能說(shuō)出四種隔離級(jí)別由低到高是讀未提交、讀已提交、可重復(fù)讀、串行化能說(shuō)出MySQL默認(rèn)是可重復(fù)讀就夠應(yīng)付多數(shù)面試和日常開(kāi)發(fā)了。4.2 存儲(chǔ)過(guò)程的DELIMITER到底解決什么問(wèn)題很多新人第一次在MySQL里寫(xiě)存儲(chǔ)過(guò)程明明照著教程抄卻總是報(bào)語(yǔ)法錯(cuò)誤。別慌多半是你沒(méi)理解DELIMITER這個(gè)命令的意義。MySQL默認(rèn)用分號(hào)作為一條語(yǔ)句的結(jié)束符。你寫(xiě)一個(gè)存儲(chǔ)過(guò)程CREATE PROCEDURE p_test() BEGIN SELECT 1; SELECT 2; END;MySQL客戶端讀到第一個(gè)分號(hào)就把語(yǔ)句發(fā)送到服務(wù)器而實(shí)際上這個(gè)CREATE PROCEDURE還沒(méi)寫(xiě)完服務(wù)器根本無(wú)法解析。DELIMITER的作用就是臨時(shí)告訴MySQL客戶端“你別拿分號(hào)當(dāng)結(jié)束了用別的符號(hào)”。正確寫(xiě)法DELIMITER // CREATE PROCEDURE p_test() BEGIN SELECT 1; SELECT 2; END// DELIMITER ;寫(xiě)完記得把分隔符改回來(lái)否則你后面所有正常的SQL語(yǔ)句都會(huì)因?yàn)檎也坏浇Y(jié)束符而一直等待。存儲(chǔ)過(guò)程里還經(jīng)常要處理錯(cuò)誤。比如插入數(shù)據(jù)時(shí)遇到主鍵沖突你可以捕獲信號(hào)DECLARE EXIT HANDLER FOR 1062 BEGIN SELECT 主鍵沖突了; END;這里的1062就是MySQL的錯(cuò)誤碼對(duì)應(yīng)主鍵重復(fù)。熟悉這些錯(cuò)誤碼對(duì)處理后面的“錯(cuò)誤信息”類排查很有幫助。4.3 觸發(fā)器里的分隔符與錯(cuò)誤處理觸發(fā)器和存儲(chǔ)過(guò)程一樣也需要理解分隔符問(wèn)題。我第一次建觸發(fā)器時(shí)因?yàn)槁┝薉ELIMITER被奇怪的報(bào)錯(cuò)卡了很久。觸發(fā)器一個(gè)典型的用途是自動(dòng)維護(hù)審計(jì)字段DELIMITER $$ CREATE TRIGGER trg_user_before_insert BEFORE INSERT ON user FOR EACH ROW BEGIN SET NEW.created_at NOW(); END$$ DELIMITER ;觸發(fā)器的BEFORE、AFTER分別表示在事件之前還是之后觸達(dá)事件通常是INSERT、UPDATE、DELETE三種。觸發(fā)器的邏輯里不允許返回結(jié)果集也不能直接調(diào)用存儲(chǔ)過(guò)程帶返回值的部分新手最容易在這上面翻車。我要提醒的是業(yè)務(wù)邏輯能寫(xiě)在應(yīng)用層就盡量寫(xiě)在應(yīng)用層觸發(fā)器能不用就不用。原因是觸發(fā)器是隱式的排查問(wèn)題時(shí)你根本想不到某個(gè)字段被自動(dòng)修改是觸發(fā)器干的。尤其在一個(gè)多人維護(hù)的項(xiàng)目里一個(gè)隱藏的觸發(fā)器可能讓所有人排查到崩潰。只有在做強(qiáng)制審計(jì)、多表同步這類必須靠數(shù)據(jù)庫(kù)自身保證的約束場(chǎng)景觸發(fā)器才值得用。4.4 鎖表與死鎖真實(shí)項(xiàng)目里第一次被“卡住”的經(jīng)歷第一次在真實(shí)項(xiàng)目里遇到“數(shù)據(jù)庫(kù)卡死”大概率就是鎖的問(wèn)題。最經(jīng)典的一條SQL會(huì)阻塞別人UPDATE user SET age 10 WHERE id 1;這條語(yǔ)句執(zhí)行時(shí)會(huì)給id1的行加排他鎖。如果事務(wù)一直沒(méi)提交其他任何對(duì)該行的UPDATE、DELETE都會(huì)等待。你在應(yīng)用里看到的現(xiàn)象就是點(diǎn)擊按鈕一直轉(zhuǎn)圈代碼沒(méi)有報(bào)錯(cuò)數(shù)據(jù)庫(kù)連接被占滿日志里全是“鎖等待超時(shí)”。排錯(cuò)思路要清晰。先SHOW PROCESSLIST;看有哪些會(huì)話長(zhǎng)時(shí)間處于Waiting for table metadata lock或者updating狀態(tài)再用SHOW ENGINE INNODB STATUS;看最近一次死鎖的具體SQL最后找到造成阻塞的源頭連接用KILL 進(jìn)程ID;殺掉它。死鎖是更嚴(yán)重的情況事務(wù)A鎖了行1想等行2事務(wù)B鎖了行2想等行1誰(shuí)也等不到誰(shuí)。InnoDB會(huì)自動(dòng)檢測(cè)死鎖并回滾其中一個(gè)事務(wù)但你的應(yīng)用必須處理“操作失敗、可能導(dǎo)致數(shù)據(jù)未提交”的回滾邏輯。預(yù)防死鎖有個(gè)非常實(shí)用的習(xí)慣多個(gè)事務(wù)如果需要更新多行數(shù)據(jù)盡量按固定的順序操作。比如訂單一類的業(yè)務(wù)永遠(yuǎn)先更新主表再更新明細(xì)表死鎖概率會(huì)大大降低。另外InnoDB的行鎖是建立在索引上的如果查詢條件沒(méi)走索引InnoDB就會(huì)鎖整張表這是另一個(gè)常見(jiàn)鎖表原因。5. 第一次把MySQL接入真實(shí)項(xiàng)目連接池、驅(qū)動(dòng)和客戶端得配齊5.1 JDBC連接串參數(shù)SSL、時(shí)區(qū)、公鑰獲取Java項(xiàng)目接MySQL配置JDBC連接串是繞不開(kāi)的也是第一次最容易出問(wèn)題的點(diǎn)。先用一個(gè)標(biāo)準(zhǔn)的MySQL 8連接串舉例jdbc:mysql://127.0.0.1:3306/shop?useSSLfalseallowPublicKeyRetrievaltrueserverTimezoneAsia/ShanghaicharacterEncodingutf8每個(gè)參數(shù)都有故事。serverTimezone必須顯式指定因?yàn)镸ySQL驅(qū)動(dòng)去讀服務(wù)器時(shí)區(qū)時(shí)如果機(jī)器時(shí)區(qū)是UTC而你的業(yè)務(wù)在東八區(qū)時(shí)間就會(huì)差8小時(shí)。第一次做完查詢發(fā)現(xiàn)時(shí)間不對(duì)頭兩個(gè)月我都沒(méi)意識(shí)到來(lái)連接串加時(shí)區(qū)。characterEncodingutf8是保證中文不亂碼的基礎(chǔ)。注意這里推薦用utf8mb4時(shí)庫(kù)表級(jí)別要把字符集統(tǒng)一設(shè)成utf8mb4連接串里寫(xiě)utf8是為了兼容驅(qū)動(dòng)實(shí)際取了連接后驅(qū)動(dòng)會(huì)自動(dòng)處理。之前說(shuō)的SSL錯(cuò)誤在JDBC里還涉及到useSSL和allowPublicKeyRetrieval的組合。本地開(kāi)發(fā)useSSLfalse綽綽有余生產(chǎn)環(huán)境必須把證書(shū)鏈配好。這個(gè)權(quán)衡反復(fù)出現(xiàn)但每一次都要讓人理解它的含義而不是復(fù)制粘貼。5.2 C程序連接MySQL的編譯鏈接要點(diǎn)不是所有項(xiàng)目都是Java。C接MySQL也是老牌需求很多工具軟件、桌面客戶端都靠它連庫(kù)。C連接MySQL主要用官方提供的mysql.h接口Linux環(huán)境上需要安裝開(kāi)發(fā)包一般叫l(wèi)ibmysqlclient-dev或mysql-community-devel。最簡(jiǎn)單的連接代碼骨架#include mysql.h #include stdio.h int main() { MYSQL *conn mysql_init(NULL); if (conn NULL) { fprintf(stderr, 初始化失敗\n); return -1; } if (mysql_real_connect(conn, 127.0.0.1, user, password, shop, 3306, NULL, 0) NULL) { fprintf(stderr, 連接失敗: %s\n, mysql_error(conn)); mysql_close(conn); return -1; } mysql_query(conn, SELECT id, username FROM user LIMIT 10); MYSQL_RES *res mysql_store_result(conn); MYSQL_ROW row; while ((row mysql_fetch_row(res)) ! NULL) { printf(%s %s\n, row[0], row[1]); } mysql_free_result(res); mysql_close(conn); return 0; }編譯時(shí)注意三個(gè)點(diǎn)頭文件路徑、庫(kù)文件路徑、鏈接庫(kù)名g -o demo demo.cpp -lmysqlclient -I/usr/include/mysql如果連接后中文亂碼要在mysql_real_connect之后執(zhí)行mysql_set_character_set(conn, utf8mb4);。C程序里很多“連接失敗”其實(shí)是網(wǎng)絡(luò)不通或者防火墻沒(méi)放開(kāi)3306端口別一股腦怪MySQL。5.3 連接池到底是什么HikariCP / Druid參數(shù)怎么配新手第一次寫(xiě)JavaWeb完整項(xiàng)目時(shí)通常會(huì)在DAO層用DriverManager.getConnection()直接連數(shù)據(jù)庫(kù)。這么做功能是沒(méi)問(wèn)題但性能很差。因?yàn)槊看谓?shù)據(jù)庫(kù)連接都要走網(wǎng)絡(luò)握手、認(rèn)證耗時(shí)往往在百毫秒量級(jí)用戶一多連接一開(kāi)一關(guān)就吃虧。連接池的原理很簡(jiǎn)單程序啟動(dòng)時(shí)提前創(chuàng)建一批數(shù)據(jù)庫(kù)連接放在池子里用的時(shí)候取出一個(gè)用完了放回去。它解決的是“連接復(fù)用”不是“把連接變快”。Spring Boot時(shí)代最常用的是HikariCP配置核心參數(shù)spring: datasource: url: jdbc:mysql://127.0.0.1:3306/shop?... username: dev password: xxx hikari: maximum-pool-size: 10 minimum-idle: 5 connection-timeout: 30000 idle-timeout: 600000 max-lifetime: 1800000老一點(diǎn)的JavaWeb項(xiàng)目里Druid也很常見(jiàn)參數(shù)叫法不太一樣initialSize2 maxActive20 minIdle2 maxWait60000 validationQuerySELECT 1maximum-pool-size不是越大越好。連接數(shù)過(guò)高數(shù)據(jù)庫(kù)本身的線程調(diào)度、鎖競(jìng)爭(zhēng)都會(huì)變嚴(yán)重。一個(gè)常見(jiàn)的經(jīng)驗(yàn)值是普通業(yè)務(wù)4核8G的機(jī)器上MySQL最大連接數(shù)200-300單應(yīng)用連接池給10-20就夠別一上來(lái)就設(shè)個(gè)100。5.4 Navicat、DBeaver、Workbench的選擇以及離線驅(qū)動(dòng)下載第一次會(huì)習(xí)慣下載Navicat但網(wǎng)上搜“Navicat破解”的搜索結(jié)果很危險(xiǎn)里面帶的激活工具十有八九有問(wèn)題。我的看法是能用官方免費(fèi)工具的就別碰破解版。官方MySQL Workbench是免費(fèi)且持續(xù)維護(hù)的DBeaver社區(qū)版也很強(qiáng)都支持Windows、Linux和macOS。DBeaver連MySQL時(shí)也常會(huì)遇到一個(gè)離線環(huán)境問(wèn)題默認(rèn)驅(qū)動(dòng)管理器會(huì)從網(wǎng)上下載驅(qū)動(dòng)jar包。公司內(nèi)網(wǎng)沒(méi)有外網(wǎng)權(quán)限下載會(huì)一直卡住這時(shí)候就需要“離線驅(qū)動(dòng)”。做法是從官網(wǎng)或網(wǎng)友的倉(cāng)庫(kù)里找到對(duì)應(yīng)版本的mysql-connector-java.jar然后打開(kāi)DBeaver的“數(shù)據(jù)庫(kù) - 驅(qū)動(dòng)管理器 - MySQL”編輯驅(qū)動(dòng)庫(kù)把你的本地jar文件加進(jìn)去重啟即可。DBeaver里連接MySQL 8時(shí)如果報(bào)“Public Key Retrieval is not allowed”就在連接設(shè)置的“驅(qū)動(dòng)屬性”里把a(bǔ)llowPublicKeyRetrieval改成true。這個(gè)思路跟JDBC連接串完全一樣。理解了這層邏輯不管換什么客戶端你都難不住。5.5 大數(shù)據(jù)組件連不上MySQL的常見(jiàn)癥狀現(xiàn)在做數(shù)據(jù)開(kāi)發(fā)的人早晚要遇到Sqoop、Kettle、Flink這些組件去連MySQL。最典型的就是Sqoop導(dǎo)入報(bào)錯(cuò)癥狀全是連接超時(shí)、認(rèn)證失敗、驅(qū)動(dòng)類找不到。sqoop連接MySQL有一個(gè)很隱蔽的坑驅(qū)動(dòng)jar包放錯(cuò)位置。Sqoop官方目錄只加載lib目錄下的驅(qū)動(dòng)你需要把mysql-connector-java.jar復(fù)制到$SQOOP_HOME/lib下并且版本要和MySQL匹配。低版本的Java驅(qū)動(dòng)連接MySQL 8時(shí)會(huì)因?yàn)镾SL握手失敗直接報(bào)Exception: SSL connection error。解決方式同樣是useSSLfalse或者直接升級(jí)驅(qū)動(dòng)到8.x。另一個(gè)癥狀是Access denied for user xxxip。這多半是MySQL的用戶授權(quán)問(wèn)題。MySQL授權(quán)是按“用戶來(lái)源IP”區(qū)分的不要以為你是所有主機(jī)都能訪問(wèn)。建用戶時(shí)要顯式指定CREATE USER dataworker% IDENTIFIED BY 密碼; GRANT ALL PRIVILEGES ON *.* TO dataworker%;如果只需要業(yè)務(wù)庫(kù)權(quán)限別直接給*.*按實(shí)際庫(kù)名授權(quán)更安全。6. 上了線才知道的坑慢查詢、SQL超時(shí)和主鍵設(shè)計(jì)6.1 執(zhí)行SQL超時(shí)先看鎖等待再看網(wǎng)絡(luò)第一次在生產(chǎn)環(huán)境執(zhí)行一條UPDATE等了半天沒(méi)反應(yīng)最后超時(shí)。很多人的第一反應(yīng)是網(wǎng)絡(luò)不好或者調(diào)整SQL語(yǔ)句但真正原因大部分時(shí)候是鎖等待。一條正常的更新語(yǔ)句被另一個(gè)事務(wù)阻塞會(huì)話狀態(tài)會(huì)顯示W(wǎng)aiting for lock。這種時(shí)候光優(yōu)化自己這端SQL沒(méi)用要把阻塞別人事務(wù)的連接找出來(lái)殺掉。排查命令三件套SHOW PROCESSLIST;這個(gè)命令能看到所有數(shù)據(jù)庫(kù)會(huì)話重點(diǎn)看Time列和State列比如Waiting for table metadata lock說(shuō)明有DDL在等表結(jié)構(gòu)鎖。SELECT * FROM performance_schema.data_lock_waits\G這個(gè)可以看誰(shuí)在等誰(shuí)的鎖。SHOW ENGINE INNODB STATUS;最近一次死鎖信息基本都在這里包括事務(wù)持有的鎖、等著的鎖和對(duì)應(yīng)的SQL。我們項(xiàng)目第一次出這個(gè)問(wèn)題是一個(gè)后臺(tái)定時(shí)任務(wù)開(kāi)啟了事務(wù)處理過(guò)程中拋了異常但沒(méi)有ROLLBACK事務(wù)一直沒(méi)關(guān)閉導(dǎo)致整個(gè)表更新全部堵住。所以另一個(gè)習(xí)慣也非常重要應(yīng)用里開(kāi)啟事務(wù)后一定要寫(xiě)try-finally或者try-with-resources哪怕出錯(cuò)也要保證ROLLBACK執(zhí)行。6.2 性能調(diào)優(yōu)EXPLAIN與慢查詢?nèi)罩镜谝淮斡^察MySQL性能問(wèn)題我不建議一上來(lái)就堆各種配置參數(shù)先開(kāi)慢查詢?nèi)罩咀寯?shù)據(jù)庫(kù)自己告訴你哪些SQL慢。SET GLOBAL slow_query_log ON; SET GLOBAL long_query_time 1;這樣設(shè)置之后超過(guò)1秒的SQL會(huì)記錄到慢日志文件。分析時(shí)可以用mysqldumpslow工具mysqldumpslow /var/log/mysql/slow.log慢查詢?nèi)罩灸鼙┞逗芏唷氨砻鏇](méi)問(wèn)題但實(shí)際低效”的SQL。我見(jiàn)過(guò)最典型的一個(gè)案例列表頁(yè)查詢用戶訂單因?yàn)閃HERE條件里對(duì)索引字段做了函數(shù)處理導(dǎo)致索引失效。比如在created_at上寫(xiě)WHERE DATE(created_at) 2024-01-01函數(shù)會(huì)讓優(yōu)化器放棄索引改成WHERE created_at 2024-01-01 AND created_at 2024-01-02就恢復(fù)索引了。還要學(xué)會(huì)看EXPLAIN的type列ALL最差是全表掃描index表示把索引全部掃了一遍range是范圍掃描還不錯(cuò)ref和const是高效的等值命中。優(yōu)化方向就是讓慢SQL盡量從ALL進(jìn)化到range或ref。6.3 字段類型、默認(rèn)值和int5的小坑MySQL是弱類型數(shù)據(jù)庫(kù)這既是方便也是坑。新人寫(xiě)SQL時(shí)經(jīng)常寫(xiě)出類似SELECT age 5 FROM user;這在MySQL里就是普通的數(shù)值計(jì)算age列的每個(gè)值加5。如果你數(shù)據(jù)里age被存成了字符串18也沒(méi)問(wèn)題MySQL會(huì)隱式轉(zhuǎn)成數(shù)字。但一旦字符串不是純數(shù)字比如18aMySQL會(huì)轉(zhuǎn)出前導(dǎo)數(shù)字18a18就轉(zhuǎn)成0。這個(gè)隱式轉(zhuǎn)換的規(guī)則不熟寫(xiě)出來(lái)的結(jié)果可能就是錯(cuò)的排查起來(lái)極其難受。字段默認(rèn)值0也是一個(gè)典型案例。很多人把某個(gè)字段設(shè)成NOT NULL DEFAULT 0想著“沒(méi)值就填0”這沒(méi)問(wèn)題。但如果你用ALTER TABLE把一個(gè)已有非空數(shù)據(jù)的列改成NOT NULL DEFAULT 0MySQL可能需要重建表耗時(shí)很長(zhǎng)。而且如果表里之前有NULL值A(chǔ)LTER還可能要給你一個(gè)“非法默認(rèn)值”的報(bào)錯(cuò)因?yàn)閲?yán)格模式下把NULL轉(zhuǎn)成DEFAULT 0并不是MySQL能自動(dòng)決定的行為。所以改表之前先查一下現(xiàn)有數(shù)據(jù)SELECT COUNT(*) FROM user WHERE age IS NULL;6.4 上線前后的常用巡檢命令第一次把項(xiàng)目部署到服務(wù)器之前最好把下面這些命令挨個(gè)執(zhí)行一遍給自己吃個(gè)定心丸。-- 看版本和字符集 SELECT VERSION(); SHOW VARIABLES LIKE character_set_server; -- 看當(dāng)前連接數(shù)確認(rèn)連接池沒(méi)有把連接數(shù)打滿 SHOW STATUS LIKE Threads_connected; SHOW VARIABLES LIKE max_connections; -- 看慢查詢是否開(kāi)啟 SHOW VARIABLES LIKE slow_query_log; -- 看當(dāng)前所有會(huì)話排查異常連接 SHOW PROCESSLIST;還有一個(gè)每天都要做的事就是備份。第一次做備份我推薦直接用mysqldump簡(jiǎn)單可靠mysqldump -uroot -p --single-transaction shop shop_backup.sql--single-transaction是基于InnoDB的一致性快照備份備份過(guò)程中不會(huì)鎖死業(yè)務(wù)寫(xiě)入。這個(gè)參數(shù)很關(guān)鍵我見(jiàn)過(guò)有人備份時(shí)不加它結(jié)果備份開(kāi)始后所有寫(xiě)操作全部被阻塞被同事罵了一早上。如果你做的是JavaWeb項(xiàng)目上線前還應(yīng)該確認(rèn)應(yīng)用層連接池的maxActive或者maximum-pool-size小于MySQL的max_connections否則一旦應(yīng)用連接數(shù)漲上來(lái)數(shù)據(jù)庫(kù)會(huì)被連接打爆。排查一下就一條命令的事卻能在上線高峰期救你一命。第一次使用MySQL的經(jīng)歷本質(zhì)上是“一邊抄、一邊踩、一邊懂”的過(guò)程。安裝也好建表也好遇到報(bào)錯(cuò)也罷關(guān)鍵不是死記命令而是理解背后那套關(guān)于數(shù)據(jù)存儲(chǔ)、連接、索引和事務(wù)的模型。把這套模型折騰明白了以后無(wú)論換成RDS還是云數(shù)據(jù)庫(kù)你都能很快適應(yīng)。如果你正在經(jīng)歷這個(gè)階段記住一個(gè)原則每次動(dòng)手前先備份每次改完表先看影響行數(shù)每次出了鎖問(wèn)題先看SHOW PROCESSLIST這三條能幫你擋住大部分生產(chǎn)事故。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
午夜.DJ高清在线观看免费7| 九九精品美女高溯喷水| 蜜臀久久99精品久久久| x97av| 欧美一区二区三区日韩| 九九九免费视频| 欧美天堂第二区| 欧美性爱97超碰| 日韩成人性爱AV| 欧美色乱| 亚洲色婷婷久久久综合日本 | 久久久555| 欧美色图片91| 五月天伊人| 国产女人极品高潮毛片| 国产性爱乱伦AV| 日本成人在线不卡一区二区三区| 欧美超碰人妻97| 色女99一级片在线观看| 国产按摩一区二区三区| 婷婷99狠狠躁天天躁| 三级特黄60分钟播放| 亚洲在饯| 色综合V| 欧美少妇人妻| 中文字幕乱码在线观看| 国产美女91| 男人天堂久久精品不卡| 91老妇女| 欧美亚洲手机在线| 啊啊啊啊好疼| 综合五月天| 国产av色网| 亚洲久久东京热一二三四五区视频| AV高清一区| 亚洲天堂色图| 99热导航| 欧美热图99| 一区二三区四区视频大全套| 精品二区久久| 日韩无码第3页| 91视频女生| 9997se| 天天操天天日天天干| 二级久久网| 啊啊啊97视频| 91欧美丝袜| 国产久久久久影院老熟女| 亚洲性综合| 青青草久久| 天天热精品| 天天在线91| 啊啊啊啊,啊啊好多水| 熟女精品一区二区在线观看| 十八禁电影伊人网| 综合亚州欧美| 久久九九视频九九视频| 懂色AV蜜臀无码精品APP| av日韩手机在线影视| 大香蕉一线视频| 4399成人黄A片| 丝袜内射| 国产热av| 日韩中文字幕视频| 午夜精品久久久久久久99蜜桃一| 欧美极品少妇交| 加勒比综合九九99视频在线播放| 在线观看午夜婷婷久久久久清性观看| 懂色AV网| 日欧亚洲二三区大片不卡| 久久性爱城| 中文有码第五页| 欧美后入式| 欧美后入| 在线性黄高清免费视频| 男人亚洲91首页在线| 亚洲综合在线高清| 亚洲图片欧美偷拍| 在线观看黄色电话| 久草精品视频| 91视频综合网| 日韩av影片在线观看| 亚洲色图久久成人| 色悠久久久av| 成人一道本免费视频| 9久久精品| 久久亚洲色图中文字幕| 亚洲天天在线| 蜜桃成人1区2区3区| 亚洲三级网址久久最新| 人妻第一页| 中日韩久久久| 国产女人9999| 亚洲天堂综合AV| 亚洲熟女乱熟乱熟妇综合网二区| 加勒比综合88| 久热婷婷| 亚洲欧美变态| 五月丁香影院| 神马久久免费电影观看| 国内毛片国产专区二| 国产自产91区13区| 欧美加勒比| 日韩av影片在线观看| 综合干干干av久久久综合网| 欧美极品| 成人精品电影| 97视频在线看| 欧美专区在线| 翔田千里爆乳巨臀无码| 欧插网站| 91天天| 激情99| 日本道日本道中文字幕日本道最新日本道在线观看 | 91九九九逼| 国产精品剧情| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 久久亚州高清| 亚洲最大AV网| 另类小说五月天| 久久久久ab| TS人妖另类精品视频系列| 自拍偷拍 日韩无码| 日韩天堂av电影在线观看| 亚洲综合色图欧美| 亚洲1区| 久久9免费视频| 黑丝自慰喷水网站| 死我十八禁| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 欧美在线官网| 免费精品无码一级毛片牛牛影视| 2025亚洲男人天堂| 亚洲精品亚洲人成在线麻豆| 2003天天干夜夜操| 亚洲午夜AV| 91色插| 九九色综合| 久久久人妻| 欧美少妇第一页| 18禁止看精品中文字幕| 黑人与人妻| 日韩免费大片一级播放| 茄子社区国产精品| 国产原创精品| 亚洲资源网| 色黄色美女大长腿午夜视频| 男人的天堂VA| 亚洲精品国产AV天美传媒| 国语国产操逼伊人AV网| 久久久久久十| 欧美色图小说综合| 大香蕉伊人亚洲| 亚一综合久久久久久久久久| 亚洲图片欧美偷拍| 爱欲AV| 立川理惠加勒比无码| 国产一线二线三线av| 国产乱婷婷精品二区三区| 激情 欧美 亚洲 小说| 日韩 女同 综合| 激情第四色| 国产婷婷综合在线观看| 天天干夜夜操一区二区| 欧美精品在线观看| 91|九色|国产熟女| 91性高朝久久久久久久久| 日本中文字幕一区| 色鬼在线综合| 亚洲熟妇图片| 久久婷婷五月综合| 国产综合网站在线播放| 天天干天天操天天操夜夜操天天操 | 亚洲综合性网址| 91视频国品一二三区| 成 人片 黄色大片| 国产久久天堂资源| 亚洲日韩黑丝| 人妻少妇色综合| 男人天堂婷婷五月天校园春色| 人人看欧美性爱| 午夜精品久久久久久久久久久久久 | 国产97综合| 少妇毛片久久| 色综合美国| 操婷婷逼| 亚洲中文字幕三级在线| 操逼操网| 亚洲中文日韩欧美大香蕉视频| 97亚洲综合影院| 91色射| 久久九操在线观看| 日日夜夜青青草母狗| 日本在线一二| 久操大香蕉手机视频在线看 | 久久久性爱视频| 亚洲人人操| 午夜久久无码1000合集| 国产亚洲美日韩Aⅴ中文字幕无码成人| 欧美91精品国产自产| 亚洲综合在线第一页| 久操免费电影| 超碰97人妻在线| 综合少妇网| 国产精品乱码久久久久久久| 老熟妇一区二区三区啪啪| 蜜桃视频一区二区三区在线观看| 淫淫总合网| 婷婷六月天| 欧美激情综合色综合啪啪五月| 中文字幕在线观看二区三区| 色色色色电影网| 国产浮力影院第1页| 亚洲免费在线探花| 人看人人摸人人操| 日日干夜夜干| 级品肉射| 久久久精选| 超碰97伊人| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 国产精品人妻熟女aⅴ| a片 xxxx受爽视频| 乱伦熟女论坛| 一起草日韩| 欧美亚洲日本视频久久久| 成人免费在线网站| 欧美性爱97超碰| 97色欧州| 日本最新1区2区3区| 一级AAA片一区二区三区| 欧美BT 亚洲色图| 久久久久久久| 无码精品久久久天天影视| 国产高清免费不卡av| 国产亚洲精品美女久久久m| 在线视频日韩欧美国产| 亚洲少妇色| 男人的天堂成人的社区| 97资源站久久| 国产偷拍网站| 日韩AC| 亚洲精品久久久久久久久豆丁网| 走光一区92下载| 国产91美女视频| 一级做受视频免费是看美女| 91天堂色男人的天堂| 色婷婷五月综合| 成人网欧美风情| 91亚.色| 秋霞 色色| 国产精品视频一区二区三区八戒| 精品一区二区3区| 色香在线| 国产91 丝袜在线播放00-百度| 台湾一区国产高清在线| 久久婷婷精品| 午夜毛片高清免费不卡| 五十路三区在线| 国产东北女人在线视频| 99热这里只有精| 欧美综合777| 男啪女色黄无遮挡免费观看| 久久精品亚洲成a人天堂| 亚欧美天堂在线| 久9综合在线| 亚洲国产成人精品999| 日韩在线观看中文字幕视频| 亚洲日韩乱码中文无码蜜桃臀网站| 超碰97 线线 在现| 大香蕉综合网| 清纯唯美综合亚洲| 日韩性爱视频免费在线| 麻豆一区在线| 国产精品久久久久久久电影渣男| 天美精品av| 超碰社区97| 无码最新| 国产精品电影推荐| 精品欧美А∨无码黑人大荫蒂| 色五月婷婷麻豆在| 久久香蕉国产线看观看亚洲女人 | 日韩成人小视频| 特级特黄一级毛片免费| 欧亚第一综合网| 91视频综合网| 爽爽歪在线视频| 南澳成人一级片在线播放| 一级特级aaaa毛片免费观看 | 91色交| 五月婷视频| 超碰欧美97资源| 牛牛aV| 黄站在线免费观看| 成人日本视频人妻在线| 亚洲日本大香蕉1| 操操逼操操逼操操逼逼| 超碰久草| 精品色色| 精品视频一区二区| 一区中文字幕二区日韩| 精品久久久久久无码| 超碰性爱97| 亚洲国产一区二区日韩专区| 美女干逼2| aaaa少妇高潮大片| 性欧美91| 男人的天堂激情| 91香蕉视频在线观看免费| 亚洲天堂第一页| 青娱乐亚洲自拍| 国产日产欧产美韩系列麻豆免费| 中文字幕黄色片| 免费视频97| 按摩中文字幕| 久久直播国产| 农村妇女精品一二区| 五月天春色激情网| 日本激情免费大片| 亚洲男人天堂网站| 丝袜喷水在线| 成人av动漫在线观看| 亚洲三级。日韩三级| 97亚洲一区| 日日操丁香五月天| 97天天| 夜夜国产一区| 九月丁香婷婷| 亚洲春色欧美激情自拍| 久草电影网| 欧美天堂日韩三级国产传媒| 激情看片网站| 26uuu成人影片| 亚洲一区制服诱惑| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 好爽视频在线观看| 日韩综合97P| 欧美日韩99精品麻豆传媒| 国产成年精品高清在线观看91| 亚洲日韩黑丝| 中文字幕第23区| 欧美AB在线观看| 久久精品三级影视| 中文字幕亚洲永久精品| 国产一国产一级毛片古装| 精品久久艹| 久久超碰爱| 日韩一级成人毛片免费观看| 成人毛片免费| 9久精品| 青青青草原| 99啪啪| 熟女人妻av在线资源,黄色的资源 粉嫩国产精品久久粉嫩 | 欧美日韩高潮喷水91| 久久亚洲AV无码专区首页| 97干色| 91综合无码| 操曰本熟女| 亚洲丝袜天堂| 91女网站| 97超碰美国| 色色五月天激情| 国产精品久久久久亚洲av| 日韩97| 久久东京热久久| 97中文字幕一区| 成人一级二级| AV在线播放网址| 囯产精品强| 做爱福利视频一区二区| 中文字幕天天操| 超碰色中文| 人妻天天操天天爽视频免费| 天天综合~91入口| 一区二区三区欧美激情| 亚洲av淫乱| 无码丰满熟妇一区二区浪潮AV| 久久久97| 中文字幕日韩专区精品系列| 欧美成人A√在线一区二区| 啊啊啊操死我| 日产欧美电影一区二区三区| 97无码视频在线播放| 超碰97COm中文| 淫淫综合网| 清纯唯美亚洲另类| 96一区二区| 无码人妻精品酒店| 国产AAAAAABBBBB| 澳门黄片一香蕉视频| 欧美性爽xyxOOOO| 超碰免费人妻人人| av天堂天堂av日韩| 亚欧成人中文字幕一区| 婷婷激情综合网| 色啪网| 精品91摸| 蜜桃视频啊啊啊啊| 奶水 人妻 哺乳 在线| 久久嫩草| 99久久久久久亚洲精品不卡| 成人亚欧免费视频| 亚洲操人| 爆乳免费黄网站| 诱惑人妻欧美一区在线播放| 天天日美女的B| 熟女91网| 亚洲欧美人妻| 亚洲制服欧美另类内射| 国产馆极品诱惑| 久久色一区二区| 啊啊在线| 天天草天天日| 久久久久久AⅤ无码免费肉站 | 91日韩网站| 五十路熟女人妻一区二区在线观看| 免费操逼91| 久久黄色视频一区二区三区| 综合色色婷婷| 青青草字幕AV| 一起草视频在线| 欧美另类精品xxxx| 亚洲最大91网| 久久视频,这里只有精品| 中文字幕在线免费观看| 亚洲AV无线| 久久久久久亚洲精品不卡人乳| 国产精品午夜成人福利| 久9爱精品| 日韩激情毛片一级久久久| 色官网在线| 丝袜性亚洲| 久热这里只有精品9| 强奸乱伦大香蕉| 欧美日韩99精品麻豆传媒| 91操人| 天天射天天操天天干天天吃2018| 欧美黄片视频在线观看免费 | 天天伊人| 国产欧美一区激情交| 亚洲淫乱骚妇AV| 中文久久久| 欧美日本国产日韩激情视频| 天天综合欧美综合| 天天看天天干| 日本九九久久99播| 另类图片综合| 9久综合网| 少妇大屁屁| 国产精品宅男免费| 婷婷五月天无码| 日韩欧无码一区二区三区免费不卡| 国产精品久久久久久久久AV大片 | 亚洲精品国产无码高清| 操香逼| 九九九久久久| 色哟哟的毛片| 99re免费| yazhousetuoumei| 亚州综合网| 天堂蜜桃无码视频一区二区| 欧美偷拍| 精品久久視頻在线| 啊啊啊在线观看| 曰韩精品九九无码| 国产精品久久久久久久久久久久久久吹| 国产美女mm131爽爽爽爽| 99亚洲人人| 久热在线精品免费观看| 大香蕉伊人在线成人AV在线观看| 翔田千里AV无码秘 三区| 婷婷香蕉欧美在线一区二区三区 | 大香蕉碰| 久久国产逼| 久久综合日韩亚洲欧美| 欧美的性爱网站免费| 久久欧洲| 思思热在线cao| 伊人久久亚洲中文字幕不卡| 亚洲欧洲精品视频发布| 9ⅰ久久久天天| 日本肏逼视频在线观看| 四虎影视欧美| 久9久| 人妻一区二区三区视频| 懂色中文一区二区三区| 亚洲人妻熟妇三十三区| 亚洲精品官网在线观看| 欲香欲色综合天天伊人| 欧美在线官网| 日韩亚洲中文有码视频| 强乱老妇中文字幕| 97超碰天天爱天天爱| 可以在线观看的黄色网址| 久久中文字幕女同性恋一区| 精品女人999| 岛国A V在线免费看| 精品久久艹| 99久热| 天天躁日日躁AAAAXXXX国产| 久久久久国产精品人妻aⅴ天堂| 免费A V在线| 日韩欧美加勒比| 97一区二区三区视频| 激情专区综合| 人人操人人插 - 百度 - 百度| 色哟哟AV| 欧美天堂日韩三级国产传媒| 美女黄频a美女大全免费皮| 日本天天干天天操一区| 欧美色色人| 性爱动态120秒| 国产一级高跟丝袜| 我想要 啊 啊 啊| 天天干天天燥| 大鸡吧尹人在线| 大屁股人妻女教师撅着屁股| 神马午夜久久久| 国产欧美日韩精品中文| 亚洲日韩美女丝袜美腿人妻视频| 天天香香欲综合| 日韩一级片在线看| 18禁在线视频| 78精品| 久久久久久91香蕉国产| 婷婷伊人网| 国产一区二区免费福利片| 女同性恋中文字幕| 大香蕉男人的天堂| 亚洲AV无码天美传媒一区| 免费一级特黄特色大片在线观看看| 成年人网站在线免费观看| 道久久五香丁月婷婷激情综合| 日韩三级一区| 俺去俺来也在线www| 亚洲一区二区三区在线激情| 日本三级精品| 国产中午字一暮区| 超碰在线97国产| 野狼激情网| 国产97/欧美| 精品视频日日夜夜| 午夜男女爽爽爽影院视频| 欧美日日人人天天| 美女干逼2| 亚洲棕合电彰| av操操不卡| 五月婷婷六月色| 国产精品亚洲一区二区三区四区| 免费观看国产不卡av| 欧美gv在线观看| 一区二区三| 综合亚洲欧美| 91 综合网| 性欧美999| 亚洲男人在线观看天堂| 大香蕉草草| 亚洲美女高潮喷水视频| 啊啊啊啊啊啊啊在线| 欧美美女自慰一区二区三区| 天天色粽合合合合合合合| 亚洲欧美日韩综合在线尤物| 啊视频在线| 五月天婷婷色色| 狠狠综合| 精品夜夜澡人妻无码| 极品色社| 97干色天堂| 夜草欧美| AV久日| 99热这里只有精品1| 久久有码视频| 免费成人自拍视频在线| 日本性感人妻91| 中文字幕一区二区免费在线| 国产黄色 A 片免费看| 人人射人人操人人摸| 久久9视频| 国产天美欧美| 丝袜综合| 国产精品高朝久久久久久久| 婷婷人妻激情| 大香蕉一级黄色片久久| 国产日韩欧美中文在线播放| 欧亚性爱视频免费看| 欧美日韩第一页| 欧美黄页在线| 久久草视频污视频| 欧美碰碰综合色| 成人小说另类在线| 日韩一级特黄av毛片| 一区二区娱乐网站| 精品人妻一区二区三区-国产| 97色色国产视频| 欧美激情黑人| 日本成人免费一区二区三区| 日本激情免费大片| 久久熟女人| 亚洲诱惑天堂| 韩国一级做a久久久久| 亚洲AV成人无码一二三久久| 强奸a片网| 4141514逼喷水三级片| 粉嫩久久久极品| 国产精品精品系列在线观看| 国产亚洲色婷婷99精品91| 亚洲素人网| 不卡日本一区二区| 久久精品店| 日本三级人妻a人妻一在线| 蜜桃精品视频一区二区三区| 天天干人人看综合| 91久久久久久久久18| 四虎884a| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 99re公开精品免费视频| 欧美一区二区三区日韩| 夜夜操夜夜爽夜夜高潮| 日本欧美不卡| 欧美视频边做饭边橾| 欧美日韩少妇色情| av激情亚洲五月天| 99综合网| 人妻熟女一区二区在线视频| 两性色网| 黄呦呦在线| 中文一区二区三区影院| 亚洲福利中文字幕在线| 亚洲熟女乱色一区二区三区久久久 | 国产乱子伦一区二区三区在线观看| 家庭乱伦性爱av| 97超碰天天爱天天爱| 97欧美日韩| 丁香五月性| 青青青草原| 亚洲 一区二区 自拍| 久久夜夜夜夜| AⅤ片水多多| 日本淫色网| 9999久久久| 亚洲.欧美.丝袜.中文.综合| 99视频自拍区| 国产成人+综合亚洲+天堂| 天操天操夜操夜月月年年操操| 密乳AV免费观看| 欧美性爱一区二区三区四区| 欧洲亚洲国产综合在线| 亚洲天堂第一页| www老逼91| 欧美91精品国产自产| 无码人妻一区二区一牛影视| 女人综合网| 四月丁香婷婷| 亚洲av综合伊人久久| 91电影色诱| www.91逼逼.com| 国产后入清纯| 激情综合五月丁香| 中文字幕乱亚洲美女精品一区| 亚欧日韩成人| 婷婷久草| 人妻乱仑一区二区三区| 天天搞欧美| 色五月综合网| 精品人妻一区二区三区日产乱码| 99自拍B亚洲 | 91GD.COM| 欧美色欧美| 欧美日韩少妇色情| 久久精品店| 78m啪啪啪| 色月天AV导航| 亚洲性爱免费电影| 精品少妇一区二区| 啊啊啊啊啊操我视频| 中文字幕日韩人妻视频| 蜜桃网熟妇| 东北夫妻性偷拍| 亚洲无码免费看| 婷婷8月天青娱乐| 69AV女优男人的天堂| 殴美日韩m| 亚洲va有码在线天堂| 国产三级中文有码在线视频| 中文字幕艹艹| 国产综合日韩伦理| 中文字幕日韩综合| 国产三级日产三级韩国三级 | 国产原创精品| 91精品人妻五十路| 国产亚洲精品美女久久久久久2021| 婷婷成人五月天| 超碰人人草| www.99色| 久久女人视频| 亚洲97久久精品亚洲| 91亚洲综合在线| 欧美韩国你懂得在线 | 国产精品熟女丝袜一区二区| 精品无码一区二区三区色欲| 日韩精彩视频| 大香蕉在线86| 中文字幕日韩综合| 久久‘黄片视频| 久久久国产av美女私房| 色色九区| 九九九久| 亚州中文字幕超碰97| 九九热最新| 久草成人影片| 日韩啪啪啪视频| 熟女人妻av在线资源,黄色的资源| 亚洲成人av电影在线| 国产精品ww久久| 亚洲中文字幕av| 中文字幕人乱码中文字的预防方法| 大香蕉免费中文| 中文字幕在线观看二区三区| 国产久久成人| 秋霞操逼片| 中文字幕后石码三区四区| 竹菊一区二区三区AV线| 亚州色阁| 欧美激情色婷婷花野真衣一区二区| 亚洲精品97在线| 天天干少妇| 99九九久久| 欧美在线干| 桃花色涩综合影院| 天天躁日日躁XXXXYY| 操逼片中文| 无码日韩人妻av一| 性久久| 26UUU欧美激情一区二区| 91久久免费视频互動交流| 天天综合97| 一级性爱网| 免费AV中文网在线观看| 亚洲在线| A片A5445444| 亚洲天天做日日做天天谢日日 | 精品久久在线区一区| 久久久精品日本一道| 碰碰在线视频| 日韩青久久| 亚洲九九视频| 欧美激情视频一区二区| 天天综合色图| 老熟妇乱轮| 亚洲国产成人精品999| 久久中文字幕一区不卡| av在线观看不卡网站| 精品人妻一区二区视频| 亚洲成人一区二区精品| 九九黄色视频在线观看| 99色视频| 中文字幕精品丝袜| 九九自拍伦理| 亚洲九九视频| 伊人影院日本| 国产精品一区二区校花| 丝袜熟女一区二区三区| 婷婷久久五月天| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 亚洲av影院在线观看| 日本综合久久| 日韩美女久久一区二区三区| 男人 天堂 日 亚洲| AV色五月| 久操精品| 夜夜影视四色| 综合网,亚洲,欧美| 蜜臀久久久国产| 婷婷性网| 第四色奇米影视777| 丝袜美腿制服人妻二区中文字幕 | 好吊色青靑草| 国产精品嫩草久久久久| 狠狠色综合网| 欧美少妇高潮久久91| julia国产在线| 国产亚洲精品一区二区三区| 7777欧美成是人在线观看| 精品国产自在在线99| 久久视频,这里只有精品| 亚洲91色| 久久久久国产精品片区无码直播| 国产精品白虎| 抽插一区二区视频| 亚洲无线码欧洲精品区别| 日本女人操逼| 亚熟hd视频在线| 婷婷色香伊人| 亚洲精品a人片在线观看视| 啊啊啊啊视频免费| 日日97| 精品视频免费在线一区| 91婷婷伊人狠人| 久久久久久中文| 人妻中文字幕精品无码| 96久久科窝| 极品少妇久久久久| 免费看国产曰批40分钟怎么下载| 日韩欧美视频青青| 国产精品69久久久久孕妇欧美| 很很操在线| 夜色五月天| 中文字幕免费在线观看| 欧美黑人精品在线播放| 色女网日韩| 男人天堂欧美| 东京日日夜夜| 天天综合网~91| 日本精品不卡一二三区| 天天舔天天日天天射| 欧美性爱日韩高清| 超碰激情808| 国产福利合集| 美女刺激久久国产欧美| 啊啊啊啊嗯嗯在线久久久| 亚洲 欧美 手机在线观看| 欧美 熟女 日韩| 亚洲男人久久综合天堂| 97精品国产97久久久| 色爱天堂| 五月婷婷综合在线| 97国产精品一区| 激情婷婷五月天| 欧美色蜜桃97| 香蕉综合网| 色爱亚洲| 久都青青视频| 超碰午夜| 啊啊啊啊啊在线视频| 日韩成人私密一级精品av| 台湾佬激情综合| 97亚洲综合| 天堂资源欧美| 一本色道久久天天射天天干| 午夜啊啊啊| 国产精品免费日韩| 日日日日做夜夜夜夜做无码97| 顶级丝袜熟女一区二区三区 | 韩国黄色片精品久久久| 骚鸭AV| 天天日天天舔天天喷天天射| 精品国产AV一区天美传媒| 精品少妇后入一区二区三区四区人妻巨乳| 久久久久久久| 精品v1区| 欧美日韩 强奸乱伦| 麻豆区久久久久亚| 色五月丁香五月| 亚洲全色网| 二对二中文字幕。| 亚洲黄色网址视频| 日本熟妇人妻一区二区三区| 国产欧美精品日韩区二区麻豆天美| 97亚洲综合| 亚洲一二三| 性爱av网站| 屁股久久久久久久久久| 日日夜夜青青草母狗| 日韩av在线免费网站| 国产又粗又长又大的视频| 久草综合京东| 日本激情免费大片| 91人妻熟女| 国产不卡中文字幕免费avi| 每日更新AV| 91欧美大片| 好爽免费视频,| 五月丁香影院| 91九色蝌蚪在线观看| 久久久久久99999国产精品| 人妻激情另类| 亚洲中文国际强奸字幕| 伊人91| 日本熟妇色熟妇在线视频播放| 亚洲人妻av| 国产一区二区免费福利片| 亚洲色棕合| 麻豆性爱视频在线播放| 激情五月天视频| 最近2018中文字幕在线高清第一页| 亚洲人人夜夜澡人人爽| 四虎永久在线精品免费网址| 日韩不卡毛片Av免费高清| 91精品人| 干b网| 日韩精品怡红院| 久久婷婷一区二| 女人午夜视频777| 黄片免费视频2019| 美女久久久久久久久久久| 色偷偷男人的天堂麻豆| 亚洲欧洲视频小说在线观看| 久久精品国产72国产精品福利| 9国产超碰| 天天爱天天操| 亚洲91射| 九九九九一级| 精品然女一区二区| 久操高青| 亚洲综合小说另类图欧美视频激情小说色五月天 | 国产亚洲日韩在线三区黑人| 国产9区| 麻豆av一区二区| 午夜精品人妻二区三区| 青青操在线亚洲视频观看欧美在线| 亚洲五月丁香花狠狠干一区二区三区 | 国产精品麻豆成人AV艾秋| 男男H黄动漫啪啪无遮挡网站| www亚洲免费| 国产午夜福利专区综合| 啊啊啊好想要| 蜜臀久久久99久久久久 | 后入福利| 久久久九精品| 国产和美国毛片| 欧美青青视频| 99只有精品| 干B| 91久久国产综合精品| 好吊色一区| 曰本熟女视频| 午夜啊啊啊| 麻豆伊人网| 99蜜桃臀亚洲成人在线观看| 99九九久久| 人妻插插人妻人| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 97日韩欧美| 97在线免费观看视频| 欧美91变态| 丰满熟女一区二区三区在线播放| www.男人的天堂| 大奶的诱惑| 97超碰超碰| 中文字幕在线免费观看2| 国产又黄又爽| 三级日韩一区二区三区| 国产不良强奸视频免费看| 亚洲欧洲日本精品中文a∨| 人人操人人色人人摸| 欧 美 自 拍 偷 拍| 亚洲欧美自拍偷拍| 美国aaaaa一级黄片| 欧美成人一区二区三区在线播放| 7777欧美成是人在线观看| 免费看日产一区二区三区| 俺去也婷婷| 97 亚洲 日韩 欧美 在线| av大香蕉网站| 秋霞鲁丝午夜无码一区二区三| 精品一区二区三区蜜桃臀www| 欧美日本视频一区| 综合亚州欧美| 日本视频在线中文字幕| 色操逼网| 超碰成人国产| 看看小穴| 亚洲污污网站| 91热| 国产成人欧美精品在线| 国产中文大片资源中文字幕| 黄色大香焦1级‘′‘| AV中文在线| 亚洲第一页欧美| 91熟女.com| 好爽视频在线观看视频| 欧美日韩另类在线| 久热大香蕉| 日本丝袜美腿人妻九九| 丝袜狂射91| 人妻夜夜爽天天爽三区麻豆AV网站| 国产精品久久久久久久AV大片| 日本一级二级三级网站| 污啪啪啪视频| B049AV在线播放| 超碰九区| 男人高清无码一区二区| 91爱综合| 亚洲国产中文字幕| 天天看夜夜看日日干| 天天做日日做天天欢。| 久热伊人99re| 亚洲天堂资源| a片久久久久久久久久久久 | 免费精品中文字幕| 伊人影院中文字幕| 天天热精品| 国产精品人妻一区二区| 狠狠干狠狠色| 亚州熟妇精品| 人人搞人人插人人操| 日韩中文字幕视频在线观看| 一区二区首页| 亚洲久9| 精品一区二区亚洲国产| 啊啊啊啊二区好大| 精品午夜福利| 这里都是精品在线观看| 老司机久久| 亚洲av成人精品一区| 人人爱操| 死我十八禁| 中国少妇XXXX做受| 久久天天摸| 中文字幕AV中出| 在线人人人人人人精品超| 天天夜夜久久| 人人搞人人插人人操| 开心婷婷五月| 欧美日综合| 性爱av网站| 久久久久婷婷精品av电影| 操逼大黄片| 三上制服丝AV| 肏逼视频日本| 亚洲色图激情小说| 久久久一区二区三区四区五区| 亚洲国产一区二区三区四区国产| 亚洲综合一| 国产精品自拍xxxx| 日本黄色裸日本黄色裸体 | 二三四区精品| 伊人久久在线视频观看| 97免费免费视频网| 人人操人人插 - 百度 - 百度| 91精品电影18| 天天射夜夜操| 99re6久热只有精品6在线直播 | 26uuu国产| 日本Suv精品一区二区| 九九色逼| 精品视频久久| 丝袜六区| 国产91影院| 老师充足的奶水小说| 操人人| 九九九九欧美| 玖玖爱免费观看视频| 欧美偷偷网| 色99视频| 手机在线大香蕉| 亚洲情色电影网| 色综合一本| 欧美一二在线| 色哟哟511老熟女| 欧美激情一| 亚洲操操| 蜜臀久久99精品久久久| 九九九久千久久激情蜜桃在线看 | 亚洲国产成人精品999| 神马久久网| 亚洲1区2区三区高清中文字幕| 亚洲熟妇综合久久久久久| 亚欧韩av| 亚洲图片欧美色| 97大色网| 96久久精品一二三区色欲| 欧美同性恋 的搜索结果 - 91n| 五月婷婷深深爱| 亚洲国产美女久久久久| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 中文字幕二区日韩天堂 | 91亚洲丝袜| 在线 制服丝袜中出 人妻| 国产女同在线观看视频| 91超碰碰在线| 人人操av| 国产精品视频自拍在线| 曰本道人妻久久久在线不卡色视频| 色婷婷在线视频| 国产精品午夜福利亚洲综合网| 久久久成人精品| 97五月天| 日本免费一级AAA大片器| 国产蜜臀精品一区二区尤物| 国产天天骚| 亚洲欧洲国产综合av| 3PAV乱伦视频| 国产一| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 久久有碼| 久久免费精品视频免一| 精品视频一二三中文| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 久久国产精品91| 99re公开精品免费视频 | 睡产熟女乱伦| 99青草| 欧美丰满少妇交换91欧美精品| 日本99视频| 操逼日批| 97久久国产| 久久久久元码视频| 国产在线76页| 99久久久er直播网址| 91伊人| 天天操熟妇| 国产精品亚洲四五区在线观看| 爱做久久久久久| 亚洲图片日本AⅤ欧美在线| 五月天伊人网| 九九九九一级| 黄色高清久久无码依人| 91精品综合久久久久久五月丁香| www.伪伪| 九九综合九九综合| 天天干人妻视频| 91nbbbbbb| 精品久久久久瑟瑟| 大香蕉av在线| 日韩不卡毛片Av免费高清| 看免费的黄片| 国产一级高清免费观看| 校园春色美腿丝袜 | 少妇精品久久久八区九区| 97 国产一区| 婷婷三区| 日韩另类色图| 黄色片,com| 亚洲电影91| 国产成人手机视频激情| 97超碰色屌| 伊人五月天激情| 国产青青综合伊人| 97精品国产97久久久| 亚洲熟女乱色一区二区三区| 操死我了嗯嗯嗯| 国产精品亚洲免费| 国产精品操| 五月婷婷丁香六月| 久草视频制服诱惑| 91色婷婷综合久久中文字幕二区| 欧美自拍偷拍综合图片| 人妻天堂网| 久久在肏| 九九九999久久久网站| 日日干日日摸| 欧美综合中文| 日比av无码| 蜜臀99久久国产| 九九热国产| 日韩无限资源| 91无码西班牙视频在线| 国产深喉视频一区二区| 淫荡网址| 亚洲阿v天堂在线| 国产无马在线| 三级AV入口| 久草免费福利在线播放| 第45页一区二区| 国产精品久久久久久夜夜夜| 好吊色一区| 国产视频第2页| 色哟哟av| 久久久久久久性爱| 在线a亚洲视频播放在线|