在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 應用軟件教程 > 詳細頁面

MySQL數據目錄結構

MySQL數據目錄結構

更新時間:2025-10-17 文章作者:未知 信息來源:網絡 閱讀次數:

數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應...
數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應用程序彼此獨立的數據集合。
從概念上講,大多數關系數據庫系統是相似的:它們有一系列數據庫組成,每個數據庫包含一系列數據庫表,但每個系統有各自組織其管理的數據方式,MySQL也不例外。
缺省地,所有由MySQL服務器mysqld管理的數據存儲在一個稱為MySQL數據目錄的地方,所有數據庫都存放在哪兒,也包括提供服務器操作信息的狀態文件。如果你對一個MySQl安裝執行管理任務,你應該熟知數據目錄的布局及用途。
本文介紹下列專題:
如何確定數據目錄的位置。 
服務器如何組織并提供對數據庫和它管理的表的訪問。 
在哪里找到由服務器生成的狀態文件記憶它們包含什么內容。 
如何改變缺省地點或數據目錄或單獨數據庫的組織結構。 
1、數據目錄的位置
一個缺省數據目錄被編譯進了服務器,如果你從一個源代碼分發安裝MySQL,典型的缺省目錄為/usr/local/var,如果從RPM文件安裝則為/var/lib/mysql,如果從一個二進制分發安裝則是/usr/local/mysql/data。
在你啟動服務器,通過使用一個--datadir=/path/to/dir選項可以明確指定數據目錄位置。如果你想把數據目錄置于其它缺省位置外的某處,這很有用。
作為一名MySQL管理員,你應該知道你的數據目錄在哪里。如果你運行多個服務器,你應該是到所有數據目錄在哪里,但是如果你不知道確切的位置,由多種方法找到它: 
使用mysqladmin variables從你的服務器直接獲得數據目錄路徑名。查找datadir變量的值,在Unix上,其輸出類似于:
%mysqladmin variables

+----------------------+----------------------+
| variable_name        | Value                |
+----------------------+----------------------+
| back_log             | 5                    |
| connect_timeout      | 5                    |
| basedir              | /var/local/          |
| datadir              | /usr/local/var/      |
....
在Windows上,輸出可能看上去像這樣:
c:\mysqladmin variables 
+----------------------+----------------------+
| variable_name        | Value                |
+----------------------+----------------------+
| back_log             | 5                    |
| connect_timeout      | 5                    |
| basedir              | c:\mysql\            |
| datadir              | c:\mysql\data\       |
....
如果你有多個服務器在運行,它們將在不同的TCP/IP端口或套接字上監聽,通過提供連接服務器正在監聽的端口或套接字的--port或--socket選項,你可以輪流獲得它們每一個的數據目錄信息:
%msqladmin --port=port_name variables
%mysqladmin --socket=/path/to/socket variables
mysqladmin命令可運行在任何你能從其連接服務器的主機上,如果你想在一個遠程主機連接服務器,使用一個--host=host_name選項:
%mysqladmin --host=host_name variables
在Windows上,你可以通過使用--pipe強制一個命令管道連接和--socket=pipe_name指定管道名來連接監聽一個命令管道的NT服務器:
c:\mysqladmin --pipe --socket=pipe_name variables
你可以使用ps命令查看任何正在運行mysqld 進程的命令行。 
試一下下列命令之一并尋找--datadir:
%ps axww | grep mysql        BSD風格
%ps -ef | grep mysqld            System V風格
如果你的系統運行多個服務器,ps命令可能特別有用,因為你能馬上發現多個數據目錄位置,缺點是必須在服務器上運行,而且可能沒有有用的信息產生,除非在mysqld命令行上明確指定了--datadir選項。
如果MySQL是從一個源代碼分發安裝的,你可以檢查其配置信息確定數據目錄位置。例如,位置可從頂級Makefile中獲得,但是注意,位置是Makefile中的localstatedir值,不是datadir,而且,如果分發位于一個NFS掛載的文件系統并用來為多個主機構建MySQL,配置信息反映了分發被最新構建的主機,這可能不能提供你感興趣的主機的數據目錄信息。 
如果上述方式失敗,你可以用find尋找數據庫文件,下列命令尋找“.frm”文件,它是任何MySQL安裝的一部分:

% find / -name ".frm" -print

