成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > MySQL如何使用使用Xtrabackup進(jìn)行備份和恢復(fù)

MySQL如何使用使用Xtrabackup進(jìn)行備份和恢復(fù)

熱門標(biāo)簽:話務(wù)外呼系統(tǒng)怎么樣 云南電商智能外呼系統(tǒng)價(jià)格 400電話可以辦理嗎 外東北地圖標(biāo)注 大眾點(diǎn)評(píng)星級(jí)酒店地圖標(biāo)注 高清地圖標(biāo)注道路 智能外呼系統(tǒng)復(fù)位 拉卡拉外呼系統(tǒng) 臨清電話機(jī)器人

1 備份

進(jìn)行備份前需要先創(chuàng)建備份用戶,直接使用 root 用戶進(jìn)行備份也行,但是這樣不太規(guī)范。

    create user backup@'localhost' identified by '123456';
    grant reload,process,lock tables,replication client on *.* to backup@localhost;

1.1 全備

備份整個(gè)庫(kù),使用的是備份用戶,備份文件存放地址為 /backup/

    innobackupex --defaults-file=/etc/my.cnf --user=backup --password=123456 /backup/

1.2 增備

指定為增量備分,使用的是備份用戶,增量的基礎(chǔ)為上一次的全備,已經(jīng)使用 --incremental-basedir 進(jìn)行指定了,備份后存放的文件為 /backup/

    innobackupex --defaults-file=/etc/my.cnf --user=backup --password=123456 --incremental --incremental-basedir=/backup/2021-06-01_14-44-54 /backup/

2 備份恢復(fù)

2.1 準(zhǔn)備數(shù)據(jù)

回滾未提交的事務(wù)及同步已經(jīng)提交的事務(wù)至數(shù)據(jù)文件使數(shù)據(jù)文件處于一致性狀態(tài)

    innobackupex --apply-log --redo-only /backup/2021-06-01_14-44-54/

2.2 進(jìn)行恢復(fù)

在恢復(fù)前,需要確保 MySQL 的數(shù)據(jù)目錄為已經(jīng)刪除了。

    innobackupex --copy-back --datadir=/usr/local/mysql/data /backup/2021-06-01_14-44-54/

恢復(fù)后,需要對(duì) MySQL 的data 目錄進(jìn)行重新賦權(quán):

    chown -R mysql:mysql data/

到這恢復(fù)就完成了。

3 目錄結(jié)構(gòu)

4 備份腳本

4.1 腳本

