日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

python MySQL 插入Elasticsearch

發布時間:2023/12/18 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python MySQL 插入Elasticsearch 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、需求分析

注意: 本環境使用 elasticsearch 7.0版本開發,切勿低于此版本

mysql 表結構

有一張表,記錄的數據特別的多,需要將7天前的記錄,插入到Elasticsearch中,并刪除原有表7天前的記錄。

表結構如下:

CREATE TABLE `historic_records` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`user_id` varchar(50) NOT NULL DEFAULT '' COMMENT '用戶id',`time` bigint(20) NOT NULL DEFAULT '0' COMMENT '上線/下線時間',`create_time` bigint(20) NOT NULL DEFAULT '0' COMMENT '創建時間',`update_time` bigint(20) NOT NULL DEFAULT '0' COMMENT '更新時間',`online_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '在線狀態 默認1 0 離線 1 在線',`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '軟刪除標志:0-已刪除;1-正常',PRIMARY KEY (`id`),KEY `user_id` (`user_id`),KEY `order_index` (`time`,`create_time`,`update_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='歷史記錄表'; View Code

?

查詢sql:

select * from historic_records where create_time < unix_timestamp(date_add(cast(sysdate() as date), interval -7 day)) * 1000

?

刪除sql:

delete from historic_records where create_time < unix_timestamp(date_add(cast(sysdate() as date), interval -7 day)) * 1000

?

ES中的一些概念

index(索引)

相當于mysql中的數據庫

type(類型)

相當于mysql中的一張表

document(文檔)

相當于mysql中的一行(一條記錄)

field(域)

相當于mysql中的一列(一個字段)

節點

一個服務器,由一個名字來標識

集群

一個或多個節點組織在一起

分片

將一份數據劃分為多小份的能力,允許水平分割和擴展容量。多個分片可以響應請求,提高性能和吞吐量。

副本

復制數據,一個節點出問題時,其余節點可以頂上。

倒排索引

可參考 https://www.elastic.co/guide/cn/elasticsearch/guide/current/inverted-index.html

?

es數據結構

設定映射,規定好各個字段及其數據類型,便于es更好地進行管理。根據mysql表結構,映射如下:

# 創建映射 _index_mappings = {"settings": {"index": {"number_of_shards": 3,"number_of_replicas": 1}},"mappings": {# self.index_type : {"properties": {"id": {"type": "long"},"loid": {"type": "keyword"},"mac": {"type": "keyword"},"time": {"type": "date","format": "epoch_millis"},"create_time": {"type": "date","format": "epoch_millis"},"update_time": {"type": "date","format": "epoch_millis"},"online_status": {"type": "short"},"status": {"type": "short"}}# } } } View Code

?

解釋:

索引設置,都在 settings{...} 中

number_of_shards
每個索引的主分片數,默認值是 5 。這個配置在索引創建后不能修改。


number_of_replicas
每個主分片的副本數,默認值是 1 。對于活動的索引庫,這個配置可以隨時修改。

?

映射配置,都在mappings{...} 中

屬性設置,都在?properties{...} 中

?

Elasticsearch 支持?如下簡單域類型:

  • 字符串:?string
  • 整數 :?byte,?short,?integer,?long
  • 浮點數:?float,?double
  • 布爾型:?boolean
  • 日期:?date

?

仔細看上面的mysql 表結構

由于 id 的類型是?bigint(20),那么在es中就是?long,表示長整形。

user_id 的類型是?varchar(50) ,在es中,有2中,分別是 text和?keyword。

這2種,是有區別的。text 會創建全文索引,支持模糊搜索。而keyword則不會,必須精確搜索才行。

由于 user_id不需要模糊搜索,因此 設置?keyword才是合理的。

?

create_time 雖然類型是?bigint(20),但是它存儲在mysql里面,表示時間戳。

因此es中就是data,時間格式為:epoch_millis,表示微秒時間戳。

?

online_status 的類型是tinyint(1),在es中是?short,表示短的數字

?

三、elasticsearch和kibana搭建

elasticsearch

新建目錄elasticsearch

mkdir /opt/elasticsearch-7.1.1

目錄結構如下:

./ ├── dockerfile ├── elasticsearch-7.1.1-amd64.deb ├── run.sh └── sources.list

?

dockerfile

FROM ubuntu:16.04 # 修改更新源為阿里云 ADD sources.list /etc/apt/sources.list ADD elasticsearch-7.1.1-amd64.deb ./ # 安裝jdk和elasticsearch RUN apt-get update && apt-get install -y openjdk-8-jdk --allow-unauthenticated && apt-get clean all && dpkg -i elasticsearch-7.1.1-amd64.deb && rm -rf elasticsearch-7.1.1-amd64.deb EXPOSE 9200 # 添加啟動腳本 ADD run.sh . RUN chmod 755 run.sh ENTRYPOINT [ "/run.sh"] View Code

?

run.sh

#!/bin/bash set -e# 添加時區 TZ=Asia/Shanghai ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone# 覆蓋配置文件 cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak echo "transport.host: localhost transport.tcp.port: 9300 http.port: 9200 network.host: 0.0.0.0" >> /etc/elasticsearch/elasticsearch.yml # 修改啟動文件,去掉-d參數,避免后臺運行 sed -i 72's@-d -p $PID_FILE@-p $PID_FILE@g' /etc/init.d/elasticsearch# 啟動elasticsearch,要hold住,否則容器啟動就退出了! /etc/init.d/elasticsearch start View Code

?

sources.list

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted deb http://mirrors.aliyun.com/ubuntu/ xenial universe deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu xenial-security main restricted deb http://mirrors.aliyun.com/ubuntu xenial-security universe deb http://mirrors.aliyun.com/ubuntu xenial-security multiverse View Code

?

生成鏡像

docker build -t elasticsearch-7.1.1 .

?

啟動容器

docker run -d -it --restart=always -p 9200:9200 elasticsearch-7.1.1

?

訪問頁面

?

?

kibana

新建目錄kibana

mkdir /opt/kibana-7.1.1

目錄結構如下:

./ ├── dockerfile ├── kibana-7.1.1-amd64.deb └── run.sh

?

dockerfile

FROM ubuntu:16.04 ADD kibana-7.1.1-amd64.deb ./ # 安裝jdk和elasticsearch RUN dpkg -i kibana-7.1.1-amd64.deb && rm -rf kibana-7.1.1-amd64.deb EXPOSE 5601 # 添加啟動腳本 ADD run.sh . RUN chmod 755 run.sh ENTRYPOINT [ "/run.sh"] View Code

?

run.sh

#!/bin/bash# 添加時區 TZ=Asia/Shanghai ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone#elasticsearch="192.168.91.128" if [ -z $elasticsearch ];thenecho "elasticsearch參數為空!比如: 192.168.91.128"exit fi# 修改配置文件 # 修改監聽地址 sed -i '7s@#server.host: "localhost"@server.host: "0.0.0.0"@g' /etc/kibana/kibana.yml # 刪除行,并添加一行內容 sed -i '28d' /etc/kibana/kibana.yml sed -i "N;28 i elasticsearch.hosts: ["http://$elasticsearch:9200"]" /etc/kibana/kibana.yml # 啟動 /usr/share/kibana/bin/kibana "-c /etc/kibana/kibana.yml" View Code

?

生成鏡像

docker build -t kibana-7.1.1 .

?

啟動鏡像

docker run -d -it --restart=always -p 5601:5601 -e elasticsearch=192.168.10.104 kibana-7.1.1

?

訪問頁面

?

二、查詢mysql數據

為了方便操作 mysql,封裝了一個mysql工具類,用來查詢和更新數據。

mysql.py

#!/usr/bin/env python3 # coding: utf-8import pymysqlclass Mysql(object):# mysql 端口號,注意:必須是int類型def __init__(self,host,user,passwd,db_name,port=3306):self.host = hostself.user = userself.passwd = passwdself.db_name = db_nameself.port = portdef select(self,sql):"""執行sql命令:param sql: 命令:return: 元祖"""try:conn = pymysql.connect(host=self.host,user=self.user,passwd=self.passwd,port=self.port,database=self.db_name,charset='utf8',cursorclass=pymysql.cursors.DictCursor)cur = conn.cursor() # 創建游標cur.execute(sql) # 執行sql命令res = cur.fetchall() # 獲取執行的返回結果 cur.close()conn.close() # 關閉mysql 連接return resexcept Exception as e:print(e)return Falsedef update(self,sql):"""更新操作,比如insert, delete,update:param sql: sql命令:return: bool"""try:conn = pymysql.connect(host=self.host,user=self.user,passwd=self.passwd,port=self.port,database=self.db_name,)cur = conn.cursor(cursor=pymysql.cursors.DictCursor) # 創建游標# conn.cursor()# print("ip: {} insert 執行命令: {}".format(self.host,sql))sta = cur.execute(sql) # 執行sql命令,返回影響的行數# print("sta",sta,type(sta))#res = cur.fetchall() # 獲取執行的返回結果if isinstance(sta,int): # 判斷返回結果, 是數字就是正常的#print('插入記錄 Done')pass# write_log('正常,遠程執行sql: %s 成功'%sql, "green")else:write_log('錯誤,遠程執行sql: %s 失敗'%sql, "red")return Falseconn.commit() # 主動提交,否則執行sql不生效 cur.close()conn.close() # 關閉mysql 連接return staexcept Exception as e:print(e)# write_log('錯誤,遠程mysql執行命令: {} 異常'.format(sql), "red")return False View Code

?

使用時,就簡單了。導入這個類,調用相關方法。

mysql_test.py

from mysql import Mysqlhost = "192.168.0.179" user = "sdn_db" passwd = "Sdn@ujmyhn" db_name = "terminalservice" port = 3306sql = "select * from terminals_record_0 where create_time < unix_timestamp(date_add(cast(sysdate() as date), interval -7 day)) * 1000" res = Mysql(host,user,passwd,db_name,port).select(sql) print(res) View Code

?

?

三、完整代碼

由于時間關系,代碼不一一解釋了。附上完整代碼:

./ ├── conf.py ├── es_bulk.py ├── README.md ├── requirements.txt └── utils├── common.py└── mysql.py

?

conf.py

#!/usr/bin/env python3 # coding: utf-8 """ 配置文件,用于mysql和elasticsearch """ import os BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 項目根目錄# mysql HOST = "192.168.0.136" USER = "root" PASSWD = "123456" DB_NAME = "terminal" PORT = 3306# elasticsearch INDEX_NAME = "historic_records" INDEX_TYPE = "_doc" ES_IP = "192.169.3.133"MAXIMUM = 100 # 一次性插入多少條 View Code

?

es_bulk.py

#!/usr/bin/env python3 # coding: utf-8import time from elasticsearch import Elasticsearch from elasticsearch import helpersimport conf from utils.mysql import Mysql from utils.common import write_log,valid_ip,check_tcpclass ElasticObj:def __init__(self,timeout=3600):''':param timeout: 超時時間'''self.index_name = conf.INDEX_NAME # 索引名稱self.index_type = conf.INDEX_TYPE # 索引類型self.es_ip = conf.ES_IP # es ip# 無用戶名密碼狀態self.es = Elasticsearch([self.es_ip], port=9200, timeout=timeout)# 用戶名密碼狀態# self.es = Elasticsearch([self.es_ip], http_auth=('esadm', 'mdase123'), port=9200, timeout=timeout)def create_index(self):'''創建索引:return: bool'''# 創建映射_index_mappings = {# 索引配置"settings": {"index": {"number_of_shards": 3, # 分片數"number_of_replicas": 1 # 副本數 }},# 設置字段"mappings": {"properties": {"id": {"type": "long"},"loid": {"type": "keyword"},"mac": {"type": "keyword"},"time": {"type": "date","format": "epoch_millis"},"create_time": {"type": "date","format": "epoch_millis"},"update_time": {"type": "date","format": "epoch_millis"},"online_status": {"type": "short"},"status": {"type": "short"}}}}# 判斷索引不存在時if self.es.indices.exists(index=self.index_name) is not True:# 創建索引res = self.es.indices.create(index=self.index_name, body=_index_mappings)# print(res)if not res:write_log("錯誤,創建索引{}失敗".format(self.index_name),"red")return Falsewrite_log("正常,創建索引{}成功".format(self.index_name), "green")return Trueelse:write_log("正常,索引{}已存在".format(self.index_name), "green")return Truedef bulk_insert(self,table,data_list):"""批量寫入數據:param table: 表名:param data_list: 數據列表[{'online_status': 1,'update_time': 1556073035327,'create_time': 1556073035327,'id': 1, 'status': 1,'time': 1556073035327,'loid': '100010000123','mac': '60:45:cb:87:c9:93'},...]:return: bool"""# 批量插入start_time = time.time() # 開始時間actions = [] # 臨時數據列表i = 0 # 計數值try:# 循環數據列表for data in data_list:action = {"_index": self.index_name,"_type": self.index_type,#"_id": i, #_id 也可以默認生成,不賦值"_source": {'id': data['id'],'user_id': data['user_id'],'time': data['time'],'create_time': data['create_time'],'online_status': data['online_status'],'status': data['status'],}}i += 1actions.append(action) # 添加到列表if len(action) == conf.MAXIMUM: # 列表數量達到100時helpers.bulk(self.es, actions) # 批量插入數據del actions[0:len(action)] # 刪除列表元素if i > 0: # 不足100時,插入剩余數據 helpers.bulk(self.es, actions)end_time = time.time() # 結束時間t = round((end_time - start_time),2) # 計算耗時# print('本次共寫入{}條數據,用時{}s'.format(i, t))write_log("正常,{} 表寫入ES {}條數據,用時{}s".format(table,i, t), "green")return Trueexcept Exception as e:print(e)return Falsedef has_table(self,db_name,target_table):"""遠程表是否存在:return: bool"""mysql_obj = Mysql(conf.HOST, conf.USER, conf.PASSWD, conf.DB_NAME, conf.PORT)sql = "select count(1) from {}.{}".format(db_name, target_table)res = mysql_obj.select(sql)# print("表是否存在",res,type(res))if res is False:write_log("錯誤,遠程表 {}.{} 不存在".format(db_name,target_table),"red")return Falseelse:return Truedef has_conf(self):"""判斷配置文件中的mysql和es 端口是否正常:return:"""if not valid_ip(conf.HOST):write_log("錯誤,MySQL IP配置不正確","red")return Falseif not valid_ip(conf.ES_IP):write_log("錯誤,ES IP配置不正確","red")return Falseif not check_tcp(conf.HOST,conf.PORT):write_log("錯誤,MySQL {} 端口不可達".format(conf.PORT),"red")return Falseif not check_tcp(conf.ES_IP,9200):write_log("錯誤,ES 9200 端口不可達","red")return Falsereturn Truedef read_mysql_es(self):"""讀取7天的記錄,并寫入es:return: bool"""# 判斷配置文件中的mysql和es 端口是否正常if not self.has_conf():# print(1)return False# 創建索引if self.create_index() is False:# print(2)return Falsemax = conf.MAXIMUM # 一次性查詢多少條 flag_list = [] # 標志位列表mysql_obj = Mysql(conf.HOST, conf.USER, conf.PASSWD, conf.DB_NAME, conf.PORT)for i in range(64): # 寫入64張表# 判斷表是否存在res = self.has_table(conf.DB_NAME,'historic_record_%s'%i)if not res:flag_list.append(False)return Falseid = 0 # 每一次查詢后的最大idwhile True:# 查詢數據sql = "select * from historic_record_%s where create_time < unix_timestamp(date_add(cast(sysdate() as date), interval -7 day)) * 1000 and id > %s order by id limit %s" % (i, id, max)# print(sql)data_list = mysql_obj.select(sql)# print(data_list)if not data_list: # 當結果為空時,結束循環write_log("警告,執行sql: %s 記錄為空,無需寫入es" %(sql), "yellow")break # 跳出循環 last_row = data_list[-1] # 最后一行記錄# print(last_row)id = last_row['id'] # 修改最大id res = self.bulk_insert('historic_record_%s' % i, data_list)if not res:write_log("錯誤,historic_record_%s 寫入ES 失敗"%i,"red")flag_list.append(False)return Falseif False in flag_list:write_log("錯誤,historic_record 部分表寫入ES錯誤,請查看上文","red")return Falsewrite_log("正常,historic_record 64張表全部寫入ES成功", "green")return Truedef delete_record(self):"""刪除7天的表數據:return: bool"""max = conf.MAXIMUM # 一次性查詢多少條flag_list = []mysql_obj = Mysql(conf.HOST, conf.USER, conf.PASSWD, conf.DB_NAME, conf.PORT)for i in range(64): # 64張表# 判斷表是否存在res = self.has_table(conf.DB_NAME, 'historic_record_%s' % i)if not res:flag_list.append(False)return False### 先查詢數據id = 0 # 每一次查詢后的最大idwhile True:# 查詢數據sql = "select * from historic_record_%s where create_time < unix_timestamp(date_add(cast(sysdate() as date), interval -7 day)) * 1000 and id > %s order by id limit %s" % (i, id, max)# print(sql)data_list = mysql_obj.select(sql)# print(data_list)if not data_list: # 當結果為空時,結束循環write_log("警告,執行sql: %s 記錄為空,無需刪除" % sql, "yellow")break # 跳出循環### 再刪除數據sql = "delete from historic_record_%s where create_time < unix_timestamp(date_add(cast(sysdate() as date), interval -7 day)) * 1000 and id > %s order by id limit %s" % (i, id, max)# print(sql)res = mysql_obj.update(sql)if res is False:write_log("錯誤,刪除 historic_record_%s 記錄失敗" % i, "red")flag_list.append(False)breakelse:write_log("正常,刪除 historic_record_%s 記錄成功" % i, "green")last_row = data_list[-1] # 最后一行記錄# print(last_row)id = last_row['id'] # 修改最大idif False in flag_list:write_log("錯誤,刪除 historic_record 部分表失敗,請查看上文", "red")return Falsewrite_log("正常,刪除 historic_record 64張表記錄全部成功", "green")def main(self):self.read_mysql_es()self.delete_record()ElasticObj().main() # 執行主程序 View Code

?

common.py

#!/usr/bin/env python3 # coding: utf-8 """ 共有的方法 """import sys import iodef setup_io(): # 設置默認屏幕輸出為utf-8編碼sys.stdout = sys.__stdout__ = io.TextIOWrapper(sys.stdout.detach(), encoding='utf-8', line_buffering=True)sys.stderr = sys.__stderr__ = io.TextIOWrapper(sys.stderr.detach(), encoding='utf-8', line_buffering=True) setup_io()import os import time import conf import socket import subprocess import ipaddress from multiprocessing import cpu_countdef write_log(content,colour='white',skip=False):"""寫入日志文件:param content: 寫入內容:param colour: 顏色:param skip: 是否跳過打印時間:return:"""# 顏色代碼colour_dict = {'red': 31, # 紅色'green': 32, # 綠色'yellow': 33, # 黃色'blue': 34, # 藍色'purple_red': 35, # 紫紅色'bluish_blue': 36, # 淺藍色'white': 37, # 白色 }choice = colour_dict.get(colour) # 選擇顏色 path = os.path.join(conf.BASE_DIR,"output.log") # 日志文件with open(path, mode='a+', encoding='utf-8') as f:if skip is False: # 不跳過打印時間時content = time.strftime('%Y-%m-%d %H:%M:%S') + ' ' + contentinfo = "\033[1;{};1m{}\033[0m".format(choice, content)print(info)f.write(content+"\n")def execute_linux2(cmd, timeout=10, skip=False):"""執行linux命令,返回list:param cmd: linux命令:param timeout: 超時時間,生產環境, 特別卡, 因此要3秒:param skip: 是否跳過超時:return: list"""p = subprocess.Popen(cmd, stderr=subprocess.STDOUT, stdout=subprocess.PIPE, shell=True)# print(p)# timeout = 1 # 超時時間t_beginning = time.time() # 開始時間# seconds_passed = 0 # 執行時間while True:if p.poll() is not None:breakseconds_passed = time.time() - t_beginningif timeout and seconds_passed > timeout:p.terminate()# raise TimeoutError(cmd, timeout)if not skip:# self.res.code = 500# print('命令: {},執行超時!'.format(cmd))write_log('錯誤, 命令: {},本地執行超時!'.format(cmd),"red")# return self.res.__dict__return False# return '命令: {},執行超時!'.format(cmd)# result = p.stdout.read().decode('utf-8').strip() # 命令運行結果# print("result",result)# self.res.data = result# return self.res.__dict__result = p.stdout.readlines()return resultdef valid_ip(ip):"""驗證ip是否有效,比如192.168.1.256是一個不存在的ip:return: bool"""try:# 判斷 python 版本if sys.version_info[0] == 2:ipaddress.ip_address(ip.strip().decode("utf-8"))elif sys.version_info[0] == 3:# ipaddress.ip_address(bytes(ip.strip().encode("utf-8"))) ipaddress.ip_address(ip)return Trueexcept Exception as e:print(e)return Falsedef check_tcp(ip, port, timeout=1):"""檢測tcp端口:param ip: ip地址:param port: 端口號:param timeout: 超時時間:return: bool"""flag = Falsetry:socket.setdefaulttimeout(timeout) # 整個socket層設置超時時間cs = socket.socket(socket.AF_INET, socket.SOCK_STREAM)address = (str(ip), int(port))status = cs.connect_ex((address)) # 開始連接 cs.settimeout(timeout)if not status:flag = Truereturn flagexcept Exception as e:print(e)return flagCOROUTINE_NUMBER = cpu_count() # 協程池數量,根據cpu核心數來開,避免cpu飆高 View Code

?

mysql.py

#!/usr/bin/env python3 # coding: utf-8import pymysql from utils.common import write_logclass Mysql(object):# mysql 端口號,注意:必須是int類型def __init__(self,host,user,passwd,db_name,port=3306):self.host = hostself.user = userself.passwd = passwdself.db_name = db_nameself.port = portdef select(self,sql):"""執行sql命令:param sql: 命令:return: 元祖"""try:# print(host,self.user,self.passwd,self.port,self.db_name)conn = pymysql.connect(host=self.host,user=self.user,passwd=self.passwd,port=self.port,database=self.db_name,charset='utf8',cursorclass=pymysql.cursors.DictCursor)cur = conn.cursor() # 創建游標# conn.cursor()cur.execute(sql) # 執行sql命令res = cur.fetchall() # 獲取執行的返回結果 cur.close()conn.close() # 關閉mysql 連接return resexcept Exception as e:print(e)return Falsedef update(self,sql):"""更新操作,比如insert, delete,update:param sql: sql命令:return: bool"""try:conn = pymysql.connect(host=self.host,user=self.user,passwd=self.passwd,port=self.port,database=self.db_name,)cur = conn.cursor(cursor=pymysql.cursors.DictCursor) # 創建游標# conn.cursor()# print("ip: {} insert 執行命令: {}".format(self.host,sql))sta = cur.execute(sql) # 執行sql命令,返回影響的行數# print("sta",sta,type(sta))#res = cur.fetchall() # 獲取執行的返回結果if isinstance(sta,int): # 判斷返回結果, 是數字就是正常的#print('插入記錄 Done')pass# write_log('正常,遠程執行sql: %s 成功'%sql, "green")else:write_log('錯誤,遠程執行sql: %s 失敗'%sql, "red")return Falseconn.commit() # 主動提交,否則執行sql不生效 cur.close()conn.close() # 關閉mysql 連接#Migration.flag_list.append(True)return staexcept Exception as e:print(e)# write_log('錯誤,遠程mysql執行命令: {} 異常'.format(sql), "red")# Migration.flag_list.append(False)return False View Code

?

requirements.txt

PyMySQL==0.9.2 elasticsearch==6.3.1

?

README.md

## 說明 終端歷史記錄表,寫入到elasticsearch中。主要將(terminal.historic_record_0~63) 這64張表的7天前數據寫入到elasticsearch中并刪除 64張表的7天前記錄`注意: 本環境使用 elasticsearch 7.0版本開發,切勿低于此版本`## 配置說明 `conf.py` 是環境配置主要修改 以下信息 ```python # mysql HOST = "192.168.0.136" USER = "root" PASSWD = "123456" DB_NAME = "terminal" PORT = 3306# elasticsearch INDEX_NAME = "historic_record" INDEX_TYPE = "_doc" ES_IP = "192.169.3.133" ```請根據實際情況修改以上變量## 運行說明 ## 一鍵執行,遷移相關所有表 `python es_bulk.py`## 查看結果 結果會輸出到`output.log`文件,直接查看即可!登錄到`kibana`,查看數據是否存在<br/> <br/> Copyright (c) 2019-present, xiao You View Code

?

注意:如果是es 6.x的版本,創建索引,需要增加?index_type,否則會報錯。

比如:

# 創建映射 _index_mappings = {# 索引配置"settings": {"index": {"number_of_shards": 3, # 分片數"number_of_replicas": 1 # 副本數 }},# 設置字段"mappings": {self.index_type: {"properties": {"id": {"type": "long"},"loid": {"type": "keyword"},"mac": {"type": "keyword"},"time": {"type": "date","format": "epoch_millis"},"create_time": {"type": "date","format": "epoch_millis"},"update_time": {"type": "date","format": "epoch_millis"},"online_status": {"type": "short"},"status": {"type": "short"}}}} }

?

?

本文參考鏈接:

https://www.cnblogs.com/aaanthony/p/7380662.html

https://blog.csdn.net/m0_37673307/article/details/81153700

?

轉載于:https://www.cnblogs.com/xiao987334176/p/10885295.html

總結

以上是生活随笔為你收集整理的python MySQL 插入Elasticsearch的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

精品一区二区亚洲 | 中文字幕之中文字幕 | 91精品国产高清自在线观看 | 精品国产欧美一区二区三区不卡 | 久久国产99 | 国产女教师精品久久av | 激情五月婷婷激情 | 成人精品在线 | 国产理论片在线观看 | 国产在线精品一区 | 国产精品无 | 国产成人精品亚洲精品 | 中文字幕黄色网 | 日韩欧美一区二区三区黑寡妇 | 免费观看91视频大全 | 色偷偷人人澡久久超碰69 | 国产色综合 | 天天爱综合 | 日韩在线免费看 | av片一区| 欧美日韩一级久久久久久免费看 | 国产不卡在线视频 | 深夜男人影院 | 国产黄色视 | 亚洲伊人成综合网 | 免费福利片2019潦草影视午夜 | 视频在线亚洲 | 久久婷婷开心 | 亚洲精品动漫在线 | 97av色| 欧美电影在线观看 | 亚洲精品一区二区久 | 日日夜夜爱 | 97视频中文字幕 | 最近更新中文字幕 | 久久观看 | 天天操天天色天天射 | 久草剧场 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 成人午夜毛片 | 国产精品久久久久久久久久久久午夜 | 日韩在线观 | 日韩精品免费在线观看 | 国产999精品视频 | 黄色毛片网站在线观看 | 国产精品精品久久久久久 | 亚洲黄色免费网站 | 国产精品18videosex性欧美 | 波多野结衣日韩 | 91丨九色丨蝌蚪丨老版 | 青草视频在线 | 亚洲理论在线 | 天堂va在线高清一区 | 九九久久影院 | 欧美a在线免费观看 | 日韩视频在线观看免费 | 亚洲精品国偷拍自产在线观看蜜桃 | 综合影视 | 美女网站视频免费黄 | 91精品国产92久久久久 | 国产人成看黄久久久久久久久 | 免费视频一区二区 | 日批视频在线播放 | 久av电影| 一区二区不卡 | 免费色视频网站 | 一区二区 不卡 | www.com操| www黄色com | 国产视频手机在线 | 27xxoo无遮挡动态视频 | 伊人六月 | 高清免费在线视频 | 国产亚洲精品无 | 国产精品成人国产乱一区 | 国产v在线播放 | 国产一级免费播放 | 欧美国产日韩在线视频 | 99久久精品久久久久久清纯 | 亚洲精品啊啊啊 | 521色香蕉网站在线观看 | 久久久免费精品视频 | 美女久久久久久久久久 | 中文字幕色网站 | 91网站免费观看 | 国产精品久久久久久五月尺 | 日韩精品久久久免费观看夜色 | 国产乱码精品一区二区三区介绍 | 在线观看精品一区 | 国产精品一区免费在线观看 | 视频二区在线视频 | 免费在线观看av片 | 精品女同一区二区三区在线观看 | 国产视频在线观看一区 | 在线播放亚洲激情 | 日韩一级片大全 | 99产精品成人啪免费网站 | av综合 日韩| 国产福利中文字幕 | 精品久久久久久久久久久久久久久久 | 国产精品国产三级在线专区 | 在线成人看片 | 国产精品久久久久久久久久妇女 | 91看片在线看片 | 日韩在线观看av | 久久精品视频在线播放 | 成人小视频在线 | 偷拍福利视频一区二区三区 | 日韩激情久久 | 久久深爱网 | 欧美 日韩 成人 | 亚洲日日夜夜 | 国产精品av免费观看 | 91在线观看欧美日韩 | 麻豆一区二区三区视频 | 日韩欧美aaa| a级片久久| 国产色综合天天综合网 | 色狠狠综合天天综合综合 | 日韩v欧美v日本v亚洲v国产v | 国产一级黄色av | 成人精品在线 | 亚洲视频网站在线观看 | 亚洲免费av在线播放 | 黄色日视频| 中文伊人 | 成人av免费在线观看 | 三级黄色网络 | 四虎永久免费 | 一级免费观看 | 在线视频专区 | 午夜久草 | 在线看黄色的网站 | 亚洲永久精品在线 | 日本精品久久久久中文字幕5 | 亚洲精品www久久久 www国产精品com | 韩国三级一区 | 国产视频色 | 久久久久久亚洲精品 | 欧美精品久久久久性色 | 蜜臀av性久久久久蜜臀av | 五月婷婷综合在线观看 | 欧美精品网站 | 国产精品一区二区久久精品爱微奶 | 国产永久网站 | 91九色免费视频 | 久久蜜臀av| 亚洲黄色免费 | 91av大全| 久久久久久久久久国产精品 | 日本精品在线 | 久久xx视频 | www免费看 | 午夜久久久影院 | 亚洲日本欧美在线 | 精品国产一区二区三区噜噜噜 | 亚洲全部视频 | 国产.精品.日韩.另类.中文.在线.播放 | 久久视频这里有久久精品视频11 | 欧美大片第1页 | 丁香网婷婷 | 在线观看网站你懂的 | 激情综合五月网 | 欧美一级黄大片 | 91精品在线免费 | 久久视频中文字幕 | 伊人开心激情 | 最近中文字幕在线中文高清版 | 国产成人精品一区二区在线 | 日本中文字幕影院 | 欧美 亚洲 另类 激情 另类 | 在线观看视频免费大全 | 免费黄在线看 | 日韩欧美视频免费在线观看 | 国产高清视频色在线www | 午夜精品一区二区三区可下载 | 五月天精品视频 | 国产黄视频在线观看 | 天天干天天拍天天操 | 91热爆在线观看 | 欧美精品久久久久久久久久久 | 私人av| 伊人色**天天综合婷婷 | 免费一级日韩欧美性大片 | 亚洲天天草 | 亚洲精品大全 | 日韩一区二区三区免费视频 | 狠狠色丁香婷婷综合久小说久 | 久久视频一区二区 | 国产美女主播精品一区二区三区 | 欧美日韩高清一区二区三区 | 麻豆 free xxxx movies hd | 国产色在线视频 | 免费国产在线精品 | 激情五月伊人 | 激情一区二区三区欧美 | 久久66热这里只有精品 | 日韩一区二区在线免费观看 | 91成人看片 | 久久香蕉影视 | 7777精品伊人久久久大香线蕉 | 国产不卡视频在线 | 免费看的黄网站 | 丁香婷婷在线 | 99国产在线观看 | 91av在线电影 | 欧美一区二区三区免费观看 | 91系列在线观看 | 国产99久久久久久免费看 | 韩国av三级 | 久久爱导航 | 久久久久亚洲精品成人网小说 | 国产日韩一区在线 | 国产中文字幕在线视频 | 国产高清精 | 99久久婷婷国产综合精品 | 国产精品久久久久av福利动漫 | 午夜精品av在线 | 香蕉久久久久久久 | 国产玖玖精品视频 | 在线激情网 | 五月天色网站 | 色视频国产直接看 | 91精品视频在线免费观看 | av在线播放一区二区三区 | 91一区啪爱嗯打偷拍欧美 | 激情综合五月天 | av免费在线看网站 | www.精选视频.com | 色婷婷五 | 日本精品久久 | 成年人视频在线观看免费 | 成人网页在线免费观看 | 亚洲视频1| 久久天堂影院 | 久久精品二区 | 日批网站在线观看 | 日韩午夜在线播放 | 国产操在线 | 五月婷视频 | 91在线porny国产在线看 | 免费看片亚洲 | 热久久免费国产视频 | 国产+日韩欧美 | 超碰com| 特级西西www44高清大胆图片 | 中文在线8新资源库 | 亚洲乱码精品久久久久 | www.com久久| 最近免费中文字幕 | 国产精品久久久久久久久久妇女 | 久久a v电影| 一区在线电影 | 欧美韩国日本在线 | 美女网站视频久久 | 婷婷丁香花五月天 | 久久综合99| 狠狠综合久久av | 天天av综合网 | 91成人精品视频 | 综合伊人av | 热久久免费国产视频 | 久久精品91久久久久久再现 | 亚洲九九精品 | 国产精品久久久一区二区 | 人人藻人人澡人人爽 | 在线中文字幕播放 | 国内丰满少妇猛烈精品播 | 成人免费观看完整版电影 | 久热av| 大型av综合网站 | 91av看片 | 91视频黄色 | 激情导航| 欧美另类v | 91亚洲精品久久久久图片蜜桃 | 天天曰天天干 | 九九综合久久 | 久草网首页 | 国产精品亚洲片夜色在线 | 亚洲综合网 | 成人九九视频 | 国产黄网站在线观看 | 日韩av一区二区在线播放 | 人人爱爱人人 | 色欧美成人精品a∨在线观看 | 在线免费观看黄色大片 | 欧美91成人网 | 成人三级网址 | 夜夜高潮夜夜爽国产伦精品 | 久久亚洲私人国产精品va | 福利一区在线 | 久操操| 国产一级片久久 | 欧美91精品国产自产 | 欧美日韩性视频 | 在线免费性生活片 | 中文字幕在线观看网站 | 日韩av电影免费在线观看 | 日本中文字幕在线播放 | 国产美女精品在线 | 久久久久久97三级 | 亚洲精品播放 | www.国产高清 | 欧美一级在线 | 国产精品亚洲精品 | 久久久精品网站 | 三级小视频在线观看 | 色综合天天天天做夜夜夜夜做 | 国产精品va | 国产一线二线三线在线观看 | 国产亚洲综合在线 | 在线午夜av | 成人sm另类专区 | 欧美日韩高清一区二区三区 | 日韩视频在线观看视频 | 国产黄色在线观看 | 久久国产免费 | 一区二区欧美在线观看 | 国产精品久久久久久久久久免费 | 黄色在线观看污 | 在线视频 国产 日韩 | 成人久久18免费网站图片 | 免费色婷婷 | 成年人黄色免费看 | 97精品一区二区三区 | 亚洲黑丝少妇 | 亚洲激色 | 蜜臀精品久久久久久蜜臀 | 亚洲欧美日韩精品久久久 | 国产精品露脸在线 | 搡bbbb搡bbb视频 | 国产一二三区av | 欧美激情视频一区二区三区 | 久久99深爱久久99精品 | 国产精品久久久久一区 | 麻豆视频国产在线观看 | 韩国av一区二区 | 午夜精品福利在线 | 午夜在线看片 | 国产精品 中文字幕 亚洲 欧美 | 中文亚洲欧美日韩 | 国产亚洲情侣一区二区无 | 五月婷影院 | 久久久久久久影院 | 国产视频在线免费 | 日韩区视频 | 欧美99热 | 日韩电影久久 | 五月天色网站 | aⅴ精品av导航 | 亚洲成色 | 伊人伊成久久人综合网小说 | 欧美一级乱黄 | 欧美日韩不卡在线视频 | 精品自拍sae8—视频 | 欧美日韩国产在线观看 | 国产福利一区在线观看 | 蜜桃视频色| 亚洲精品资源 | 精品久久在线 | 久久激情视频网 | 久久久久久高潮国产精品视 | 天天艹天天干天天 | 欧美电影在线观看 | 国产视频日韩视频欧美视频 | 亚欧洲精品视频在线观看 | 天天综合日日夜夜 | 日韩二三区 | 二区视频在线观看 | av高清一区二区三区 | 国产精品青青 | 亚洲精品一区二区三区高潮 | 精品亚洲免费 | av三级在线免费观看 | 亚洲精品影院在线观看 | 久久久999 | 综合在线色 | 国产精品永久免费观看 | 手机av网站 | 国产高清一区二区 | 中文字幕有码在线播放 | 制服丝袜亚洲 | 精品9999 | 99热只有精品在线观看 | 99视频精品免费视频 | 成人在线观看你懂的 | 69av国产| 国产高清精品在线 | 亚洲黄色小说网 | 欧美激情一区不卡 | 又黄又色又爽 | 一级免费黄视频 | 一级片在线 | 久久理论视频 | 欧美日韩在线观看一区 | www天天干com | 最新中文在线视频 | 成 人 黄 色视频免费播放 | 久久国产欧美日韩 | 久久一区二区三区国产精品 | 精品久久久久久国产91 | 97在线观看视频 | 久草免费在线观看视频 | 黄av在线 | 国产精品自产拍 | www黄| 视频在线观看日韩 | 狠狠躁18三区二区一区ai明星 | wwwav视频 | 久久视频免费观看 | 亚洲老妇xxxxxx | 国产探花 | 国内精品久久久久国产 | 国产午夜三级 | 91大神精品视频在线观看 | 美女视频a美女大全免费下载蜜臀 | 国产亚洲精品美女 | 亚洲国产高清视频 | 久久免费国产精品1 | 亚洲精品玖玖玖av在线看 | 亚洲综合五月天 | 9色在线视频| 人成在线免费视频 | 欧美日韩一区二区三区不卡 | 国产日本在线 | 最新91在线视频 | 欧美一级日韩三级 | 四虎www| 99精品免费久久久久久久久 | 亚洲精品乱码久久久久 | 一区二区三区在线不卡 | 色综合久久中文综合久久牛 | 色黄www小说 | 国产热re99久久6国产精品 | 国产精品欧美一区二区三区不卡 | 黄色精品一区二区 | 69精品视频 | 国产欧美精品一区二区三区四区 | 亚洲精品福利在线 | 天天曰夜夜操 | 国产欧美久久久精品影院 | 婷婷中文字幕在线观看 | 在线观看日韩av | h动漫中文字幕 | 正在播放国产91 | 国产精品系列在线播放 | av片子在线观看 | 精品国产一区二区三区男人吃奶 | 亚洲成人高清在线 | 久久久激情视频 | 91在线麻豆| 久久久久夜色 | 免费成人黄色av | 久久国产高清视频 | www激情com | 成人动漫视频在线 | 日韩不卡高清 | 九九免费在线观看视频 | 一区二区三区韩国免费中文网站 | 久久不射电影院 | 国产资源在线播放 | 在线观看黄 | 久久精品草| 手机在线欧美 | 国产精品扒开做爽爽的视频 | 久热精品国产 | 97色在线观看 | 日韩精品视频免费 | 午夜骚影 | 亚洲精品午夜久久久久久久 | 免费看一级黄色 | 国产成人高清av | 成人一级电影在线观看 | 亚洲综合国产精品 | 国产黄色视 | 91精品婷婷国产综合久久蝌蚪 | 91私密视频 | 日韩av电影免费观看 | 久久免费高清视频 | 99re6热在线精品视频 | 欧美精品一区二区三区四区在线 | 日韩久久久久久久久久 | 日本精品久久久久 | 午夜视频在线观看网站 | 国产日韩精品一区二区 | 狠狠综合久久av | 人人爽人人插 | 一级c片 | 免费麻豆网站 | a天堂一码二码专区 | 午夜精品久久久久久久久久久久久久 | 久久精品视频在线免费观看 | 高清av在线 | 亚洲精品久久在线 | 99视频免费 | 久久免费视频一区 | 国产精选在线观看 | 欧美一区二区视频97 | 亚洲免费av片 | 蜜臀aⅴ国产精品久久久国产 | 亚洲色图av | 亚洲免费不卡 | 久久免费大片 | 精品久久久久久久久中文字幕 | 香蕉色综合 | 国产精品免费久久久久影院仙踪林 | 亚洲成av人片一区二区梦乃 | 成人动漫精品一区二区 | 99精品久久精品一区二区 | www.五月天激情 | 五月天色中色 | 国产拍揄自揄精品视频麻豆 | 99久久精品国产一区 | 欧美日韩久久不卡 | 91免费网 | 亚洲黄色免费观看 | 亚洲精品免费视频 | 国产不卡在线观看视频 | 久久男人中文字幕资源站 | a成人v| 2021国产在线 | 亚洲一区二区视频在线 | 色噜噜色噜噜 | 91黄色免费看 | 国产va在线观看免费 | 尤物九九久久国产精品的分类 | 日韩在线观看视频中文字幕 | 国产一区精品在线 | 在线a人v观看视频 | 亚洲一区av | 久久久久国产精品免费免费搜索 | 高清不卡一区二区三区 | 免费福利片2019潦草影视午夜 | 国产午夜精品理论片在线 | 国产精品视频久久久 | 亚洲国产av精品毛片鲁大师 | 亚洲在线免费视频 | 久久久不卡影院 | 三级av在线免费观看 | 在线不卡中文字幕播放 | 亚洲最新av在线 | a亚洲视频 | 国产精品美女久久久久久久久久久 | 99免费观看视频 | 99人久久精品视频最新地址 | 五月天久久综合网 | 91爱爱中文字幕 | 国产理论片在线观看 | 成在线播放 | 亚洲成人午夜在线 | 国产手机在线观看视频 | 五月天色站 | 夜夜躁天天躁很躁波 | 欧美色综合久久 | 综合色综合色 | 国产成人免费在线 | 麻豆视频在线免费 | 国产色视频网站2 | 国产综合视频在线观看 | 黄色片网站av | 69久久夜色精品国产69 | 手机av在线不卡 | 精品久久精品久久 | 最近最新mv字幕免费观看 | 中文字幕在线观看不卡 | 国产美女黄网站免费 | 91中文字幕在线 | 国产精品1区2区在线观看 | 久久最新网址 | av观看免费在线 | 精品黄色在线观看 | 久久久久成人精品亚洲国产 | 在线播放一区二区三区 | 在线看免费 | 国产自制av| 中文字幕在线视频免费播放 | 国产涩涩网站 | 91在线九色 | 天天拍天天操 | 又黄又爽又色无遮挡免费 | 天天爽综合网 | 日韩av中文字幕在线 | 日韩有码欧美 | 91精品国产福利 | 99久久精品免费看国产免费软件 | 国产综合精品久久 | 欧美激情精品久久久久 | 99久久久久成人国产免费 | 九九导航 | 国产精品久久久久久久久费观看 | www色网站 | 999久久久久久久久久久 | 精品久久久久免费极品大片 | 亚洲精品一区二区三区高潮 | 91在线观看欧美日韩 | 91香蕉视频污在线 | 亚洲欧美国产精品 | 国产一区二区不卡视频 | 久久精品4 | 97在线观看视频国产 | 91精品国产高清自在线观看 | 久久在线电影 | 欧美国产日韩久久 | 蜜桃麻豆www久久囤产精品 | 国产精品女视频 | 中文字幕黄色网址 | 奇米影音四色 | 欧美精品久久久久久久亚洲调教 | 91精品第一页 | 夜夜婷婷 | 91在线91拍拍在线91 | av在线com| 黄色福利网站 | 热精品 | 91免费视频网站在线观看 | 亚洲精品在线免费观看视频 | 久久精品国产免费 | 青青河边草免费 | 免费国产黄线在线观看视频 | 国产在线视频资源 | 国产在线观 | 色偷偷888欧美精品久久久 | 欧美一区二区视频97 | 96av在线视频 | 狠狠干综合 | 97日日碰人人模人人澡分享吧 | 免费网站黄 | www.色就是色 | 日本高清免费中文字幕 | 国产亚洲成av片在线观看 | 91完整视频 | 婷婷丁香六月天 | 看污网站| 黄色网www | 国产小视频在线免费观看视频 | 综合五月 | 欧美极品久久 | 99999精品| 黄色免费观看 | 在线观看精品一区 | 成人欧美日韩国产 | 韩国av免费在线 | 免费在线看成人av | 国内免费久久久久久久久久久 | 91精品一区国产高清在线gif | 亚洲人成人天堂h久久 | 午夜视频在线观看一区二区三区 | 国产精品麻豆果冻传媒在线播放 | 麻豆传媒电影在线观看 | 一区二区高清在线 | 视频一区在线播放 | 国产伦精品一区二区三区高清 | 人人视频网站 | 国产一级二级在线 | 欧美日韩精品免费观看视频 | 国产精品a级 | 亚洲精品永久免费视频 | 黄污在线观看 | 久久精品亚洲精品国产欧美 | 91片黄在线观| 欧美一级免费黄色片 | www.色婷婷| 一级黄色毛片 | 人人看黄色 | 99久e精品热线免费 99国产精品久久久久久久久久 | 一区二区理论片 | 中文字幕日韩在线播放 | 亚洲国产精品传媒在线观看 | 欧美日韩另类在线 | 欧美日韩性视频在线 | 天天干天天综合 | 人人舔人人射 | 欧美日韩一区二区三区视频 | 99麻豆久久久国产精品免费 | 91尤物国产尤物福利在线播放 | 中文字幕在线电影 | 在线国产99| 成人免费91 | 亚洲狠狠干 | 免费成人av网站 | 日韩美视频 | 精品一区三区 | 国产精品国产三级国产aⅴ无密码 | 婷婷丁香激情网 | 色视频网址 | 就要干b| 亚洲最快最全在线视频 | 欧美九九视频 | 国产精品成久久久久 | 69绿帽绿奴3pvideos | 欧美日韩一区二区三区不卡 | 天天综合天天综合 | 天堂网一区二区 | 日韩av图片 | 91精品在线播放 | 少妇av网 | 五月综合色 | 国产高清不卡 | 日本黄色免费看 | 激情xxxx| 91精品成人| 97在线免费 | 久久久久久毛片精品免费不卡 | 欧美小视频在线 | 国产视频在线看 | 亚洲jizzjizz日本少妇 | 久久久国产精品一区二区三区 | 国产精品综合久久久久 | 成人免费共享视频 | 国产精品毛片一区二区在线看 | 亚洲精品福利在线观看 | 黄色三级在线 | 久草免费在线观看 | 欧美一级性生活视频 | 中文字幕免费看 | 在线免费观看视频你懂的 | 亚洲一一在线 | 91精品国产综合久久福利 | 久久视频这里有久久精品视频11 | 日韩欧美一区视频 | 欧美天天综合网 | 国产亚洲精品久久久久久久久久久久 | av在线电影网站 | 麻豆久久一区二区 | 国产精品黄色在线观看 | 国产电影一区二区三区四区 | 欧美性猛片 | 国产一区在线免费观看 | 中国一级片在线 | 久久精品最新 | 国产理论在线 | 色婷婷av在线 | 黄色片免费电影 | 黄网站免费看 | 99九九99九九九视频精品 | 亚洲黄色大片 | 久久久国产影视 | 99欧美精品| 国产精品k频道 | 国内精品视频在线播放 | 亚洲区色 | 久久久久成人精品免费播放动漫 | 国产一区在线免费 | 狠狠干夜夜操天天爽 | 国产中文字幕视频在线观看 | 国产午夜精品一区二区三区四区 | 精品视频一区在线 | a级片久久| 免费看黄色毛片 | 精品国产99| 99久久精品免费看国产四区 | 久久人人爽人人片av | 在线观看日韩av | 久久久久中文 | 伊人亚洲综合 | 天天色天天射综合网 | 99精品福利| 福利视频网站 | 精品高清美女精品国产区 | 国产成人在线免费观看 | 97国产精品 | 九九热精品视频在线播放 | 久久国产精品区 | 中文字幕人成人 | 91看片在线免费观看 | 国产精品二区三区 | 欧美一区二区精品在线 | 免费色视频网址 | 久久精品一二区 | 国产精品一区二区你懂的 | 麻豆视频在线观看 | a v在线视频| 99热在线观看 | 丁香高清视频在线看看 | 91看片在线播放 | 国产小视频在线观看免费 | 天天婷婷| 国产小视频在线观看免费 | 天天搞天天干天天色 | 人人干免费 | 黄色小说18 | 免费高清在线观看成人 | 99在线精品免费视频九九视 | 1024手机看片国产 | 青青啪 | 亚洲在线看 | 91丨九色丨蝌蚪丨对白 | 亚洲在线精品视频 | 精品欧美小视频在线观看 | 欧美另类xxxxx | 97香蕉超级碰碰久久免费软件 | 91看片麻豆 | 播五月婷婷 | 久久久久女人精品毛片九一 | 天天爱天天色 | 中文字幕精品一区二区精品 | 国产精品视频app | 午夜少妇av | 国产精品视频内 | 在线观看久 | 久久久久久久久久久久av | 天堂av在线7 | 天天操天天操天天干 | 91丝袜美腿 | 国产专区一 | 四虎永久免费 | 久久久久久久久久久影院 | 国产精品毛片一区二区 | 天天躁天天狠天天透 | 日本少妇久久久 | 亚洲日本一区二区在线 | 手机av观看| 欧美国产91 | 久草在线资源免费 | 美女视频黄是免费的 | 日本久久成人 | 国产成人精品综合久久久 | 亚州精品在线视频 | 久久av免费电影 | 久久一区二区三区四区 | 国产精品区在线观看 | www日日 | 久久精品成人热国产成 | 97精品国产97久久久久久 | 免费亚洲婷婷 | 国产精品岛国久久久久久久久红粉 | 国产免费观看高清完整版 | 99中文在线 | 日韩免费三区 | 久久av电影 | 日韩亚洲在线 | 国产在线一卡 | 91精品久久久久久综合五月天 | 亚洲综合色丁香婷婷六月图片 | 久久99精品国产麻豆宅宅 | 日韩女同av | 亚洲自拍偷拍色图 | 色综合激情网 | 高潮久久久久久久久 | 国模精品一区二区三区 | 成人免费网视频 | 国产在线精品一区二区不卡了 | 欧美极品久久 | 91精品在线看| 免费视频网 | 亚洲国产免费av | 日日摸日日爽 | 亚洲精品视频大全 | 国产一区黄色 | 精品自拍sae8—视频 | 五月婷网| 婷婷在线免费视频 | 国产精品片 | 在线精品视频在线观看高清 | 精品国产乱码久久久久 | av中文字幕在线电影 | 久热久草在线 | avwww在线观看 | 九九视频网站 | 日韩91精品 | 久久久久久高潮国产精品视 | 色婷婷午夜 | 最近中文字幕免费av | 国产亚洲精品久久久久久久久久久久 | 国产成在线观看免费视频 | 国产日产亚洲精华av | 欧美日韩在线观看一区二区 | 视频精品一区二区三区 | 狠狠色噜噜狠狠狠狠2021天天 | 黄色一及电影 | 黄色毛片大全 | 亚洲一区二区三区在线看 | 在线成人av | 日韩免费久久 | 色综合欧洲 | 国产 日韩 欧美 自拍 | 亚洲国产精品久久久久婷婷884 | 美女在线观看网站 | 中国一级片在线播放 | 免费在线观看亚洲视频 | 99久久婷婷国产综合亚洲 | 四虎成人免费观看 | 日本精品视频网站 | 日韩免费精品 | 91精品视频在线播放 | 午夜三级毛片 | 久久综合久久伊人 | 国产黄色在线网站 | 91在线看免费 | 亚洲人成免费网站 | 91在线观| 91福利视频网站 | 亚洲精品国产综合久久 | 91一区啪爱嗯打偷拍欧美 | 久久综合激情 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 国产成人福利在线观看 | 免费一级片在线 | 国产精品av在线免费观看 | 中文字幕在线久一本久 | 国产 日韩 在线 亚洲 字幕 中文 | a国产精品 | 中文永久免费观看 | 99热最新 | 亚洲精品日韩在线观看 | 久久久亚洲网站 | 亚洲美女在线一区 | 91亚洲影院 | 亚洲婷婷在线 | 亚洲精品乱码久久久久久久久久 | 亚洲japanese制服美女 | 91成人天堂久久成人 | 三上悠亚一区二区在线观看 | 国产精品亚洲人在线观看 | 亚洲精品一区二区三区高潮 | 91免费版在线| 久久久久久久久综合 | 337p西西人体大胆瓣开下部 | 日韩av电影网站在线观看 | 日韩乱码在线 | 久久久免费| 91精品视频一区二区三区 | 精品伊人久久久 | 国产精品 国产精品 | 亚洲成人免费观看 | 成年人app网址 | 亚洲精品日韩av | 成人h在线播放 | 亚洲欧洲国产日韩精品 | 亚洲专区 国产精品 | 亚洲伦理一区二区 | 日日干网 | 久久综合免费视频影院 | 人人爽久久久噜噜噜电影 | 亚洲涩涩一区 | 91麻豆精品国产自产在线 | 国产麻豆电影 | 久久理论影院 | 免费看片黄色 | 日韩色爱| 国产一区观看 | 丁香六月国产 | 欧美va天堂va视频va在线 | 中文字幕二区在线观看 | 色综合久久久久久久久五月 | 国产精品免费一区二区三区 | 九热精品 | 人人舔人人爽 | 成人av视屏 | 国产精品久久伊人 | 色丁香综合 | 97精品一区二区三区 | 午夜视频亚洲 | 日韩精品一区二区三区视频播放 | 美女网站黄免费 | 天天摸天天干天天操天天射 | 在线a亚洲视频播放在线观看 | 狠狠五月婷婷 | 日本精品久久久久 | 国产精品午夜久久久久久99热 | 国产精品一区二区62 | 国产一区二区在线免费播放 | 日韩高清成人在线 | 天天干夜夜爽 | 最新日韩电影 | 欧美精品乱码久久久久 | 国产日产在线观看 | 色香蕉视频| 免费人成网ww44kk44 | 久久久久久久综合色一本 | 久久在线免费视频 | 日本久久精 | 久久精品爱爱视频 | 黄色性av| 久草免费在线 | 人人模人人爽 | av黄色亚洲| 天天干天天做天天操 | 亚洲国产999 | 日本黄色大片儿 | 亚洲男男gaygay无套 | 丝袜一区在线 | 亚洲精品国产精品国自产 | 欧美日韩裸体免费视频 | 成人午夜电影在线观看 | 国产成人av网 | 欧美日韩高清一区二区三区 | 久久艹国产视频 | 91精品国产91久久久久 | 免费亚洲精品视频 | 国产一区视频在线播放 | 91精品啪在线观看国产81旧版 | 精品免费国产一区二区三区四区 | 免费人成在线观看网站 | 久久久精品午夜 | 婷婷午夜 | 久草在线视频免费资源观看 |