在下文各例中,用DATADIR表示MySQL數據目錄位置。 
2、數據目錄結構
MySQL數據目錄包含了服務器管理的所有數據目錄,這些文件被組織成一個樹狀結構,通過利用Unix或Windows文件系統的層次結構直接實現。 
每個數據庫對應于數據目錄下的一個目錄。 
在一個數據庫中的表對應于數據目錄下的文件。 
數據目錄也包含由服務器產生的幾個狀態文件,如日志文件。這些文件提供了關于服務器操作的重要信息。對管理特別在出了問題而試圖確定問題原因時很有價值。例如,如果某個特定查詢殺死服務器,你可以通過檢查日志文件判別搗亂的查詢。
2.1 MySQL服務器怎樣提供對數據的訪問
在數據目錄下的一切由一個單獨的實體-MySQL服務器mysqld管理,客戶程序絕不直接操作數據。相反,服務器提供數據可訪問的切入點,它是客戶程序與它們想使用的數據之間的中介。
當服務器啟動時,如果有需要,它打開日志文件,然后通過監聽網絡連接位數據目錄呈現一個網絡接口。要訪問數據,客戶程序建立對服務器的一個連接,然后以MySQL查詢傳輸請求來執行希望的操作。服務器執行每一個操作并將結果發回用戶。服務器是多線程的并能服務多個同時的客戶連接。然而,因為修改操作一個執行一個,實際效果是順序化請求,以使兩個客戶決不能在同一時刻改變同一記錄。
在正常的情況下,讓服務器作為數據庫訪問的唯一仲裁者提供了避免可從同時訪問數據庫表的多個進程的破壞的保證。管理員應該知道有時服務器沒有對數據目錄的獨裁控制。 
當你在一個單個數據目錄上運行多個服務器。一般倪云新一個服務器管理主機上的所有數據庫,但是有可能運行多個服務器。如果這完成提供對多個獨立數據目錄的訪問,沒有相互影響的問題,但喲也能啟動多個服務器并指向同一個目錄。一般地,這不是一個好主意。如果你試圖這樣,最好是你的系統提供良好的文件鎖定功能,否則服務器將不能正確協作。如果你將多個服務器同時寫入日志文件,你也冒著你的日志文件稱為混亂的根源的風險。 
在你運行isamchk和myisamchk時。isamchk和myisamchk實用程序用于表的維護、診錯和修復,就想你想的那樣,因為這些程序可以修改表內容,允許它們與服務器正在操作的同時對表操作,這樣能導致表損壞。理解如何限制這種相互影響是很重要的,這樣你不會損壞你的表。 
2.2 數據目表示
每個MySQL服務器管理的數據庫有自己的數據庫表,它是數據目錄下的一個子目錄,其名字與它表示的數據庫相同。例如數據庫my_db對應于數據庫目錄DATADIR/my_db。
這種表示允許多個數據庫級的語句在其實現中十分簡單。CREATE DATABASE db_name在數據目錄中創建一個db_name空目錄,具有只允許MySQL服務器用戶(運行服務器的Unix用戶)的屬主和模式,這等價于下列手工在服務器主機上創建數據庫:
%mkdir DATADIR/db_name
%chmod 700 DADADIR/db_name
用一個空目錄表示一個新數據庫的最簡單方法與其它數據庫甚至為一個空數據庫創建大量的控制文件或系統文件正好相反。
DROP DATABASE語句實現同樣簡單。DROP DATABASE db_name刪除數據庫中的db_name目錄和所有表文件,這幾乎與下列命令一樣:
%rm -rf DATADIR/db_name
(差別是服務器只刪除具有已知用于表的后綴名的文件。如果你在數據庫目錄創建了其它文件。則服務器保留它們,而且目錄本身不被刪除。
SHOW DATABASE基本上不做什么,只是列出位于數據目錄中的目錄名。有些數據庫系統保持一個主表,用于維護所有數據庫,但在MySQL無此構件。由于賦予數據目錄結構的簡潔性,數據庫列表隱含在數據目錄的內容中,而且這樣的表不必有額外的開銷。
2.3 數據庫表的表示
每個數據庫在數據庫目錄中有3個文件:一個樣式(描述文件)、一個數據文件和一個索引文件。每個文件的基本名是表名,文件名擴展名代表文件類型。擴展名如下表。數據和索引文件的擴展名指出表使用老式IASM索引或新式MyISAM索引。
表 MySQL文件類型
文件類型文件名擴展名文件內容
樣式文件.frm描述表的結構(它的列、列類型、索引等)。
數據文件.ISD(ISAM)
或.MYD(MyISAM)包含數據文件上的所有索引的索引樹。
索引文件.ISM(ISAM)
或.MYI(MyISAM)該索引文件依賴表是否有索引而存在。

當你發出一條CREATE TABLE tbl_name時語句定義表的結構時,服務器創建一個名為tbl_name.frm的文件,它包括該結構的內部編碼,同時也創建一個空數據和索引文件,初始化為包含指出無記錄和無索引的信息(如果CREATE TABLE語句包括索引指定,索引文件反映出這些索引)。對應于表的文件的屬主和模式被設置為只允許MySQL服務器用戶訪問。
當你發出一條ALTER TABLE tbl_name語句時,服務器重新編碼tbl_name.frm,并修改數據和索引文件的內容以反映語句指定的結構改變。對于CREATE INDEX和DROP INDEX也是一樣,因為它們被服務器視為與ALTER TABLE等價。DROP TABLE通過刪除對應于表的三個文件來實現。
雖然你可以通過刪除數據庫目錄中對應于表的三個文件,但不能手工創建或修改一個表,如,如果my_db是當前數據庫,DROP TABLE my_tbl大概等價于下列命令。
% rm -rf DATADIR/my_db/my_tbl.*
SHOW TABLE my_db的輸出只是列出my_db數據庫目錄中的.frm文件的基文件名。有些數據庫系統一個注冊表,列舉所有包含在一個數據庫中的表,MySQL不是,因為不必要,“注冊表”隱含在數據目錄的結構中。
[page_break]2.4 操作系統對數據庫和表命名的限制
MySQL對命名數據庫和表有一個原則: 
名字可以由當前字符集中的任何字母數字字符組成,下劃線和美元符$也可以。 
名字最長為64個字符。 
然而,因為數據庫和表的名字對應于目錄和文件名,服務器運行的操作系統可能強加額外的限制。
首先,數據庫和表名僅限于對文件名合法的字符,如$在MySQL的原則中是允許的,但是如果你的操作系統不允許,則你不能在目錄或表名中使用它。實際上,這對Unix或Windows不是所擔心的,最大的難度是在執行數據庫管理時直接在shell中引用名字,例如,如果你命名一個數據庫如$my_db,包含一個美元符,任何從shell中對該名字的引用可能被shell解釋為對一個變量的引用:
%ls $my_db
my_db:undefined variable
對此,你必須轉義$字符或用引號禁止其特殊含義:
%ls \$my_db
%ls ’$my_db’
如果你用引號,一定要用單引號,而雙引號并不禁止變量解釋。
其次,雖然MySQL允許數據庫和表名最長到64個字符,但名字的長度受限于你的操作系統限定的長度,一般這不是一個問題(雖然老的System V強制14個字符)。在這種情況下,你數據庫名的上限為14個字符,而表名上限為10個字符,因為表示表的文件名有一個點(.)和三個字符的擴展名。
第三,文件系統的大小寫敏感性影響到你如何命名和引用數據庫和表名。如果文件系統是大小寫敏感的(如Unix),兩個名字my_tbl和MY_TBL是不同的表。如果文件系統不是大小寫敏感的(如Windows),這兩個名字指的是相同的表。如果你用一個Unix服務器開發數據庫,并且如果你有可能轉移到Windows,你應該記住這一點。
2.5 MySQL狀態文件
除了數據庫目錄,MySQL數據目錄還包含很多狀態文件,這些文件總結在下表中。大多數文件的缺省名從服務器主機名生成,在下表中表示為HOSTNAME。
表 MySQL狀態文件
文件類型缺省名文件內容
進程IDHOSTNAME.pid服務器進程的ID
出錯日志HOSTNAME.err啟動和關閉事件和出錯情況
一般日志HOSTNAME.log連接/斷開事件和查詢信息
更新日志HOSTNAME.nnn修改表結構級內容的所有查詢文本

當服務器啟動時,它將其進程ID寫入進程ID(PID)文件中,而在它關閉時,刪除該文件。PID文件是允許服務器本身被其他進程找到的工具。例如,如果你運行mysql.server,在系統關閉時,關閉MySQL服務器的腳本檢查PID文件以決定它需要向哪個進程發出一個終止信號。
出錯日志由safe_mysqld創建,作為服務器標準出錯輸出的重定向,它包含任何邪到stderr的消息。這意味著只有你通過調用safe_mysqld啟動服務器,出錯文件才存在(無論如何,它是一個啟動服務器的最好方法,因為如果它由于出錯而退出,safe_mysqld將重啟服務器。)。
一般日志和更新日志是可選的。你可以只開啟你需要的日志類型,用--log和--log-update服務器選項。
一般日志提供服務器操作的一般信息:誰從哪里連接服務器和他們發出什么查詢。更新日志提供查詢信息,但只有修改數據庫內容的查詢。更新日志內容被寫成SQL語句,可以將它們提供給mysql客戶程序來執行。如果你遇上崩潰,并且必須倒回備份文件,更新日志就很有用,因為你能重復執行自崩潰時的更新,通過將更新日志反饋給服務器,這允許你將數據庫恢復到崩潰發生時的狀態。
下面是一個簡單的例子,信息出現在一般日志中,它是一個創建一個在數據庫test中表,插入一行,然后刪除表的會話:
990509 7:37:09  492 Connect Paul@localhost on test
   492 Query show databases
   492 Query show tables
   492 Field List tbl_1
   492 Field List tbl_2
   ...
990509 7:34:22  492 Query CREATE TABLE my_tbl (val INT)
990509 7:34:34  492 Query INSERT INTO my_tbl values (1)
990509 7:34:38  492 Query DROP TABLE my_tbl
990509 7:34:40  492 Quit
一般日志包含日期和時間、服務器進程ID、事件類型和事件信息欄目。
同一個會話出現在更新日志中看上去像這樣:
use test;
CREATE TABLE my_tbl (val int);
INSERT INTO my_tbl VALUES(1);
DROP TABLE my_tbl;
對更新日志,用--log-long-format選項獲得一個擴展形式的日志,擴展日志提供有關誰何時發出每一條查詢,這使用更多的磁盤空間,但如果你想知道誰在做什么,而不用將更新日志對照一般日志的內容找到連接事件。
對上面的會話,擴展更新日志產生這樣的信息:
# Time: 990507 7:32:42
# User@Host: paul [paul] @ localhost []
use test;
CREATE TABLE my_tbl (val int);
# User@Host: paul [paul] @ localhost []
INSERT INTO my_tbl VALUES(1);
# Time: 990507 7:32:43
# User@Host: paul [paul] @ localhost []
DROP TABLE my_tbl; 
保證你的日志文件安全并且不讓任意用戶讀取是個好主意。一般日志和更新日志都能包含諸如口令等的敏感信息,因為它們包含查詢文本。如: 
990509 7:23:31  4 Query UPDATE user SET Password=PASSWORD("secret")
    WHERE user="root"
對于檢查和設置數據目錄的權限,請見《MySQL安全性指南》。使數據目錄安性的指令包含下列命令:
% chmod 700 DATADIR
以擁有數據目錄的Unix用戶運行此命令。確保服務器也以此用戶運行,否則該命令不僅將其它人拒之門外,它也阻止服務器訪問你的數據庫。
狀態文件出現在數據目錄的頂級目錄,就象數據庫目錄,所以你可能擔心這些文件名是否與數據庫名沖突或出錯(如在服務器執行SHOW DATABASES語句時)。答案是不。狀態和日志文件信息存儲在文件中,而數據庫是目錄,所以可執行程序能用一個簡單的stat()調用區分它們。如果你看一下數據目錄,你可以區分狀態文件和數據庫目錄,用ls -l并檢查模式的第一個字符是一個"_"還是一個"d"。
你也可以簡單地看一下名字,所有狀態文件名包含一個點("."),而數據庫目錄沒有(.在數據庫名中是無效字符)。

3 重定位數據庫目錄
前面討論的數據目錄結構是缺省配置,所有數據庫和狀態文件均包含其中,然而,你有某些自由決定數據目錄內容的位置,本節討論為什么你可能移走部分數據目錄(或甚至目錄本身)、你能移走什么以及你如何做這些改變。
MySQL允許你重定位數據目錄或其中的成員,由幾個原因你為什么要這樣做: 
你能將數據目錄放在你缺省所在的文件系統更大容量的文件系統上。 
如果你的數據目錄在一個繁忙的硬盤上,你可能把它放在不太忙的磁盤上以均衡磁盤活動。你可以把數據庫和日志文件放在分開的磁盤上或跨磁盤分布。 
你可能想運行多個服務器,各自有自己的數據目錄,這是解決每個進程文件描述符限制問題的一種方法,特別是你不能重新配置內核以允許更高的限制。 
有些系統在例如/var/run中保存服務器的部分文件,你可能想把MySQL的PID文件也放在那兒,為了系統操作的一致性。

3.1 重定位方法
有兩種方法重定位數據目錄的內容: 
你可以在服務器啟動時指定選項,在命令行或在一個選項文件的[mysqld]中。 
你可以移走要重定位的東西,然后在原位置做一個指向新位置的符號連接。 
兩種方法都不能解決你能重定位的一切,下表總結了什么能重定位和用哪種方法重定位。如果你使用選項文件,有可能在全局選項文件/etc/my.cnf(Windows上的c:\my.cnf)指定選項。當前的Windows版本也尋找系統目錄(c:\Windows或c:\NT)。
表 重定位方法
重定位方法適用的重定位方法
整個數據目錄啟動選項或符號連接
單個數據庫目錄符號連接
單個數據庫表符號連接
PID文件啟動選項
一般日志啟動選項
更新日志啟動選項

你也可以使用缺省數據目錄中的選項文件my.cnf,但不推薦使用該文件。如果你想重定位數據目錄本身,你不得不讓缺省數據目錄可讀以便使你能在這里放置選項文件指定服務器應該在哪里找到“真正”的數據目錄!這很混亂。如果你想使用一個選項文件指定服務器選項,最好使用/etc/my.cnf。
3.1 檢驗重定位的效果
在試圖重定位任何東西之前,檢驗操作達到預期效果是個好主意。借助于du、df和ls -l命令獲得磁盤空間的信息,但這些依賴于你正確了解你的文件系統的布局。
下面演示一個在你檢驗一個屬目錄重定位時的設計陷阱。假定你的數據目錄是/usr/local/var,而你想把它移到/var/mysql,因為df顯示/var文件系統有很多的空閑空間:

%df /usr /var
Filesystem  1k-blocks     Used   Avail  Capacity  Mounted on
/dev/wd0s3e    396895   292126   73018    80%     /usr
/dev/wd0s3f   1189359  1111924  162287    15%     /var
  
重定位的數據目錄在/usr文件系統上有多少空閑空間呢?要知道它,使用du -s找出該目錄使用多少空間。
%cd /usr/local/var
%du -s .
133426
這大約是130MB,真實這樣嗎?在數據目錄下試一下df:
%df /usr/local/var
Filesystem  1k-blocks     Used   Avail  Capacity  Mounted on
/dev/wd0s3f   1189359  1111924  162287    15%     /var 
這就奇怪了。如果我們為包含/usr/local/var的文件系統申請空閑空間,為什么卻報告var上的空間呢?這里ls -l提供了答案:
%ls -l /usr/local
....
lrwxrwxrwx  1  root  wheel  10 Dec 11 23:33 var -> /var/mysql
.... 
輸出顯示/usr/local/var是對/var/mysql的符號連接,換句話說,數據目錄已經被重定位于/var文件系統,并用一個指向那里的符號連接代替。通過將數據目錄移到/var竟然釋放了/usr上那么多空間!

3.2 重定位數據目錄
要重定位數據目錄,關閉服務器并把數據目錄移到新位置上,然后你應該刪除員數據目錄并用指向新位置的符號連接代替它,或用明確指出新位置的選項重啟服務器。下表列出指定位置的命令行和選項。
表 數據目錄重定位語法
選項源語法
命令行--data-dir=/path/to/dir
選項文件[mysqld]
datadir=/path/to/dir

3.3 重定位數據庫
數據庫能通過符號連接的方法移走。要重定位一個數據庫,關閉服務器并移走數據庫目錄并刪除原來的數據庫目錄,用指向新位置的符號連接代替它,然后重啟服務器。
下例顯示你如何將一個數據庫bigdb移到一個不同的地方:
%mysqladmin -u root -p shutdown
Enter password: ******
%cd DATADIR
%tar cf - bigdb | (cd /var/db; tar xf -)
%mv bigdb bigdb.orig
ln -s /var/db/bigdb .
%safe_mysqld 
你應該以該數據目錄的擁有者執行這些命令。為了安全起見,原數據庫目錄改名為bigdb.orig。在你驗證了服務器工作正常后,你可以刪除原數據目錄。
%rm -rf bigdb.orig

3.4 重定位數據庫表
重定位一個單獨的表不是個好主意。你可以通過把表文件移到一個不同地方,并在數據目錄中創建指向這些文件的符號連接進行。然而,如果你發出一條ALTER TABLE或OPTIMIZE TABLE語句,將不進行你的修改。
每個語句通過在數據庫目錄中創建一個實現你修改或優化的臨時表,然后刪除原來的表并將臨時表更名為原來的表來完成,結果是你的符號連接被刪除,而且新表又回到數據庫目錄,這是你移走前的原表文件位置。更糟糕的是,你還沒有意識到它們在那兒,繼續占據著空間,而且符號連接已經被破壞,這樣以后當你意識到發生的事情時,如果你忘記你把它們移到什么地方,你可能沒有好辦法追蹤文件了。
因為很難保證具有表訪問權的人不修改或優化表,所以最好把表留在數據庫目錄中。

3.5 重定位狀態文件
你可以重中定位PID文件、一般日志和更新日志。出錯日志由safe_mysqld用啟動選項創建,而不能被重定位(除非你編輯safe_mysqld)。
要在一個不同位置寫入狀態文件,關閉服務器,然后由指定新狀態文件位置的適當選項啟動它。下表列出每一個文件的命令行和選項文件的語法。
表 狀態文件重定位語法
選項源語法
命令行--pid-file=pidfile
--log=lodfile
--log-update=updatefile
選項文件[mysqld]
pid-file=pidfile
log=lodfile
log-update=updatefile

如果你用絕對路徑名指定狀態文件,用該路徑創建文件,否則文件在數據目錄下創建。如,如果你指定--pid-file=/var/run/mysqld.pid,PID文件是/var/run/mysqld.pid。如果你指定-pid-file=mysqld.pid,PID文件是DATADIR/mysqld.pid。
如果你指定無擴展名的更新日志文件,MySQL在它每次打開更新日志時產生順序名。這些名字用一個擴展名.nnn,這里.nnn是還沒被現有更新日志使用的第一個數字(如update.000,update.001等)。你可以通過明確指定擴展名來覆蓋順序名,這時服務器將只使用指定的名字。

全新的路由器不僅讓你更穩定快速地連接無線網絡,更可以讓家中的智能設備連接在一起。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 伊人精品视频在线观看| 欧美亚洲精品一区二区| 国产成年人在线观看| 色婷婷激情视频| 国内精品国产三级国产99| 国产精品69久久久| 国产成人综合一区| 天美一区二区三区| 麻豆传媒网站在线观看| aa在线免费观看| 污污网站在线观看视频| 无码毛片aaa在线| a在线视频观看| 久久精品一二三四| 无码精品a∨在线观看中文| 高清av免费看| 欧美在线一区视频| 男人添女人下面免费视频| 麻豆视频传媒入口| 国产成人久久777777| 手机在线观看日韩av| 久久久噜噜噜www成人网| 手机av在线网站| 国产在线观看福利| 国产成人三级视频| mm1313亚洲国产精品无码试看| 亚洲免费在线播放视频| 北条麻妃在线一区| 日韩专区第三页| 亚洲图片 自拍偷拍| 日韩在线一级片| 红桃一区二区三区| 精品久久久久久久无码| 91免费黄视频| 樱花草www在线| 天天干天天玩天天操| 九色在线视频观看| 狠狠干视频网站| 在线免费看污网站| 天天干天天草天天| 白嫩少妇丰满一区二区| 国产av天堂无码一区二区三区| 欧美激情第四页| 夜夜夜夜夜夜操| 欧美黄色性生活| 黑鬼大战白妞高潮喷白浆| 精品丰满人妻无套内射| 国产女主播av| 善良的小姨在线| 91日韩精品视频| 日本不卡一区二区在线观看| 男人搞女人网站| 蜜臀视频一区二区三区| 成年人视频在线免费| 成人黄色片视频| 免费无码国产v片在线观看| 免费看又黄又无码的网站| 在线观看17c| 小泽玛利亚av在线| 欧美视频在线第一页| 无码人妻精品一区二区三区99v| av污在线观看| 伊人精品视频在线观看| 中文字幕免费高| 欧美做暖暖视频| 91免费黄视频| 久久国产色av免费观看| 国产三级日本三级在线播放| 国产一区二区视频免费在线观看 | 激情五月宗合网| 日韩国产一级片| 少妇高潮喷水久久久久久久久久| 国产69精品久久久久久久| 国产最新免费视频| 亚洲精品www.| 亚洲制服在线观看| 97在线国产视频| 国产最新免费视频| 精品综合久久久久| 成年在线观看视频| 欧美丰满熟妇bbbbbb百度| 欧美一级黄色影院| 永久免费网站视频在线观看| 日本一本中文字幕| 韩国日本美国免费毛片| 亚洲 欧洲 日韩| 国自产拍偷拍精品啪啪一区二区| 99免费视频观看| 午夜探花在线观看| 大陆极品少妇内射aaaaa| 午夜精品在线免费观看| 波多野结衣在线免费观看| 国产 日韩 亚洲 欧美| 天堂av在线网站| 欧美交换配乱吟粗大25p| 黄色三级视频片| 大片在线观看网站免费收看| 无码人妻丰满熟妇区毛片| 黄色网络在线观看| 免费男同深夜夜行网站| 欧美黄色免费网址| 污污的网站18| 久草视频国产在线| 亚洲18在线看污www麻豆| 国产精品久久久久久久乖乖| 艹b视频在线观看| 亚洲熟妇国产熟妇肥婆| 国产系列第一页| www.色就是色| 国产精品沙发午睡系列| 日本国产中文字幕| 五月天激情播播| av五月天在线| 波多野结衣家庭教师在线播放| 日韩不卡一二区| 亚洲一级片网站| 黄色一级免费大片| 男人揉女人奶房视频60分| 日本a级片在线观看| 日日干日日操日日射| 激情网站五月天| www一区二区www免费| 国产一区二区三区小说| 欧美黄色免费网址| 精品一区二区三区毛片| 一区中文字幕在线观看| 手机在线视频一区| 日本高清久久久| 色综合色综合色综合色综合| 国产区二区三区| 美女黄色片视频| 免费裸体美女网站| 国产又粗又长又大的视频| 欧美黄网站在线观看| 日本免费黄视频| 精品一卡二卡三卡| 可以免费在线看黄的网站| av丝袜天堂网| 亚洲欧美国产中文| 亚洲高清视频免费| 交换做爰国语对白| 日本大胆人体视频| 妺妺窝人体色www看人体| 国产中文字幕乱人伦在线观看| 国产午夜精品视频一区二区三区| 女女同性女同一区二区三区按摩| 中文字幕一区二区在线观看视频 | 亚洲一级片av| 福利网在线观看| 在线观看av的网址| 欧美日本视频在线观看| 日日摸天天爽天天爽视频| 美女在线视频一区二区| 特级黄色录像片| 国产精品久久..4399| 欧美精品色婷婷五月综合| 手机视频在线观看| 99精品一级欧美片免费播放| 九九热只有这里有精品| 国产精品少妇在线视频| 亚洲av无日韩毛片久久| 国产在线观看欧美| 欧美黑人又粗又大又爽免费| 国产资源中文字幕| 欧美一区二区三区爽大粗免费| 欧美国产日韩在线播放| 超碰在线免费观看97| 欧美精品久久久久久久免费| 一区二区三区网址| 日本一级黄视频| 中文字幕永久视频| 男女裸体影院高潮| 黄色三级视频片| 国内少妇毛片视频| www.com操| 日本www在线视频| 手机av在线网站| 日本精品www| 日韩精品免费一区| 久热精品在线观看视频| 女人喷潮完整视频| 日韩一级片一区二区| www欧美激情| 欧洲黄色一级视频| 国产精品视频二| 国产免费中文字幕| 免费涩涩18网站入口| 黄色一级片播放| 中文精品无码中文字幕无码专区 | 波多野结衣综合网| 黄色aaaaaa| 成人免费在线观看视频网站| 18禁免费观看网站| 日本精品福利视频| 1314成人网| 九九热免费在线观看| 午夜免费精品视频| 国产视频一区二区视频| 久久国产成人精品国产成人亚洲| 影音先锋成人资源网站|