backup.sh

    #!/bin/bash
    # 獲得程序路徑名
    program_dir=`dirname $0`/..
    # 讀取配置文件中的所有變量值, 設(shè)置為全局變量
    # 配置文件
    conf_file="$program_dir/conf/backup.conf"
    # mysql 用戶
    user=`sed '/^user=/!d;s/.*=//' $conf_file`
    # mysql 密碼
    password=`sed '/^password=/!d;s/.*=//' $conf_file`
    # mysql 備份目錄
    backup_dir=`sed '/^backup_dir=/!d;s/.*=//' $conf_file`
    # mysql 備份壓縮打包目錄
    gzip_dir=`sed '/^gzip_dir=/!d;s/.*=//' $conf_file`
    # percona-xtrabackup命令xtrabackup路徑
    xtrabackup_bin=`sed '/^xtrabackup_bin=/!d;s/.*=//' $conf_file`
    # mysql 全備前綴標(biāo)識(shí)
    full_backup_prefix=`sed '/^full_backup_prefix=/!d;s/.*=//' $conf_file`
    # mysql 增量備前綴標(biāo)識(shí)
    increment_prefix=`sed '/^increment_prefix=/!d;s/.*=//' $conf_file`
    # 備份錯(cuò)誤日志文件
    error_log=$program_dir/var/`sed '/^error_log=/!d;s/.*=//' $conf_file`
    # 備份索引文件
    index_file=$program_dir/var/`sed '/^index_file=/!d;s/.*=//' $conf_file`
    # 備份日期
    backup_date=`date +%F`
    # 備份時(shí)間
    backup_time=`date +%H-%M-%S`
    # 備份時(shí)的周幾
    backup_week_day=`date +%u`
    # 創(chuàng)建相關(guān)目錄
    log_dir=$program_dir/log/backup
    var_dir=$program_dir/var
    mkdir -p $backup_dir
    mkdir -p $log_dir
    mkdir -p $var_dir
    mkdir -p $gzip_dir
    # 全量備份
    function full_backup() {
      backup_folder=${full_backup_prefix}_${backup_date}_${backup_time}_${backup_week_day}
      mkdir -p $backup_dir/$backup_folder
      $xtrabackup_bin \

        --user=$user \

        --password=$password \

        --backup \

        --target-dir=$backup_dir/$backup_folder > $log_dir/${backup_folder}.log 2>1
      return $?
    }
    # 增量備份
    function increment_backup() {
      backup_folder=${increment_prefix}_${backup_date}_${backup_time}_${backup_week_day}
      incr_base_folder=`sed -n '$p' $index_file | \

                       awk -F '[, {}]*' '{print $3}' | \

                       awk -F ':' '{print $2}'`
      mkdir -p $backup_dir/$backup_folder
      $xtrabackup_bin \

        --user=$user \

        --password=$password \

        --backup \

        --target-dir=$backup_dir/$backup_folder \

        --incremental-basedir=$backup_dir/$incr_base_folder > $log_dir/${backup_folder}.log 2>1
      return $?
    }
    # 刪除之前的備份(一般在全備完成后使用)
    function delete_before_backup() {
      cat $index_file | awk -F '[, {}]*' '{print $3}' | \

        awk -v backup_dir=$backup_dir -F ':' '{if($2!=""){printf("rm -rf %s/%s\n", backup_dir, $2)}}' | \

        /bin/bash
      cat $index_file | awk -F '[, {}]*' '{print $3}' | \

        awk -v gzip_dir=$gzip_dir -F ':' '{if($2!=""){printf("rm -rf %s/%s\n", gzip_dir, $2)}}' | \

        /bin/bash
      cat $index_file | awk -F '[, {}]*' '{print $3}' | \

        awk -v log_dir=$log_dir -F ':' '{if($2!=""){printf("rm -rf %s/%s.log\n", log_dir, $2)}}' | \

        /bin/bash
    }
    # 備份索引文件
    function backup_index_file() {
      cp $index_file ${index_file}_$(date -d "1 day ago" +%F)
    }
    # 備份索引文件
    function send_index_file_to_remote() {
      # ./expect_scp ip地址 賬號(hào) 密碼  ${index_file} 目標(biāo)服務(wù)器存放的文件夾 端口號(hào) 
      echo 'send index file ok'
    }
    # 添加索引, 索引記錄了當(dāng)前最新的備份
    function append_index_to_file() {
      echo "{week_day:$backup_week_day, \

             dir:${1}_${backup_date}_${backup_time}_${backup_week_day}, \

             type:${1}, \

             date:${backup_date}}" >> $index_file
    }
    # 記錄錯(cuò)誤消息到文件
    function logging_backup_err() {
      echo "{week_day:$backup_week_day, \

             dir:${1}_${backup_date}_${backup_time}_${backup_week_day}, \

             type:${1}, \

             date:${backup_date}}" >> $error_log
    }
    # 清空索引
    function purge_index_from_file() {
      > $index_file
    }
    # 清空錯(cuò)誤日志信息
    function purge_err_log() {
      > $error_log
    }
    # 打包備份
    function tar_backup_file() {
      cd $backup_dir
      tar -jcf ${gzip_dir}/${1}_${backup_date}_${backup_time}_${backup_week_day}.tar.bz2 \

               ${1}_${backup_date}_${backup_time}_${backup_week_day}
      cd - > /dev/null
      rm -rf ${backup_dir}/${1}_${backup_date}_${backup_time}_${backup_week_day}
    }
    # 發(fā)送備份到遠(yuǎn)程
    function send_backup_to_remote() {
      #  ./expect_scp ip地址 賬號(hào) 密碼 ${gzip_dir}/${1}_${backup_date}_${backup_time}_${backup_week_day}.tar.bz2 目標(biāo)服務(wù)器存放的文件夾 端口號(hào) 
      echo "send $1 remote ok"
    }
    # 判斷是應(yīng)該全備還是增量備份
    # 0:full, 1:incr
    function get_backup_type() {
      backup_type=0
      if [ 1 -eq `date +%H` ]; then
        backup_type=0
      else
        backup_type=1
      fi
      touch $index_file
      if [ ! -n "`cat $index_file`" ]; then
        backup_type=0
      fi
      return $backup_type
    }
    # 測(cè)試配置文件正確性
    function test_conf_file() {
      # 判斷每個(gè)變量是否在配置文件中有配置,沒有則退出程序
      if [ ! -n "$user" ]; then echo 'fail: configure file user not set'; exit 2; fi
      if [ ! -n "$password" ]; then echo 'fail: configure file password not set'; exit 2; fi
      if [ ! -n "$backup_dir" ]; then echo 'fail: configure file backup_dir not set'; exit 2; fi
      if [ ! -n "$gzip_dir" ]; then echo 'fail: configure file backup_dir not set'; exit 2; fi
      if [ ! -n "$full_backup_prefix" ]; then echo 'fail: configure file full_backup_prefix not set'; exit 2; fi
      if [ ! -n "$increment_prefix" ]; then echo 'fail: configure file increment_prefix not set'; exit 2; fi
      if [ ! -n "$error_log" ]; then echo 'fail: configure file error_log not set'; exit 2; fi
      if [ ! -n "$index_file" ]; then echo 'fail: configure file index_file not set'; exit 2; fi
    }
    # 執(zhí)行
    function main() {
      # 檢測(cè)配置文件值
      test_conf_file
      # 判斷是執(zhí)行全備還是增量備份
      get_backup_type
      backup_type=$?
      case $backup_type in
        0 )
          # 全量備份
          full_backup
          backup_ok=$?
          if [ 0 -eq "$backup_ok" ]; then
          # 全備成功
            # 打包最新備份
            tar_backup_file $full_backup_prefix
            # # 將tar備份發(fā)送到遠(yuǎn)程
            send_backup_to_remote $full_backup_prefix
            # 備份索引文件
            backup_index_file
            # 清除之前的備份
            delete_before_backup
            # 清除索引文件
            purge_index_from_file
            # 添加索引, 索引記錄了當(dāng)前最新的備份
            append_index_to_file $full_backup_prefix
            # 發(fā)送索引文件到遠(yuǎn)程
            send_index_file_to_remote
          else
          # 全備失敗
            # 刪除備份目錄
            rm -rf ${backup_dir}/${full_backup_prefix}_${backup_date}_${backup_time}_${backup_week_day}
            # 記錄錯(cuò)誤日志
            logging_backup_err $full_backup_prefix
          fi
          ;;
        1 )
          # 增量備份
          increment_backup
          backup_ok=$?
          if [ "$backup_ok" -eq 0 ]; then
          # 增量備份成功
            # 打包最新備份
            tar_backup_file $increment_prefix
            # # 將tar備份發(fā)送到遠(yuǎn)程
            send_backup_to_remote $increment_prefix
            # 添加索引, 索引記錄了當(dāng)前最新的備份
            append_index_to_file $increment_prefix
            # # 發(fā)送索引文件到遠(yuǎn)程
            send_index_file_to_remote
          else
          # 增量備份失敗
            # 刪除備份目錄
            rm -rf ${backup_dir}/${increment_prefix}_${backup_date}_${backup_time}_${backup_week_day}
            # 記錄錯(cuò)誤日志
            logging_backup_err $increment_prefix
          fi
          ;;
      esac
    }
    main

4.2 配置文件

backup.conf

    # mysql 用戶名
    user=backup
    # mysql 密碼
    password=123456
    # 備份路徑
    backup_dir=/data/backup
    # 備份壓縮打包目錄
    gzip_dir=/data/backups/backups_zip
    # innobackupex 命令路徑
    xtrabackup_bin=/opt/xtrabackup/bin/xtrabackup
    # 全量備信息名稱 前綴
    full_backup_prefix=full
    # 增量備信息名稱 前綴
    increment_prefix=incr
    # 錯(cuò)誤日志文件(根據(jù)此文件知道備份是否成功)
    # format:
    # {week_day:1,dir:full/incr_2015-12-29_00-00-00_7,type:full/incr,date:2015-12-30}
    error_log=mysql_increment_hot_backup.err
    # 索引文件
    # format:
    # {week_day:1,dir:full/incr_2015-12-29_00-00-00_7,type:full/incr,date:2015-12-30}
    index_file=mysql_increment_hot_backup.index

5 恢復(fù)腳本

5.1 腳本

restore.sh

    #!/bin/bash
    # 獲得程序路徑名
    program_dir=`dirname $0`/..
    # 讀取配置文件中的所有變量值, 設(shè)置為全局變量
    # 配置文件
    conf_file="$program_dir/conf/restore.conf"
    # MySQL 數(shù)據(jù)文件夾
    data_dir=`sed '/^data_dir=/!d;s/.*=//' $conf_file`
    # 備份索引文件路徑
    backup_index_file=`sed '/^backup_index_file=/!d;s/.*=//' $conf_file`
    # percona-xtrabackup命令xtrabackup路徑
    xtrabackup_bin=`sed '/^xtrabackup_bin=/!d;s/.*=//' $conf_file`
    # 備份文件目錄
    backup_restore_dir=`sed '/^backup_restore_dir=/!d;s/.*=//' $conf_file`
    # 檢查配置文件正確性
    function exam_conf_file() {
        # 判斷每個(gè)變量是否在配置文件中有配置,沒有則退出程序
        if [ ! -n "$data_dir" ]; then echo 'fail: configure file data_dir not set'; exit 2; fi
        if [ ! -n "$backup_index_file" ]; then echo 'fail: configure file backup_index_file not set'; exit 2; fi
        if [ ! -n "$xtrabackup_bin" ]; then echo 'fail: configure file xtrabackup_bin not set'; exit 2; fi
        if [ ! -n "$backup_restore_dir" ]; then echo 'fail: configure file backup_restore_dir not set'; exit 2; fi
    }
    # 檢查備份文件是否是壓縮格式
    function exam_backup_restore_file(){
        file_backup_restore_name_arr=`ls $backup_restore_dir`
        for file_name in $file_backup_restore_name_arr;do
            if [ "${file_name##*.}"x = "bz2"x ];then
                tar -jxf $backup_restore_dir/$file_name -C $backup_restore_dir
                rm -rf $backup_restore_dir/$file_name
            fi

        done
    }
    # 檢查 MySQL 是否停止
    function exam_mysql_is_stop(){
        if [ 0 -eq `ps -ef | grep mysql | grep -v grep | wc -l` ]; then
            echo "MySQL 服務(wù)已停止"
        else
            /etc/init.d/mysqld stop
            echo "正在停止 MySQL 服務(wù)"
            sleep 3
            echo "已停止 MySQL 服務(wù)"
        fi
    }
    # 檢查 MySQL data 文件是否刪除
    function exam_data_is_del(){
        if [ -d $data_dir ];then
            echo "正在刪除 MySQL 的data文件"
            rm -rf $data_dir
        else
            echo "MySQL 的數(shù)據(jù)文件已刪除 "
        fi
    }
    # 讀取備份索引文件
    function read_backup_index() {
        cat $backup_index_file | awk '{print $2}' | awk -F: '{print $2}' | awk '{sub(/.$/,"")}1'
    }
    # 準(zhǔn)備全備文件
    function ready_full(){
        full_file_name=`echo ${1} | awk '{print $1}'`
        $xtrabackup_bin/innobackupex \

            --apply-log \

            --redo-only \

            $backup_restore_dir/$full_file_name

        echo "全備文件已準(zhǔn)備好"
    }
    # 準(zhǔn)備增備文件
    function ready_incr(){
        backup_index=$(read_backup_index)
        full_file_name=`echo $backup_index | awk '{print $1}'`
        for file_name in $backup_index;do
            if [ 1 -eq `echo "$file_name" | grep incr | wc -l` ]; then 
                $xtrabackup_bin/innobackupex \

                    --apply-log \

                    --redo-only \

                    $backup_restore_dir/$full_file_name \

                    --incremental-dir=$backup_restore_dir/$file_name
            fi
        done
        echo "增備文件已準(zhǔn)備好"
    }
    # 執(zhí)行備份恢復(fù)
    function exec_backup_restore(){
        echo "開始進(jìn)行備份恢復(fù)"
        full_file_name=`echo ${1} | awk '{print $1}' `
        $xtrabackup_bin/innobackupex \

            --copy-back \

            --datadir=$data_dir \

            $backup_restore_dir/$full_file_name
    }
    # 執(zhí)行
    function main() {
        # 檢查配置文件正確性
        exam_conf_file
        # 檢查備份文件是否是壓縮格式
        exam_backup_restore_file
        # 檢查 MySQL 是否停止
        exam_mysql_is_stop
        # 檢查 MySQL data 文件是否刪除
        exam_data_is_del
        # 讀取索引文件
        backup_index=$(read_backup_index)
        # 準(zhǔn)備全備文件
        ready_full $backup_index
        # 準(zhǔn)備增備文件
        ready_incr
        # 執(zhí)行備份恢復(fù)
        exec_backup_restore $backup_index
        # 對(duì)數(shù)據(jù)文件進(jìn)行賦權(quán)
        echo "重新對(duì)數(shù)據(jù)目錄賦權(quán)"
        chown -R mysql:mysql $data_dir
        echo "正在啟動(dòng)MySQL"
        /etc/init.d/mysqld start
        echo "備份恢復(fù)成功"
    }
    main

5.2 配置文件

restore.conf

    # MySQL 數(shù)據(jù)文件夾
    data_dir=/opt/mysql/data
    #備份索引文件路徑
    backup_index_file=/opt/xtrabackup/backup/var/mysql_increment_hot_backup.index
    #xtrabackup bin 的目錄 
    xtrabackup_bin=/opt/xtrabackup/bin
    # 備份文件目錄
    backup_restore_dir=/data/backups/backups_zip

以上就是MySQL如何使用使用Xtrabackup進(jìn)行備份和恢復(fù)的詳細(xì)內(nèi)容,更多關(guān)于MySQL 用Xtrabackup備份和恢復(fù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • 安裝使用Percona XtraBackup來(lái)備份恢復(fù)MySQL的教程
  • 利用Xtrabackup工具備份及恢復(fù)(MySQL DBA的必備工具)
  • mysql xtrabackup 備份恢復(fù)實(shí)現(xiàn)分享
  • MySQL使用Xtrabackup備份流程詳解
  • xtrabackup備份還原MySQL數(shù)據(jù)庫(kù)
  • MySQL使用xtrabackup進(jìn)行備份還原操作
  • 使用xtrabackup實(shí)現(xiàn)mysql備份
  • 編寫腳本令Xtrabackup對(duì)MySQL數(shù)據(jù)進(jìn)行備份的教程
  • MySQL中使用innobackupex、xtrabackup進(jìn)行大數(shù)據(jù)的備份和還原教程

標(biāo)簽:三明 揚(yáng)州 定西 阿里 福州 無(wú)錫 溫州 山西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL如何使用使用Xtrabackup進(jìn)行備份和恢復(fù)》,本文關(guān)鍵詞  MySQL,如何,使用,Xtrabackup,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL如何使用使用Xtrabackup進(jìn)行備份和恢復(fù)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于MySQL如何使用使用Xtrabackup進(jìn)行備份和恢復(fù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    青娱乐国产在线视频| 美女黄色成人网| 无码国产69精品久久久久网站| 97久久人人超碰| 看全色黄大色大片| 欧美成人a∨高清免费观看| 久久精品最新免费国产成人| 四虎永久在线精品免费网址| 欧美草逼视频| 91香蕉视频污版| 亚洲国产电影| 97香蕉超级碰碰久久免费软件| 91国拍精品国产粉嫩亚洲一区| 精品无码久久久久久久动漫| 亚洲男人av| 国产精品欧美一区二区三区奶水| 精品免费国产一区二区| 免费一级网站| 国产精品视频专区| 久精品国产欧美| 欧美激情亚洲国产| 国产欧美一区二区三区精品酒店| 影音先锋黄色资源| 68精品国产免费久久久久久婷婷| 免费日韩视频在线观看| 91精品国产吴梦梦| 色妞在线综合亚洲欧美| 亚洲午夜久久久久久久国产| 草美女在线观看| 国产色无码精品视频国产| 亚洲毛茸茸少妇高潮呻吟| 欧美日韩第一区日日骚| 蜜桃免费在线视频| 亚洲综合爱爱久久网| 成人性生交大片免费看中文视频| 中国女人内谢69xxxx免费视频| 欧美日韩中出| 国产精品色婷婷久久58| 久久国产精品成人免费观看的软件| av动漫在线观看| 香蕉久久成人网| 男人的天堂在线免费视频| 欧美日韩亚洲精品内裤| 亚洲伊人观看| 91久久国产综合久久91| 欧美一区二区三区四区高清| 国产高清视频在线播放| 一区二区冒白浆视频| 亚洲国产精品推荐| 亚洲女人毛茸茸高潮| 亚洲精品8mav| 久草在线新视觉| 黄页网址大全在线观看| 在线观看视频中文字幕| 欧美日韩精品一区二区三区四区| 国产激情精品久久久第一区二区| 中文字幕一区在线观看| www.欧美国产| 国精品人伦一区二区三区蜜桃| 欧美色综合一区二区三区| jizz中文字幕| 天天插天天操天天射| 乳奴隷乳フ辱julia在线观看| 日韩一级二级三级精品视频| 日韩一本二本av| 日韩午夜免费视频| 国产欧美一区二区三区在线看| 五月天综合激情| 亚洲色图av在线| 97国产精品久久| 久久综合中文| 欧美日韩国产高清电影| 亚洲欧美日韩精品在线| 亚洲av少妇一区二区在线观看| 少妇光屁股影院| 午夜写真片福利电影网| 欧美日本一区二区高清播放视频| 亚洲综合免费视频| 国产成人在线影院| 欧美日韩一区二区国产| 日韩欧美一区二区久久婷婷| 四虎影院成人在线观看| 波多野结衣在线电影| 国产美女视频网站| 国产一区在线免费观看| 亚洲一区二区三区在线观看网站| 一级片一区二区三区| 成人av一级片| 国产精品久久二区二区| 91久久精品一区二区| 欧美成人精品xxx| 欧美动物xxx| 色在线视频播放| 国产精品自拍偷拍| 精品久久久久久久久久| 欧美aaaaaaaa| 成人毛片av在线| 国产一区在线观看麻豆| 欧美一区二区三区免费| 亚洲国产精品日韩| 久久久久久久一区二区| 在线免费观看亚洲| 国产精品毛片大码女人| 91网页版在线| 国产精品一区在线看| 国产污视频在线看| 亚洲欧美日韩中文字幕一区二区三区| 亚洲AV无码一区二区三区性| 国产精品综合av一区二区国产馆| 男人天堂资源在线| 蜜桃久久久久久久| 黄色免费在线网站| 国产精品美女免费| 欧美一区激情视频在线观看| 欧美亚洲tv| 成人xvideos免费视频| 1024精品久久久久久久久| 国产盗摄视频一区二区三区| 久久国产精品系列| 欧美精品性视频| 嫩草视频在线观看| 不卡欧美aaaaa| 国产偷国产偷亚洲清高网站| 蜜桃视频网站在线| 色综合伊人色综合网站| 国产爆初菊在线观看免费视频网站| ㊣最新国产の精品bt7086| 欧美一级网址| 日韩欧美综合| 99国产精品| 亚洲高清极品| 亚洲欧美偷拍三级| 最近中文字幕在线观看| 欧美aaa一级片| 日韩av成人| 久久久久久久久久久妇女| 欧美影院天天5g天天爽| 韩日午夜在线资源一区二区| 中文字幕在线字幕中文| 最新av在线免费观看| 午夜毛片在线| 午夜一级毛片| 国产69久久精品成人看| 91麻豆精品91久久久久久清纯| 一区二区在线中文字幕电影视频| 国产一卡2卡3卡免费网站| 亚洲18女电影在线观看| 亚洲精品国产无套在线观| 亚洲天堂美女视频| 国产社区精品视频| 性生活视频网站| 欧美激情国产高清| 一区二区高清视频| 久久成人国产| 91久久综合| 97精品国产综合久久久动漫日韩| 日本三级2019| 中国女人精69xxxxxx视频| www欧美激情| 欧美高清在线一区二区| 国产一区二区三区在线免费观看| 日韩美女视频免费在线观看| 偷拍日韩校园综合在线| 久久久久久亚洲精品| 日本在线观看一区| 欧美日韩国产在线播放| 国产调教视频在线观看| 视频免费一区| 青春草在线视频观看| 久久精品中文字幕电影| 最新中文乱码字字幕在线| 在线精品视频免费观看| 欧美日本一区二区三区四区| 中文字幕激情小说| 一区二区欧美国产| 亚洲精品免费在线观看视频| 欧美另类高清videos| 久久av老司机精品网站导航| 日韩欧美国产wwwww| 久久久久久久无码| 国产精品免费观看视频| 视频三区二区一区| 中文字幕在线视频观看| 欧美日韩视频精品二区| 全球最大av网站久久| av软件在线观看| 欧美成人精品激情在线视频| 激情久久久久久久| 日产精品久久久一区二区| 成人免费xxxxx在线视频| 欧美最顶级a∨艳星| 亚洲高清毛片一区二区| 久久夜色精品国产欧美乱| 久久精品网站免费观看| 精品一区二区视频在线观看| 麻豆国产一区| 亚洲图片激情小说| 一级黄色片在线观看| 日本护士...精品国| 国产91露脸中文字幕在线| 日韩欧美中文字幕一区| 亚洲私人影吧| 午夜在线视频一区二区区别| 亚洲欧美激情一区| 亚洲高清在线免费| 亚洲免费国产视频| 亚洲国产不卡| 精品视频在线播放免| 成人免费视频入口| 欧美日本精品在线| 国产精品666| 国产成人aaa| 黄网站视频在线观看| 欧美日韩一区二区精品| 免费黄色av电影| 欧美人与禽猛交乱配视频| 欧美激情偷拍自拍| 第四色男人最爱上成人网| 91精品久久久久久久久久| 香蕉一区二区| 黄色网在线看| 天天干,天天干| av在线www| 91成人网在线| 日韩妆和欧美的一区二区| 久久久精品国产网站| 天天影视色香欲综合网天天录日日录| 亚洲www在线观看| 欧美日韩午夜视频在线观看| 国产自产一区二区| 老司机福利av| 国精产品一区一区二区三区mba| 亚洲国产高清aⅴ视频| 一级一级黄色片| 欧美视频国产精品| v天堂福利视频在线观看| 在线亚洲免费| 亚洲图片欧美| 爱情岛论坛vip永久入口| 欧美日韩精品一区二区三区视频播放| 中文字幕视频精品一区二区三区| 五月激情六月婷婷| 影音先锋国产资源站| 制服丝袜日韩国产| 国产精品久久久乱弄| 日韩国产精品大片| 欧美激情xxxxx| 亚洲精品久久久北条麻妃| 日韩精品综合一本久道在线视频| 亚洲无线看天堂av| 久久久久久久久综合| 精品福利在线看| 日本一本在线免费福利| 精品一区二区三区电影| 97久久精品在线| 久久艳片www.17c.com| 老司机午夜性大片| 国产精品国产三级在线观看| 国产精品18久久久久网站| 欧美一区二区三区黄片| 日本簧片在线观看| 日本美女一区二区三区视频| 九九99久久| 国产精品白丝喷水在线观看| 亚洲网站免费观看| 久久久噜噜噜www成人网| 一区二区三区观看| 成人网18免费软件大全| jjzz黄色片| 色猫视频免费观看| 国产女人水真多18毛片18精品视频| 天天做天天爱天天高潮| 97香蕉超级碰碰久久免费软件| 精品国产无码一区二区| www红色一片_亚洲成a人片在线观看_| 国产精品视频在线播放| 中文字幕制服丝袜在线| 好看的日韩av电影| 国产综合欧美在线看| 黄色国产精品| 国产乱叫456在线| 国产亚洲欧美日韩美女| 在线免费观看中文字幕| 久久久久一区二区三区| 国产精品v日韩精品v在线观看| 亚洲视频在线观看一区二区三区| 天堂中文在线8| 肉丝袜脚交视频一区二区| 国产小视频在线| 久久综合九色欧美综合狠狠| 欧美巨大黑人极品精男| 欧美精品久久久久久久免费观看| 天天操天天射天天舔| 懂色av中文一区二区三区天美| 日韩免费av网站| 欧洲美女7788成人免费视频| 欧美日韩不卡在线| 免费国产成人看片在线| 国产精品偷伦一区二区| 久久国产波多野结衣| 第一区第二区在线| 国产毛片精品视频| www.97视频| 亚洲伦理一区| 国产资源在线一区| 一级久久久久久| 韩国精品主播一区二区在线观看| 五月综合激情日本mⅴ| 国产福利在线免费观看| 亚洲狼人综合干| 福利视频999| 久久久无码人妻精品无码| 91吃瓜网在线观看| 国产精品亚洲一区| av手机免费在线观看| 麻豆一区在线观看| 久久国产亚洲精品| 日韩精品一区二区av| av在线免费播放网站| 亚洲一区二区三区精品中文字幕| 亚洲 国产 欧美一区| 日韩欧美精品综合| 97精品中文字幕| 裸体大乳女做爰69| 私人玩物在线观看| 欧美与亚洲与日本直播| 中国老熟女重囗味hdxx| 欧美日韩中文字幕在线观看|