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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql ondumplictcate_4.5万字手把手教你实现MySQL TB级数据存储!!

發布時間:2023/12/2 数据库 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql ondumplictcate_4.5万字手把手教你实现MySQL TB级数据存储!! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在前面

業界對系統的高可用有著基本的要求,簡單的說,這些要求可以總結為如下所示。

系統架構中不存在單點問題。

可以最大限度的保障服務的可用性。

一般情況下系統的高可用可以用幾個9來評估。所謂的幾個9就是系統可以保證對外提供的服務的時間達到總時間的百分比。例如如果需要達到99.99的高可用,則系統全年發生故障的總時間不能超過52分鐘。

系統高可用架構

我們既然需要實現系統的高可用架構,那么,我們到底需要搭建一個什么樣的系統架構呢?我們可以將需要搭建的系統架構簡化成下圖所示。

服務器規劃

由于我電腦資源有限,我這里在4臺服務器上搭建高可用環境,大家可以按照本文將環境擴展到更多的服務器,搭建步驟都是一樣的。

主機名

IP地址

安裝的服務

binghe151

192.168.175.151

Mycat、Zookeeper、MySQL、HAProxy、Keepalived、Xinetd

binghe152

192.168.175.152

Zookeeper、MySQL

binghe153

192.168.175.153

Zookeeper、MySQL

binghe154

192.168.175.154

Mycat、MySQL、HAProxy、Keepalived、Xinetd

binghe155

192.168.175.155

MySQL

注意:HAProxy和Keepalived最好和Mycat部署在同一臺服務器上。

安裝MySQL

安裝JDK

由于Mycat和Zookeeper的運行需要JDK環境的支持,所有我們需要在每臺服務器上安裝JDK環境。

這里,我以在binghe151服務器上安裝JDK為例,其他服務器的安裝方式與在binghe151服務器上的安裝方式相同。安裝步驟如下所示。

注:我下載的JDK安裝包版本為:jdk-8u212-linux-x64.tar.gz,如果JDK版本已更新,大家下載對應的版本即可。

(2)將下載的jdk-8u212-linux-x64.tar.gz安裝包上傳到binghe151服務器的/usr/local/src目錄下。

(3)解壓jdk-8u212-linux-x64.tar.gz文件,如下所示。

tar -zxvf jdk-8u212-linux-x64.tar.gz

(4)將解壓的jdk1.8.0_212目錄移動到binghe151服務器下的/usr/local目錄下,如下所示。

mv jdk1.8.0_212/ /usr/local/src/

(5)配置JDK系統環境變量,如下所示。

vim /etc/profile

JAVA_HOME=/usr/local/jdk1.8.0_212

CLASS_PATH=.:$JAVA_HOME/lib

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASS_PATH PATH

使系統環境變量生效,如下所示。

source /etc/profile

(6)查看JDK版本,如下所示。

[root@binghe151 ~]# java -version

java version "1.8.0_212"

Java(TM) SE Runtime Environment (build 1.8.0_212-b10)

Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)

結果顯示,正確輸出了JDK的版本信息,說明JDK安裝成功。

安裝Mycat

下載Mycat 1.6.7.4 Release版本,解壓到服務器的/usr/local/mycat目錄下,并配置Mycat的系統環境變量,隨后,配置Mycat的配置文件,Mycat的最終結果配置如下所示。

schema.xml

writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

select user()

writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

select user()

writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

select user()

writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

select user()

server.xml

1

druidparser

3307

3308

0

0.0.0.0

utf8mb4

2048

2

2

1800000

300

0

0

1

1000

104857600

io.mycat.server.interceptor.impl.StatisticsSqlInterceptor

UPDATE,DELETE,INSERT

/tmp/sql.txt

true

true

1

cTwf23RrpBCEmalp/nx0BAKenNhvNs2NSr9nYiMzHADeEDEfwVWlI6hBDccJjNBJqJxnunHFp5ae63PPnMfGYA==

shop

rule.xml

customer_id

mod-long

4

sequence_db_conf.properties

#sequence stored in datanode

GLOBAL=mycat

ORDER_MASTER=mycat

ORDER_DETAIL=mycat

關于Mycat的配置,僅供大家參考,大家不一定非要按照我這里配置,根據自身業務需要配置即可。本文的重點是實現Mycat的高可用環境搭建。

在MySQL中創建Mycat連接MySQL的賬戶,如下所示。

CREATE USER 'mycat'@'192.168.175.%' IDENTIFIED BY 'mycat';

ALTER USER 'mycat'@'192.168.175.%' IDENTIFIED WITH mysql_native_password BY 'mycat';

GRANT SELECT, INSERT, UPDATE, DELETE,EXECUTE ON *.* TO 'mycat'@'192.168.175.%';

FLUSH PRIVILEGES;

安裝Zookeeper集群

安裝配置完JDK后,就需要搭建Zookeeper集群了,根據對服務器的規劃,現將Zookeeper集群搭建在“binghe151”、“binghe152”、“binghe153”三臺服務器上。

1.下載Zookeeper

到Apache官網去下載Zookeeper的安裝包,Zookeeper的安裝包下載地址為:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/。具體如下圖所示。

也可以在binghe151服務器上執行如下命令直接下載zookeeper-3.5.5。

wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz

執行上述命令就可以直接把apache-zookeeper-3.5.5-bin.tar.gz安裝包下載到binghe151服務器上。

2.安裝并配置Zookeeper

注意:(1)、(2)、(3)步都是在binghe152服務器上執行的。

(1)解壓Zookeeper安裝包

在binghe151服務器上執行如下命令,將Zookeeper解壓到“/usr/local/”目錄下,并將Zookeeper目錄修改為zookeeper-3.5.5。

tar -zxvf apache-zookeeper-3.5.5-bin.tar.gz

mv apache-zookeeper-3.5.5-bin zookeeper-3.5.5

(2)配置Zookeeper系統環境變量

同樣,需要在/etc/profile文件中配置Zookeeper系統環境變量,如下:

ZOOKEEPER_HOME=/usr/local/zookeeper-3.5.5

PATH=$ZOOKEEPER_HOME/bin:$PATH

export ZOOKEEPER_HOME PATH

結合之前配置的JDK系統環境變量,/etc/profile,總體配置如下:

MYSQL_HOME=/usr/local/mysql

JAVA_HOME=/usr/local/jdk1.8.0_212

MYCAT_HOME=/usr/local/mycat

ZOOKEEPER_HOME=/usr/local/zookeeper-3.5.5

MPC_HOME=/usr/local/mpc-1.1.0

GMP_HOME=/usr/local/gmp-6.1.2

MPFR_HOME=/usr/local/mpfr-4.0.2

CLASS_PATH=.:$JAVA_HOME/lib

LD_LIBRARY_PATH=$MPC_LIB_HOME/lib:$GMP_HOME/lib:$MPFR_HOME/lib:$LD_LIBRARY_PATH

PATH=$MYSQL_HOME/bin:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$MYCAT_HOME/bin:$PATH

export JAVA_HOME ZOOKEEPER_HOME MYCAT_HOME CLASS_PATH MYSQL_HOME MPC_LIB_HOME GMP_HOME MPFR_HOME LD_LIBRARY_PATH PATH

(3)配置Zookeeper

首先,需要將$ZOOKEEPER_HOME/conf($ZOOKEEPER_HOME為Zookeeper的安裝目錄)目錄下的zoo_sample.cfg文件修改為zoo.cfg文件。具體命令如下:

cd /usr/local/zookeeper-3.5.5/conf/

mv zoo_sample.cfg zoo.cfg

接下來修改zoo.cfg文件,修改后的具體內容如下:

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/usr/local/zookeeper-3.5.5/data

dataLogDir=/usr/local/zookeeper-3.5.5/dataLog

clientPort=2181

server.1=binghe151:2888:3888

server.2=binghe152:2888:3888

server.3=binghe153:2888:3888

在Zookeeper的安裝目錄下創建data和dataLog兩個文件夾。

mkdir -p /usr/local/zookeeper-3.5.5/data

mkdir -p /usr/local/zookeeper-3.5.5/dataLog

切換到新建的data目錄下,創建myid文件,具體內容為數字1,如下所示:

cd /usr/local/zookeeper-3.5.5/data

vim myid

將數字1寫入到文件myid。

3.將Zookeeper和系統環境變量文件復制到其他服務器

注意:(1)、(2)步是在binghe151服務器上執行的。

(1)復制Zookeeper到其他服務器

根據對服務器的規劃,現將Zookeeper復制到binghe152和binghe53服務器,具體執行操作如下所示:

scp -r /usr/local/zookeeper-3.5.5/ binghe152:/usr/local/

scp -r /usr/local/zookeeper-3.5.5/ binghe153:/usr/local/

(2)復制系統環境變量文件到其他服務器

根據對服務器的規劃,現將系統環境變量文件/etc/profile復制到binghe152、binghe153服務器,具體執行操作如下所示:

scp /etc/profile binghe152:/etc/

scp /etc/profile binghe153:/etc/

上述操作可能會要求輸入密碼,根據提示輸入密碼即可。

4.修改其他服務器上的myid文件

修改binghe152服務器上Zookeeper的myid文件內容為數字2,同時修改binghe153服務器上Zookeeper的myid文件內容為數字3。具體如下:

在binghe152服務器上執行如下操作:

echo "2" > /usr/local/zookeeper-3.5.5/data/myid

cat /usr/local/zookeeper-3.5.5/data/myid

2

在binghe153服務器上執行如下操作:

echo "3" > /usr/local/zookeeper-3.5.5/data/myid

cat /usr/local/zookeeper-3.5.5/data/myid

3

5.使環境變量生效

分別在binghe151、binghe152、binghe153上執行如下操作,使系統環境變量生效。

source /etc/profile

6.啟動Zookeeper集群

分別在binghe151、binghe152、binghe153上執行如下操作,啟動Zookeeper集群。

zkServer.sh start

7.查看Zookeeper集群的啟動狀態

binghe151服務器

[root@binghe151 ~]# zkServer.sh status

ZooKeeper JMX enabled by default

Using config: /usr/local/zookeeper-3.5.5/bin/../conf/zoo.cfg

Client port found: 2181. Client address: localhost.

Mode: follower

binghe152服務器

[root@binghe152 local]# zkServer.sh status

ZooKeeper JMX enabled by default

Using config: /usr/local/zookeeper-3.5.5/bin/../conf/zoo.cfg

Client port found: 2181. Client address: localhost.

Mode: leader

binghe153服務器

[root@binghe153 ~]# zkServer.sh status

ZooKeeper JMX enabled by default

Using config: /usr/local/zookeeper-3.5.5/bin/../conf/zoo.cfg

Client port found: 2181. Client address: localhost.

Mode: follower

可以看到,binghe151和binghe153服務器上的Zookeeper角色為follower,binghe152服務器上的Zookeeper角色為leader。

初始化Mycat配置到Zookeeper集群

注意:初始化Zookeeper中的數據,是在binghe151服務器上進行的,原因是之前我們已經在binghe151服務器上安裝了Mycat。

1.查看初始化腳本

在Mycat安裝目錄下的bin目錄中提供了一個init_zk_data.sh腳本文件,如下所示。

[root@binghe151 ~]# ll /usr/local/mycat/bin/

total 384

-rwxr-xr-x 1 root root 3658 Feb 26 17:10 dataMigrate.sh

-rwxr-xr-x 1 root root 1272 Feb 26 17:10 init_zk_data.sh

-rwxr-xr-x 1 root root 15701 Feb 28 20:51 mycat

-rwxr-xr-x 1 root root 2986 Feb 26 17:10 rehash.sh

-rwxr-xr-x 1 root root 2526 Feb 26 17:10 startup_nowrap.sh

-rwxr-xr-x 1 root root 140198 Feb 28 20:51 wrapper-linux-ppc-64

-rwxr-xr-x 1 root root 99401 Feb 28 20:51 wrapper-linux-x86-32

-rwxr-xr-x 1 root root 111027 Feb 28 20:51 wrapper-linux-x86-64

init_zk_data.sh腳本文件就是用來向Zookeeper中初始化Mycat的配置的,這個文件會通過讀取Mycat安裝目錄下的conf目錄下的配置文件,將其初始化到Zookeeper集群中。

2.復制Mycat配置文件

首先,我們查看下Mycat安裝目錄下的conf目錄下的文件信息,如下所示。

[root@binghe151 ~]# cd /usr/local/mycat/conf/

[root@binghe151 conf]# ll

total 108

-rwxrwxrwx 1 root root 92 Feb 26 17:10 autopartition-long.txt

-rwxrwxrwx 1 root root 51 Feb 26 17:10 auto-sharding-long.txt

-rwxrwxrwx 1 root root 67 Feb 26 17:10 auto-sharding-rang-mod.txt

-rwxrwxrwx 1 root root 340 Feb 26 17:10 cacheservice.properties

-rwxrwxrwx 1 root root 3338 Feb 26 17:10 dbseq.sql

-rwxrwxrwx 1 root root 3532 Feb 26 17:10 dbseq - utf8mb4.sql

-rw-r--r-- 1 root root 86 Mar 1 22:37 dnindex.properties

-rwxrwxrwx 1 root root 446 Feb 26 17:10 ehcache.xml

-rwxrwxrwx 1 root root 2454 Feb 26 17:10 index_to_charset.properties

-rwxrwxrwx 1 root root 1285 Feb 26 17:10 log4j2.xml

-rwxrwxrwx 1 root root 183 Feb 26 17:10 migrateTables.properties

-rwxrwxrwx 1 root root 271 Feb 26 17:10 myid.properties

-rwxrwxrwx 1 root root 16 Feb 26 17:10 partition-hash-int.txt

-rwxrwxrwx 1 root root 108 Feb 26 17:10 partition-range-mod.txt

-rwxrwxrwx 1 root root 988 Mar 1 16:59 rule.xml

-rwxrwxrwx 1 root root 3883 Mar 3 23:59 schema.xml

-rwxrwxrwx 1 root root 440 Feb 26 17:10 sequence_conf.properties

-rwxrwxrwx 1 root root 84 Mar 3 23:52 sequence_db_conf.properties

-rwxrwxrwx 1 root root 29 Feb 26 17:10 sequence_distributed_conf.properties

-rwxrwxrwx 1 root root 28 Feb 26 17:10 sequence_http_conf.properties

-rwxrwxrwx 1 root root 53 Feb 26 17:10 sequence_time_conf.properties

-rwxrwxrwx 1 root root 2420 Mar 4 15:14 server.xml

-rwxrwxrwx 1 root root 18 Feb 26 17:10 sharding-by-enum.txt

-rwxrwxrwx 1 root root 4251 Feb 28 20:51 wrapper.conf

drwxrwxrwx 2 root root 4096 Feb 28 21:17 zkconf

drwxrwxrwx 2 root root 4096 Feb 28 21:17 zkdownload

接下來,將Mycat安裝目錄下的conf目錄下的schema.xml文件、server.xml文件、rule.xml文件和sequence_db_conf.properties文件復制到conf目錄下的zkconf目錄下,如下所示。

cp schema.xml server.xml rule.xml sequence_db_conf.properties zkconf/

3.將Mycat配置信息寫入Zookeeper集群

執行init_zk_data.sh腳本文件,向Zookeeper集群中初始化配置信息,如下所示。

[root@binghe151 bin]# /usr/local/mycat/bin/init_zk_data.sh

o2020-03-08 20:03:13 INFO JAVA_CMD=/usr/local/jdk1.8.0_212/bin/java

o2020-03-08 20:03:13 INFO Start to initialize /mycat of ZooKeeper

o2020-03-08 20:03:14 INFO Done

根據以上信息得知,Mycat向Zookeeper寫入初始化配置信息成功。

4.驗證Mycat配置信息是否成功寫入Mycat

我們可以使用Zookeeper的客戶端命令zkCli.sh 登錄Zookeeper來驗證Mycat的配置信息是否成功寫入Mycat。

首先,登錄Zookeeper,如下所示。

[root@binghe151 ~]# zkCli.sh

Connecting to localhost:2181

###################此處省略N行輸出######################

Welcome to ZooKeeper!

WATCHER::

WatchedEvent state:SyncConnected type:None path:null

[zk: localhost:2181(CONNECTED) 0]

接下來,在Zookeeper命令行查看mycat的信息,如下所示。

[zk: localhost:2181(CONNECTED) 0] ls /

[mycat, zookeeper]

[zk: localhost:2181(CONNECTED) 1] ls /mycat

[mycat-cluster-1]

[zk: localhost:2181(CONNECTED) 2] ls /mycat/mycat-cluster-1

[cache, line, rules, schema, sequences, server]

[zk: localhost:2181(CONNECTED) 3]

可以看到,在/mycat/mycat-cluster-1下存在6個目錄,接下來,查看下schema目錄下的信息,如下所示。

[zk: localhost:2181(CONNECTED) 3] ls /mycat/mycat-cluster-1/schema

[dataHost, dataNode, schema]

接下來,我們查看下dataHost的配置,如下所示。

[zk: localhost:2181(CONNECTED) 4] get /mycat/mycat-cluster-1/schema/dataHost

[{"balance":1,"maxCon":1000,"minCon":10,"name":"binghe151","writeType":0,"switchType":1,"slaveThreshold":100,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"binghe51","url":"192.168.175.151:3306","password":"root","user":"root"}]},{"balance":1,"maxCon":1000,"minCon":10,"name":"binghe152","writeType":0,"switchType":1,"slaveThreshold":100,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"binghe52","url":"192.168.175.152:3306","password":"root","user":"root"}]},{"balance":1,"maxCon":1000,"minCon":10,"name":"binghe153","writeType":0,"switchType":1,"slaveThreshold":100,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"binghe53","url":"192.168.175.153:3306","password":"root","user":"root"}]},{"balance":1,"maxCon":1000,"minCon":10,"name":"binghe154","writeType":0,"switchType":1,"slaveThreshold":100,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"binghe54","url":"192.168.175.154:3306","password":"root","user":"root"}]}]

上面的輸出信息格式比較亂,但可以看出是Json格式的信息,我們可以將輸出信息進行格式化,格式化后的結果如下所示。

[

{

"balance": 1,

"maxCon": 1000,

"minCon": 10,

"name": "binghe151",

"writeType": 0,

"switchType": 1,

"slaveThreshold": 100,

"dbType": "mysql",

"dbDriver": "native",

"heartbeat": "select user()",

"writeHost": [

{

"host": "binghe51",

"url": "192.168.175.151:3306",

"password": "root",

"user": "root"

}

]

},

{

"balance": 1,

"maxCon": 1000,

"minCon": 10,

"name": "binghe152",

"writeType": 0,

"switchType": 1,

"slaveThreshold": 100,

"dbType": "mysql",

"dbDriver": "native",

"heartbeat": "select user()",

"writeHost": [

{

"host": "binghe52",

"url": "192.168.175.152:3306",

"password": "root",

"user": "root"

}

]

},

{

"balance": 1,

"maxCon": 1000,

"minCon": 10,

"name": "binghe153",

"writeType": 0,

"switchType": 1,

"slaveThreshold": 100,

"dbType": "mysql",

"dbDriver": "native",

"heartbeat": "select user()",

"writeHost": [

{

"host": "binghe53",

"url": "192.168.175.153:3306",

"password": "root",

"user": "root"

}

]

},

{

"balance": 1,

"maxCon": 1000,

"minCon": 10,

"name": "binghe154",

"writeType": 0,

"switchType": 1,

"slaveThreshold": 100,

"dbType": "mysql",

"dbDriver": "native",

"heartbeat": "select user()",

"writeHost": [

{

"host": "binghe54",

"url": "192.168.175.154:3306",

"password": "root",

"user": "root"

}

]

}

]

可以看到,我們在Mycat的schema.xml文件中配置的dataHost節點的信息,成功寫入到Zookeeper中了。

為了驗證Mycat的配置信息,是否已經同步到Zookeeper的其他節點上,我們也可以在binghe152和binghe153服務器上登錄Zookeeper,查看Mycat配置信息是否寫入成功。

binghe152服務器

[root@binghe152 ~]# zkCli.sh

Connecting to localhost:2181

#################省略N行輸出信息################

[zk: localhost:2181(CONNECTED) 0] get /mycat/mycat-cluster-1/schema/dataHost

[{"balance":1,"maxCon":1000,"minCon":10,"name":"binghe151","writeType":0,"switchType":1,"slaveThreshold":100,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"binghe51","url":"192.168.175.151:3306","password":"root","user":"root"}]},{"balance":1,"maxCon":1000,"minCon":10,"name":"binghe152","writeType":0,"switchType":1,"slaveThreshold":100,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"binghe52","url":"192.168.175.152:3306","password":"root","user":"root"}]},{"balance":1,"maxCon":1000,"minCon":10,"name":"binghe153","writeType":0,"switchType":1,"slaveThreshold":100,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"binghe53","url":"192.168.175.153:3306","password":"root","user":"root"}]},{"balance":1,"maxCon":1000,"minCon":10,"name":"binghe154","writeType":0,"switchType":1,"slaveThreshold":100,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"binghe54","url":"192.168.175.154:3306","password":"root","user":"root"}]}]

可以看到,Mycat的配置信息成功同步到了binghe152服務器上的Zookeeper中。

binghe153服務器

[root@binghe153 ~]# zkCli.sh

Connecting to localhost:2181

#####################此處省略N行輸出信息#####################

[zk: localhost:2181(CONNECTED) 0] get /mycat/mycat-cluster-1/schema/dataHost

[{"balance":1,"maxCon":1000,"minCon":10,"name":"binghe151","writeType":0,"switchType":1,"slaveThreshold":100,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"binghe51","url":"192.168.175.151:3306","password":"root","user":"root"}]},{"balance":1,"maxCon":1000,"minCon":10,"name":"binghe152","writeType":0,"switchType":1,"slaveThreshold":100,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"binghe52","url":"192.168.175.152:3306","password":"root","user":"root"}]},{"balance":1,"maxCon":1000,"minCon":10,"name":"binghe153","writeType":0,"switchType":1,"slaveThreshold":100,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"binghe53","url":"192.168.175.153:3306","password":"root","user":"root"}]},{"balance":1,"maxCon":1000,"minCon":10,"name":"binghe154","writeType":0,"switchType":1,"slaveThreshold":100,"dbType":"mysql","dbDriver":"native","heartbeat":"select user()","writeHost":[{"host":"binghe54","url":"192.168.175.154:3306","password":"root","user":"root"}]}]

可以看到,Mycat的配置信息成功同步到了binghe153服務器上的Zookeeper中。

配置Mycat支持Zookeeper啟動

1.在binghe151服務器上配置Mycat

在binghe151服務器上進入Mycat安裝目錄的conf目錄下,查看文件信息,如下所示。

[root@binghe151 ~]# cd /usr/local/mycat/conf/

[root@binghe151 conf]# ll

total 108

-rwxrwxrwx 1 root root 92 Feb 26 17:10 autopartition-long.txt

-rwxrwxrwx 1 root root 51 Feb 26 17:10 auto-sharding-long.txt

-rwxrwxrwx 1 root root 67 Feb 26 17:10 auto-sharding-rang-mod.txt

-rwxrwxrwx 1 root root 340 Feb 26 17:10 cacheservice.properties

-rwxrwxrwx 1 root root 3338 Feb 26 17:10 dbseq.sql

-rwxrwxrwx 1 root root 3532 Feb 26 17:10 dbseq - utf8mb4.sql

-rw-r--r-- 1 root root 86 Mar 1 22:37 dnindex.properties

-rwxrwxrwx 1 root root 446 Feb 26 17:10 ehcache.xml

-rwxrwxrwx 1 root root 2454 Feb 26 17:10 index_to_charset.properties

-rwxrwxrwx 1 root root 1285 Feb 26 17:10 log4j2.xml

-rwxrwxrwx 1 root root 183 Feb 26 17:10 migrateTables.properties

-rwxrwxrwx 1 root root 271 Feb 26 17:10 myid.properties

-rwxrwxrwx 1 root root 16 Feb 26 17:10 partition-hash-int.txt

-rwxrwxrwx 1 root root 108 Feb 26 17:10 partition-range-mod.txt

-rwxrwxrwx 1 root root 988 Mar 1 16:59 rule.xml

-rwxrwxrwx 1 root root 3883 Mar 3 23:59 schema.xml

-rwxrwxrwx 1 root root 440 Feb 26 17:10 sequence_conf.properties

-rwxrwxrwx 1 root root 84 Mar 3 23:52 sequence_db_conf.properties

-rwxrwxrwx 1 root root 29 Feb 26 17:10 sequence_distributed_conf.properties

-rwxrwxrwx 1 root root 28 Feb 26 17:10 sequence_http_conf.properties

-rwxrwxrwx 1 root root 53 Feb 26 17:10 sequence_time_conf.properties

-rwxrwxrwx 1 root root 2420 Mar 4 15:14 server.xml

-rwxrwxrwx 1 root root 18 Feb 26 17:10 sharding-by-enum.txt

-rwxrwxrwx 1 root root 4251 Feb 28 20:51 wrapper.conf

drwxrwxrwx 2 root root 4096 Feb 28 21:17 zkconf

drwxrwxrwx 2 root root 4096 Feb 28 21:17 zkdownload

可以看到,在Mycat的conf目錄下,存在一個myid.properties文件,接下來,使用vim編輯器編輯這個文件,如下所示。

vim myid.properties

編輯后的myid.properties文件的內容如下所示。

loadZk=true

zkURL=192.168.175.151:2181,192.168.175.152:2181,192.168.175.153:2181

clusterId=mycat-cluster-1

myid=mycat_151

clusterSize=2

clusterNodes=mycat_151,mycat_154

#server booster ; booster install on db same server,will reset all minCon to 2

type=server

boosterDataHosts=dataHost1

其中幾個重要的參數說明如下所示。

loadZk:表示是否加載Zookeeper配置。true:是; false:否;

zkURL:Zookeeper的連接地址,多個Zookeeper連接地址以逗號隔開;

clusterId:當前Mycat集群的Id標識,此標識需要與Zookeeper中/mycat目錄下的目錄名稱相同,如下所示。

[zk: localhost:2181(CONNECTED) 1] ls /mycat

[mycat-cluster-1]

myid:當前Mycat節點的id,這里我的命名方式為mycat_前綴加上IP地址的最后三位;

clusterSize:表示Mycat集群中的Mycat節點個數,這里,我們在binghe151和binghe154節點上部署Mycat,所以Mycat節點的個數為2。

clusterNodes:Mycat集群中,所有的Mycat節點,此處的節點需要配置myid中配置的Mycat節點id,多個節點之前以逗號分隔。這里我配置的節點為:mycat_151,mycat_154。

2.在binghe154服務器上安裝全新的Mycat

在binghe154服務器上下載并安裝和binghe151服務器上相同版本的Mycat,并將其解壓到binghe154服務器上的/usr/local/mycat目錄下。

也可以在binghe151服務器上直接輸入如下命令將Mycat的安裝目錄復制到binghe154服務器上。

[root@binghe151 ~]# scp -r /usr/local/mycat binghe154:/usr/local

注意:別忘了在binghe154服務器上配置Mycat的系統環境變量。

3.修改binghe154服務器上的Mycat配置

在binghe154服務器上修改Mycat安裝目錄下的conf目錄中的myid.properties文件,如下所示。

vim /usr/local/mycat/conf/myid.properties

修改后的myid.properties文件的內容如下所示。

loadZk=true

zkURL=192.168.175.151:2181,192.168.175.152:2181,192.168.175.153:2181

clusterId=mycat-cluster-1

myid=mycat_154

clusterSize=2

clusterNodes=mycat_151,mycat_154

#server booster ; booster install on db same server,will reset all minCon to 2

type=server

boosterDataHosts=dataHost1

4.重啟Mycat

分別重啟binghe151服務器和binghe154服務器上的Mycat,如下所示。

注意:先重啟

binghe151服務器

[root@binghe151 ~]# mycat restart

Stopping Mycat-server...

Stopped Mycat-server.

Starting Mycat-server...

binghe154服務器

[root@binghe154 ~]# mycat restart

Stopping Mycat-server...

Stopped Mycat-server.

Starting Mycat-server...

在binghe151和binghe154服務器上分別查看Mycat的啟動日志,如下所示。

STATUS | wrapper | 2020/03/08 21:08:15 |

STATUS | wrapper | 2020/03/08 21:08:15 | --> Wrapper Started as Daemon

STATUS | wrapper | 2020/03/08 21:08:15 | Launching a JVM...

INFO | jvm 1 | 2020/03/08 21:08:16 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org

INFO | jvm 1 | 2020/03/08 21:08:16 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.

INFO | jvm 1 | 2020/03/08 21:08:16 |

INFO | jvm 1 | 2020/03/08 21:08:28 | MyCAT Server startup successfully. see logs in logs/mycat.log

從日志的輸出結果可以看出,Mycat重啟成功。

此時,先重啟binghe151服務器上的Mycat,再重啟binghe154服務器上的Mycat之后,我們會發現binghe154服務器上的Mycat的conf目錄下的schema.xml、server.xml、rule.xml和sequence_db_conf.properties文件與binghe151服務器上Mycat的配置文件相同,這就是binghe154服務器上的Mycat從Zookeeper上讀取配置文件的結果。

以后,我們只需要修改Zookeeper中有關Mycat的配置,這些配置就會自動同步到Mycat中,這樣可以保證多個Mycat節點的配置是一致的。

配置虛擬IP

分別在binghe151和binghe154服務器上配置虛擬IP,如下所示。

ifconfig eth0:1 192.168.175.110 broadcast 192.168.175.255 netmask 255.255.255.0 up

route add -host 192.168.175.110 dev eth0:1

配置完虛擬IP的效果如下所示,以binghe151服務器為例。

[root@binghe151 ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:0C:29:10:A1:45

inet addr:192.168.175.151 Bcast:192.168.175.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fe10:a145/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:116766 errors:0 dropped:0 overruns:0 frame:0

TX packets:85230 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:25559422 (24.3 MiB) TX bytes:55997016 (53.4 MiB)

eth0:1 Link encap:Ethernet HWaddr 00:0C:29:10:A1:45

inet addr:192.168.175.110 Bcast:192.168.175.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:65536 Metric:1

RX packets:51102 errors:0 dropped:0 overruns:0 frame:0

TX packets:51102 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:2934009 (2.7 MiB) TX bytes:2934009 (2.7 MiB)

注意:在命令行添加VIP后,當服務器重啟后,VIP信息會消失,所以,最好是將創建VIP的命令寫到一個腳本文件中,例如,將命令寫到/usr/local/script/vip.sh文件中,如下所示。

mkdir /usr/local/script

vim /usr/local/script/vip.sh

文件的內容如下所示。

ifconfig eth0:1 192.168.175.110 broadcast 192.168.175.255 netmask 255.255.255.0 up

route add -host 192.168.175.110 dev eth0:1

接下來,將/usr/local/script/vip.sh文件添加到服務器開機啟動項中,如下所示。

echo /usr/local/script/vip.sh >> /etc/rc.d/rc.local

配置IP轉發

在binghe151和binghe154服務器上配置系統內核IP轉發功能,編輯/etc/sysctl.conf文件,如下所示。

vim /etc/sysctl.conf

找到如下一行代碼。

net.ipv4.ip_forward = 0

將其修改成如下所示的代碼。

net.ipv4.ip_forward = 1

保存并退出vim編輯器,并運行如下命令使配置生效。

sysctl -p

安裝并配置xinetd服務

我們需要在安裝HAProxy的服務器上,也就是在binghe151和binghe154服務器上安裝xinetd服務來開啟48700端口。

(1)在服務器命令行執行如下命令安裝xinetd服務,如下所示。

yum install xinetd -y

(2)編輯/etc/xinetd.conf文件,如下所示。

vim /etc/xinetd.conf

檢查文件中是否存在如下配置。

includedir /etc/xinetd.d

如果/etc/xinetd.conf文件中沒有以上配置,則在/etc/xinetd.conf文件中添加以上配置;如果存在以上配置,則不用修改。

(3)創建/etc/xinetd.d目錄,如下所示。

mkdir /etc/xinetd.d

注意:如果/etc/xinetd.d目錄已經存在,創建目錄時會報如下錯誤。

mkdir: cannot create directory `/etc/xinetd.d': File exists

大家可不必理會此錯誤信息。

(4)在/etc/xinetd.d目錄下添加Mycat狀態檢測服務器的配置文件mycat_status,如下所示。

touch /etc/xinetd.d/mycat_status

(5)編輯mycat_status文件,如下所示。

vim /etc/xinetd.d/mycat_status

編輯后的mycat_status文件中的內容如下所示。

service mycat_status

{

flags = REUSE

socket_type = stream

port = 48700

wait = no

user = root

server =/usr/local/bin/mycat_check.sh

log_on_failure += USERID

disable = no

}

部分xinetd配置參數說明如下所示。

socket_type:表示封包處理方式,Stream為TCP數據包。

port:表示xinetd服務監聽的端口號。

wait:表示不需等待,即服務將以多線程的方式運行。

user:運行xinted服務的用戶。

server:需要啟動的服務腳本。

log_on_failure:記錄失敗的日志內容。

disable:需要啟動xinted服務時,需要將此配置項設置為no。

(6)在/usr/local/bin目錄下添加mycat_check.sh服務腳本,如下所示。

touch /usr/local/bin/mycat_check.sh

(7)編輯/usr/local/bin/mycat_check.sh文件,如下所示。

vim /usr/local/bin/mycat_check.sh

編輯后的文件內容如下所示。

#!/bin/bash

mycat=`/usr/local/mycat/bin/mycat status | grep 'not running' | wc -l`

if [ "$mycat" = "0" ]; then

/bin/echo -e "HTTP/1.1 200 OK\r\n"

else

/bin/echo -e "HTTP/1.1 503 Service Unavailable\r\n"

/usr/local/mycat/bin/mycat start

fi

為mycat_check.sh文件賦予可執行權限,如下所示。

chmod a+x /usr/local/bin/mycat_check.sh

(8)編輯/etc/services文件,如下所示。

vim /etc/services

在文件末尾添加如下所示的內容。

mycat_status 48700/tcp # mycat_status

其中,端口號需要與在/etc/xinetd.d/mycat_status文件中配置的端口號相同。

(9)重啟xinetd服務,如下所示。

service xinetd restart

(10)查看mycat_status服務是否成功啟動,如下所示。

binghe151服務器

[root@binghe151 ~]# netstat -antup|grep 48700

tcp 0 0 :::48700 :::* LISTEN 2776/xinetd

binghe154服務器

[root@binghe154 ~]# netstat -antup|grep 48700

tcp 0 0 :::48700 :::* LISTEN 6654/xinetd

結果顯示,兩臺服務器上的mycat_status服務器啟動成功。

至此,xinetd服務安裝并配置成功,即Mycat狀態檢查服務安裝成功。

安裝并配置HAProxy

我們直接在binghe151和binghe154服務器上使用如下命令安裝HAProxy。

yum install haproxy -y

安裝完成后,我們需要對HAProxy進行配置,HAProxy的配置文件目錄為/etc/haproxy,我們查看這個目錄下的文件信息,如下所示。

[root@binghe151 ~]# ll /etc/haproxy/

total 4

-rw-r--r-- 1 root root 3142 Oct 21 2016 haproxy.cfg

發現/etc/haproxy/目錄下存在一個haproxy.cfg文件。接下來,我們就修改haproxy.cfg文件,修改后的haproxy.cfg文件的內容如下所示。

global

log 127.0.0.1 local2

chroot /var/lib/haproxy

pidfile /var/run/haproxy.pid

maxconn 4000

user haproxy

group haproxy

daemon

stats socket /var/lib/haproxy/stats

defaults

mode http

log global

option httplog

option dontlognull

option http-server-close

option redispatch

retries 3

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 3000

listen admin_status

bind 0.0.0.0:48800

stats uri /admin-status

stats auth admin:admin

listen allmycat_service

bind 0.0.0.0:3366

mode tcp

option tcplog

option httpchk OPTIONS * HTTP/1.1\r\nHost:\ www

balance roundrobin

server mycat_151 192.168.175.151:3307 check port 48700 inter 5s rise 2 fall 3

server mycat_154 192.168.175.154:3307 check port 48700 inter 5s rise 2 fall 3

listen allmycat_admin

bind 0.0.0.0:3377

mode tcp

option tcplog

option httpchk OPTIONS * HTTP/1.1\r\nHost:\ www

balance roundrobin

server mycat_151 192.168.175.151:3308 check port 48700 inter 5s rise 2 fall 3

server mycat_154 192.168.175.154:3308 check port 48700 inter 5s rise 2 fall 3

接下來,在binghe151服務器和binghe154服務器上啟動HAProxy,如下所示。

haproxy -f /etc/haproxy/haproxy.cfg

接下來,我們使用mysql命令連接HAProxy監聽的虛擬IP和端口來連接Mycat,如下所示。

[root@binghe151 ~]# mysql -umycat -pmycat -h192.168.175.110 -P3366 --default-auth=mysql_native_password

mysql: [Warning] Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.6.29-mycat-1.6.7.4-release-20200228205020 MyCat Server (OpenCloudDB)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

可以看到,連接Mycat成功。

安裝Keepalived

1.安裝并配置Keepalived

直接在binghe151和binghe154服務器上輸入如下命令安裝Keepalived。

yum install keepalived -y

安裝成功后,會在/etc目錄下生成一個keepalived目錄,接下來,我們在/etc/keepalived目錄下配置keepalived.conf文件,如下所示。

vim /etc/keepalived/keepalived.conf

binghe151服務器配置

! Configuration Fileforkeepalived

vrrp_script chk_http_port {

script "/etc/keepalived/check_haproxy.sh"

interval 2

weight 2

}

vrrp_instance VI_1 {

state MASTER

interface eth0

virtual_router_id 51

priority 150

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

track_script {

chk_http_port

}

virtual_ipaddress {

192.168.175.110 dev eth0 scope global

}

}

binghe154服務器配置

! Configuration Fileforkeepalived

vrrp_script chk_http_port {

script "/etc/keepalived/check_haproxy.sh"

interval 2

weight 2

}

vrrp_instance VI_1 {

state SLAVE

interface eth0

virtual_router_id 51

priority 120

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

track_script {

chk_http_port

}

virtual_ipaddress {

192.168.175.110 dev eth0 scope global

}

}

2.編寫檢測HAProxy的腳本

接下來,需要分別在binghe151和binghe154服務器上的/etc/keepalived目錄下創建check_haproxy.sh腳本,腳本內容如下所示。

#!/bin/bash

STARTHAPROXY="/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg"

STOPKEEPALIVED="/etc/init.d/keepalived stop"

#STOPKEEPALIVED="/usr/bin/systemctl stop keepalived"

LOGFILE="/var/log/keepalived-haproxy-state.log"

echo "[check_haproxy status]" >> $LOGFILE

A=`ps -C haproxy --no-header |wc -l`

echo "[check_haproxy status]" >> $LOGFILE

date >> $LOGFILE

if [ $A -eq 0 ];then

echo $STARTHAPROXY >> $LOGFILE

$STARTHAPROXY >> $LOGFILE 2>&1

sleep 5

fi

if [ `ps -C haproxy --no-header |wc -l` -eq 0 ];then

exit 0

else

exit 1

fi

使用如下命令為check_haproxy.sh腳本授予可執行權限。

chmod a+x /etc/keepalived/check_haproxy.sh

3.啟動Keepalived

配置完成后,我們就可以啟動Keepalived了,分別在binghe151和binghe154服務器上啟動Keepalived,如下所示。

/etc/init.d/keepalived start

查看Keepalived是否啟動成功,如下所示。

binghe151服務器

[root@binghe151 ~]# ps -ef | grep keepalived

root 1221 1 0 20:06 ? 00:00:00 keepalived -D

root 1222 1221 0 20:06 ? 00:00:00 keepalived -D

root 1223 1221 0 20:06 ? 00:00:02 keepalived -D

root 93290 3787 0 21:42 pts/0 00:00:00 grep keepalived

binghe154服務器

[root@binghe154 ~]# ps -ef | grep keepalived

root 1224 1 0 20:06 ? 00:00:00 keepalived -D

root 1225 1224 0 20:06 ? 00:00:00 keepalived -D

root 1226 1224 0 20:06 ? 00:00:02 keepalived -D

root 94636 3798 0 21:43 pts/0 00:00:00 grep keepalived

可以看到,兩臺服務器上的Keepalived服務啟動成功。

4.驗證Keepalived綁定的虛擬IP

接下來,我們分別查看兩臺服務器上的Keepalived是否綁定了虛擬IP。

binghe151服務器

[root@binghe151 ~]# ip addr

1: lo: mtu 65536 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:10:a1:45 brd ff:ff:ff:ff:ff:ff

inet 192.168.175.151/24 brd 192.168.175.255 scope global eth0

inet 192.168.175.110/32 scope global eth0

inet 192.168.175.110/24 brd 192.168.175.255 scope global secondary eth0:1

inet6 fe80::20c:29ff:fe10:a145/64 scope link

valid_lft forever preferred_lft forever

可以看到如下一行代碼。

inet 192.168.175.110/32 scope global eth0

說明binghe151服務器上的Keepalived綁定了虛擬IP 192.168.175.110。

binghe154服務器

[root@binghe154 ~]# ip addr

1: lo: mtu 65536 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:50:56:22:2a:75 brd ff:ff:ff:ff:ff:ff

inet 192.168.175.154/24 brd 192.168.175.255 scope global eth0

inet 192.168.175.110/24 brd 192.168.175.255 scope global secondary eth0:1

inet6 fe80::250:56ff:fe22:2a75/64 scope link

valid_lft forever preferred_lft forever

可以看到binghe154服務器上的Keepalived并沒有綁定虛擬IP。

5.測試虛擬IP的漂移

如何測試虛擬IP的漂移呢?首先,我們停止binghe151服務器上的Keepalived,如下所示。

/etc/init.d/keepalived stop

接下來,查看binghe154服務器上Keepalived綁定虛擬IP的情況,如下所示。

[root@binghe154 ~]# ip addr

1: lo: mtu 65536 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:50:56:22:2a:75 brd ff:ff:ff:ff:ff:ff

inet 192.168.175.154/24 brd 192.168.175.255 scope global eth0

inet 192.168.175.110/32 scope global eth0

inet 192.168.175.110/24 brd 192.168.175.255 scope global secondary eth0:1

inet6 fe80::250:56ff:fe22:2a75/64 scope link

valid_lft forever preferred_lft forever

可以看到,在輸出的結果信息中,存在如下一行信息。

inet 192.168.175.110/32 scope global eth0

說明binghe154服務器上的Keepalived綁定了虛擬IP 192.168.175.110,虛擬IP漂移到了binghe154服務器上。

6.binghe151服務器上的Keepalived搶占虛擬IP

接下來,我們啟動binghe151服務器上的Keepalived,如下所示。

/etc/init.d/keepalived start

啟動成功后,我們再次查看虛擬IP的綁定情況,如下所示。

binghe151服務器

[root@binghe151 ~]# ip addr

1: lo: mtu 65536 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:10:a1:45 brd ff:ff:ff:ff:ff:ff

inet 192.168.175.151/24 brd 192.168.175.255 scope global eth0

inet 192.168.175.110/32 scope global eth0

inet 192.168.175.110/24 brd 192.168.175.255 scope global secondary eth0:1

inet6 fe80::20c:29ff:fe10:a145/64 scope link

valid_lft forever preferred_lft forever

binghe154服務器

[root@binghe154 ~]# ip addr

1: lo: mtu 65536 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:50:56:22:2a:75 brd ff:ff:ff:ff:ff:ff

inet 192.168.175.154/24 brd 192.168.175.255 scope global eth0

inet 192.168.175.110/24 brd 192.168.175.255 scope global secondary eth0:1

inet6 fe80::250:56ff:fe22:2a75/64 scope link

valid_lft forever preferred_lft forever

由于binghe151服務器上配置的Keepalived優先級要高于binghe154服務器上的Keepalived,所以,再次啟動binghe151服務器上的Keepalived后,binghe151服務器上的Keepalived會搶占虛擬IP。

配置MySQL主從復制

這里,為了簡單,我將binghe154和binghe155服務器上的MySQL配置成主從復制,大家也可以根據實際情況,自行配置其他服務器上MySQL的主從復制(注意:我這里配置的是一主一從模式)。

1.編輯my.cnf文件

binghe154服務器

server_id = 154

log_bin = /data/mysql/log/bin_log/mysql-bin

binlog-ignore-db=mysql

binlog_format= mixed

sync_binlog=100

log_slave_updates = 1

binlog_cache_size=32m

max_binlog_cache_size=64m

max_binlog_size=512m

lower_case_table_names = 1

relay_log = /data/mysql/log/bin_log/relay-bin

relay_log_index = /data/mysql/log/bin_log/relay-bin.index

master_info_repository=TABLE

relay-log-info-repository=TABLE

relay-log-recovery

binghe155服務器

server_id = 155

log_bin = /data/mysql/log/bin_log/mysql-bin

binlog-ignore-db=mysql

binlog_format= mixed

sync_binlog=100

log_slave_updates = 1

binlog_cache_size=32m

max_binlog_cache_size=64m

max_binlog_size=512m

lower_case_table_names = 1

relay_log = /data/mysql/log/bin_log/relay-bin

relay_log_index = /data/mysql/log/bin_log/relay-bin.index

master_info_repository=TABLE

relay-log-info-repository=TABLE

relay-log-recovery

2.同步兩臺服務器上MySQL的數據

在binghe154服務器上只有一個customer_db數據庫,我們使用mysqldump命令導出customer_db數據庫,如下所示。

[root@binghe154 ~]# mysqldump --master-data=2 --single-transaction -uroot -p --databases customer_db > binghe154.sql

Enter password:

接下來,我們查看binghe154.sql文件。

more binghe154.sql

在文件中,我們可以找到如下信息。

CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000042', MASTER_LOG_POS=995;

說明當前MySQL的二進制日志文件為mysql-bin.000042,二進制日志文件的位置為995。

接下來,我們將binghe154.sql文件復制到binghe155服務器上,如下所示。

scp binghe154.sql 192.168.175.155:/usr/local/src

在binghe155服務器上,將binghe154.sql腳本導入到MySQL中,如下所示。

mysql -uroot -p < /usr/local/src/binghe154.sql

此時,完成了數據的初始化。

3.創建主從復制賬號

在binghe154服務器的MySQL中,創建用于主從復制的MySQL賬號,如下所示。

mysql> CREATE USER 'repl'@'192.168.175.%' IDENTIFIED BY 'repl123456';

Query OK, 0 rows affected (0.01 sec)

mysql> ALTER USER 'repl'@'192.168.175.%' IDENTIFIED WITH mysql_native_password BY 'repl123456';

Query OK, 0 rows affected (0.00 sec)

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.175.%';

Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

4.配置復制鏈路

登錄binghe155服務器上的MySQL,并使用如下命令配置復制鏈路。

mysql> change master to

> master_host='192.168.175.154',

> master_port=3306,

> master_user='repl',

> master_password='repl123456',

> MASTER_LOG_FILE='mysql-bin.000042',

> MASTER_LOG_POS=995;

其中,MASTER_LOG_FILE='mysql-bin.000042', MASTER_LOG_POS=995 就是在binghe154.sql文件中找到的。

5.啟動從庫

在binghe155服務器的MySQL命令行啟動從庫,如下所示。

mysql> start slave;

查看從庫是否啟動成功,如下所示。

mysql> SHOW slave STATUS \G

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.175.151

Master_User: binghe152

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000007

Read_Master_Log_Pos: 1360

Relay_Log_File: relay-bin.000003

Relay_Log_Pos: 322

Relay_Master_Log_File: mysql-bin.000007

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

#################省略部分輸出結果信息##################

結果顯示Slave_IO_Running選項和Slave_SQL_Running選項的值均為Yes,說明MySQL主從復制環境搭建成功。

最后,別忘了在binghe155服務器的MySQL中創建Mycat連接MySQL的用戶,如下所示。

CREATE USER 'mycat'@'192.168.175.%' IDENTIFIED BY 'mycat';

ALTER USER 'mycat'@'192.168.175.%' IDENTIFIED WITH mysql_native_password BY 'mycat';

GRANT SELECT, INSERT, UPDATE, DELETE,EXECUTE ON *.* TO 'mycat'@'192.168.175.%';

FLUSH PRIVILEGES;

配置Mycat讀寫分離

修改Mycatd的schema.xml文件,實現binghe154和binghe155服務器上的MySQL讀寫分離。在Mycat安裝目錄的conf/zkconf目錄下,修改schema.xml文件,修改后的schema.xml文件如下所示。

select user()

select user()

select user()

select user()

保存并退出vim編輯器,接下來,初始化Zookeeper中的數據,如下所示。

/usr/local/mycat/bin/init_zk_data.sh

上述命令執行成功后,會自動將配置同步到binghe151和binghe154服務器上的Mycat的安裝目錄下的conf目錄下的schema.xml中。

接下來,分別啟動binghe151和binghe154服務器上的Mycat服務。

mycat restart

如何訪問高可用環境

此時,整個高可用環境配置完成,上層應用連接高可用環境時,需要連接HAProxy監聽的IP和端口。比如使用mysql命令連接高可用環境如下所示。

[root@binghe151 ~]# mysql -umycat -pmycat -h192.168.175.110 -P3366 --default-auth=mysql_native_password

mysql: [Warning] Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.6.29-mycat-1.6.7.4-release-20200228205020 MyCat Server (OpenCloudDB)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;

+----------+

| DATABASE |

+----------+

| shop |

+----------+

1 row in set (0.10 sec)

mysql> use shop;

Database changed

mysql> show tables;

+-----------------------+

| Tables in shop |

+-----------------------+

| customer_balance_log |

| customer_inf |

| customer_level_inf |

| customer_login |

| customer_login_log |

| customer_point_log |

| order_cart |

| order_customer_addr |

| order_detail |

| order_master |

| product_brand_info |

| product_category |

| product_comment |

| product_info |

| product_pic_info |

| product_supplier_info |

| region_info |

| serial |

| shipping_info |

| warehouse_info |

| warehouse_proudct |

+-----------------------+

21 rows in set (0.00 sec)

這里,我只是對binghe154服務器上的MySQL擴展了讀寫分離環境,大家也可以根據實際情況對其他服務器的MySQL實現主從復制和讀寫分離,這樣,整個高可用環境就實現了HAProxy的高可用、Mycat的高可用、MySQL的高可用、Zookeeper的高可用和Keepalived的高可用。

好了,今天就到這兒吧,我是冰河,大家有啥問題可以在下方留言,也可以加我微信,一起交流技術,一起進階,一起牛逼~~

總結

以上是生活随笔為你收集整理的mysql ondumplictcate_4.5万字手把手教你实现MySQL TB级数据存储!!的全部內容,希望文章能夠幫你解決所遇到的問題。

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

国产原创91 | 蜜臀av夜夜澡人人爽人人桃色 | 国产一区二区高清不卡 | 99在线高清视频在线播放 | 午夜精品一区二区三区在线视频 | 奇米导航 | 97狠狠干 | 狠狠插狠狠干 | 国产视频久久久久 | 成人午夜片av在线看 | 国产精品嫩草影院123 | 国产在线不卡视频 | 国产精品毛片一区二区在线 | 午夜视频免费在线观看 | 丁五月婷婷 | 日日夜操| 午夜视频免费播放 | 亚洲欧美成人在线 | 久久精品欧美日韩精品 | 亚洲精品国产精品国产 | 日日夜夜狠狠操 | 国产视频第二页 | 91久久精品一区二区三区 | www日韩精品 | 婷婷丁香激情网 | 免费看亚洲毛片 | 91精品一区二区三区蜜臀 | 国产一级精品绿帽视频 | 国产高清专区 | 欧美精品一区二区免费 | 国产午夜精品一区二区三区欧美 | 国产v视频 | 久久久在线免费观看 | 久草香蕉在线 | 亚洲激情综合 | 日韩高清免费在线 | 天天操天天吃 | 美女黄频网站 | 亚洲精品乱码久久久久久蜜桃欧美 | 丁香六月色 | 中文字幕在线免费97 | 免费观看的av网站 | 操久 | 亚洲国产操| 黄a在线看 | 国产人成免费视频 | 免费福利在线播放 | 毛片.com| 五月天堂网 | 欧美a性| 中文字幕久久网 | 懂色av一区二区在线播放 | 天天干一干 | 日韩一区正在播放 | 热久久视久久精品18亚洲精品 | 亚洲第一久久久 | 亚洲精品资源 | 日韩在线视频网 | 在线国产专区 | www.在线观看视频 | 日韩免费播放 | 午夜12点| a午夜在线 | 中文字幕a在线 | 麻豆免费看片 | 国产在线观看你懂得 | 日韩中文字幕在线 | 国产午夜精品一区 | 麻豆影视在线播放 | 久久黄色影视 | 97超碰人人看 | 欧美福利视频 | 91三级在线观看 | 香蕉影院在线观看 | 一区中文字幕电影 | 亚洲成人第一区 | 91麻豆精品国产91久久久久久 | 国产91在线观看 | 九九免费在线观看视频 | 综合精品在线 | 午夜av在线 | 亚洲日本激情 | 亚洲精品综合在线 | 视频在线观看99 | 精品视频123区在线观看 | 久草网免费 | 黄色大片视频网站 | 国产精品美女久久久久久 | 激情欧美一区二区三区免费看 | 亚洲精品午夜久久久久久久久久久 | 久久国产女人 | 国产精品乱看 | 手机看片久久 | 色婷婷国产精品 | 国产99视频在线观看 | 国产高清视频免费观看 | 精品国产免费av | 国产精品男女 | 中文字幕中文字幕在线中文字幕三区 | 婷婷综合导航 | 91久久黄色 | 综合网成人| 亚洲成人av在线电影 | 日韩一级黄色片 | 成年人视频在线免费播放 | 超碰免费av | 亚洲区另类春色综合小说 | 狠狠五月天 | 日韩成人精品一区二区三区 | 91久久丝袜国产露脸动漫 | 97色国产 | 午夜骚影 | 99免费在线播放99久久免费 | 久久综合爱 | av一区在线 | 日韩免费在线一区 | 国产精品久久久久久久久久了 | 久久九九精品久久 | av中文字幕免费在线观看 | 亚洲精品高清一区二区三区四区 | 人人澡超碰碰 | 色婷婷免费视频 | 久久a v视频 | 中文字幕在线看视频国产 | 成人h在线 | 91av资源在线 | 香蕉视频国产在线观看 | 国产在线观看高清视频 | 国外成人在线视频网站 | 国产精品 日本 | 中文字幕在线观看三区 | 日日添夜夜添 | 久久福利综合 | 欧美日韩在线观看一区二区三区 | 国产精品午夜免费福利视频 | 免费男女羞羞的视频网站中文字幕 | 黄色一级免费网站 | 日韩精品在线观看av | 三级黄色欧美 | 天天色天天爱天天射综合 | 国产精品久久久久久久免费观看 | 91福利国产在线观看 | 国产免费中文字幕 | 天天天色| 亚洲国产精品成人女人久久 | 日韩在线观看视频中文字幕 | 97视频在线免费 | 国产亚洲成人精品 | 91自拍91 | 亚洲精品日韩在线观看 | av中文天堂 | www99精品 | 亚洲午夜不卡 | 欧美另类sm图片 | 操操色 | 免费国产亚洲视频 | 国产又粗又猛又黄 | 午夜123| 在线亚洲观看 | 成年人电影毛片 | 久久久久伦理电影 | 日韩精品免费在线播放 | 中文字幕中文中文字幕 | 黄色在线观看网站 | 日本动漫做毛片一区二区 | 日韩在线第一 | 992tv人人网tv亚洲精品 | 国产片免费在线观看视频 | 日韩免费高清 | 日本在线观看一区二区三区 | 六月色丁香 | 国产xxxx做受性欧美88 | 国产又粗又猛又黄又爽的视频 | 国产97色在线 | 国产成人精品av | 国产成人久久久77777 | 一区二区电影在线观看 | 色噜噜噜 | 天天爱天天射天天干天天 | 久草网在线视频 | 婷婷六月天丁香 | 91精品久久久久久综合五月天 | 福利一区在线 | 日日日视频 | 国产精品99久久久久久有的能看 | 69国产在线观看 | 国产激情免费 | 一级精品视频在线观看宜春院 | 国产精品美女在线 | 黄色一级大片在线观看 | 激情中文在线 | 婷婷去俺也去六月色 | 中文字幕在线观看第二页 | 久久色在线观看 | 色婷婷狠 | 欧美va天堂va视频va在线 | 黄av免费在线观看 | 中文字幕人成乱码在线观看 | 免费在线一区二区 | 久久综合久色欧美综合狠狠 | 国产精品毛片一区二区在线 | 一区二区三区福利 | 日日操网| 日韩一级成人av | 免费观看成人av | 超碰在线公开 | 粉嫩aⅴ一区二区三区 | 中文字幕免费在线 | 四虎永久精品在线 | 香蕉视频在线观看免费 | 91av精品| 日本精品免费看 | 91亚洲国产| 九九精品视频在线观看 | 欧美va天堂在线电影 | 少妇bbr搡bbb搡bbb| 丰满少妇在线观看网站 | 久草精品视频在线看网站免费 | 亚洲日本va在线观看 | 欧美在线a视频 | 91毛片在线观看 | 天天天综合网 | 日本中文字幕观看 | 一区二区三区高清不卡 | 欧美成人免费在线 | 激情视频免费在线观看 | 久草在线网址 | 国产精品男女啪啪 | 亚洲精品国产拍在线 | 国产 日韩 欧美 自拍 | 久久99精品一区二区三区三区 | 超级碰碰碰碰 | 在线观看中文av | 麻豆视频成人 | 中文字幕色婷婷在线视频 | 久久久久久久久久久久av | 中中文字幕av在线 | 91九色视频在线 | 久久黄色a级片 | 五月天久久综合网 | 亚洲精品无 | 国产91九色视频 | 久久综合色婷婷 | 亚洲黄污 | 色av男人的天堂免费在线 | 国产精品白丝av | 色狠狠操 | 香蕉色综合 | 天天拍天天操 | 91精品国产一区二区在线观看 | 亚洲一级国产 | 国产va在线观看免费 | 久久午夜精品视频 | 91网页版在线观看 | 免费毛片aaaaaa | 91亚洲夫妻 | 成人av免费网站 | 国产精品久久久久久久av电影 | 伊香蕉大综综综合久久啪 | 色综合久久久网 | 久久高清免费观看 | 国产精品av电影 | 亚洲资源视频 | 日韩美女免费线视频 | 天天干天天色2020 | 中文字幕色网站 | 国产精品原创视频 | 96精品高清视频在线观看软件特色 | 麻豆视频在线观看免费 | 99视频精品免费视频 | 99久久国产免费免费 | 国产97碰免费视频 | 超碰97人| 丰满少妇在线观看资源站 | 激情文学综合丁香 | 极品国产91在线网站 | 国产精品久久久久久久久久久久 | www免费| aaa亚洲精品一二三区 | 视频在线亚洲 | 九九久久在线看 | 最近日本中文字幕a | 免费的国产精品 | 国产视频精品免费 | 亚洲影院天堂 | 黄色1级毛片 | 日韩高清不卡一区二区三区 | 天天射天天舔天天干 | 国产精品人成电影在线观看 | 一级黄色片在线播放 | 久久久久国产成人免费精品免费 | 精品久久1 | 欧美日韩调教 | 激情五月六月婷婷 | 中文字幕中文字幕中文字幕 | 亚洲天堂在线观看完整版 | 久久99精品久久久久久清纯直播 | 99精品一区二区三区 | 欧美日韩国产区 | 免费特级黄色片 | 欧美色精品天天在线观看视频 | 欧美日韩91| 亚洲精品一区二区三区四区高清 | 亚洲成人国产 | 九九色在线观看 | 国产一级高清 | 精品亚洲成a人在线观看 | 国产精品原创 | 亚洲国产精品va在线 | 在线观看av黄色 | 99久久久国产精品 | 美女视频黄色免费 | 精品99久久| 久久综合狠狠综合 | 中文字幕一区二区三区精华液 | 国产在线一线 | 国产人成精品一区二区三 | 又污又黄的网站 | 91色吧 | 天天操天天摸天天爽 | a成人v在线| 色综合久久久久综合99 | 日韩高清一二三区 | 久久免费国产电影 | 国产成a人亚洲精v品在线观看 | av成人免费在线观看 | 一二三区在线 | 久草久草视频 | 久久久久夜色 | 人人澡人人澡人人 | 婷婷色网址 | 免费观看久久 | 欧洲视频一区 | 欧美日韩精品区 | 日韩欧美在线国产 | 久久精品美女视频网站 | 超级碰视频 | 精品96久久久久久中文字幕无 | 久久精品中文字幕少妇 | 国产美女精品视频 | 亚洲精品乱码久久久久久写真 | 蜜臀久久99精品久久久久久网站 | 日韩欧美国产免费播放 | 成人一级免费电影 | 在线播放国产精品 | 国产盗摄精品一区二区 | 欧美午夜性 | 成人av动漫在线观看 | 国产精品一区在线观看 | 日韩av免费一区 | 日本久久久久久 | 亚洲视频精选 | 97超碰成人在线 | 国产精品亚州 | 中文字幕在线视频一区二区 | 91超级碰碰| 欧美一区二区精美视频 | 国产 字幕 制服 中文 在线 | 国产精品福利无圣光在线一区 | 四虎最新入口 | 亚洲永久免费av | 91秒拍国产福利一区 | 久久视了 | 欧美在线视频第一页 | 亚洲精品在线免费观看视频 | 久久久久久久久久久福利 | 日韩精品在线播放 | 欧美性久久久久久 | 久草在线久草在线2 | 丰满少妇在线 | 亚洲精品999 | 国产99精品| 青青河边草观看完整版高清 | 国产3p视频| 97视频一区 | 在线免费日韩 | 日韩黄色av网站 | 日韩欧美综合精品 | 免费看毛片在线 | 亚洲一级特黄 | 亚洲精品小区久久久久久 | 91在线www| 99久久一区| 在线观看视频一区二区 | 国产精品久久久一区二区 | 天天摸日日操 | 欧美国产91 | 欧美亚洲国产精品久久高清浪潮 | 亚洲一区二区高潮无套美女 | 国产精品女 | 亚洲国产日韩一区 | www.精选视频.com | 天天操福利视频 | 亚洲男男gaygayxxxgv | 国产在线黄 | 亚洲精品综合久久 | 中文区中文字幕免费看 | 九九热免费精品视频 | 91av免费观看 | 爱爱一区| 99c视频高清免费观看 | 成人一级在线观看 | 99免费观看视频 | 夜夜躁日日躁狠狠久久av | 成人免费视频观看 | 成人黄色小说在线观看 | 国产在线小视频 | 一区二区三区日韩精品 | 992tv又爽又黄的免费视频 | 99久久99久久免费精品蜜臀 | 午夜精品视频福利 | 免费下载高清毛片 | 国产成人av网站 | 91久久精品一区 | 色诱亚洲精品久久久久久 | 亚州精品一二三区 | 国产.精品.日韩.另类.中文.在线.播放 | 久久99偷拍视频 | 黄色成年片 | 极品国产91在线网站 | 色噜噜在线观看视频 | 欧美精品久久久 | 毛片a级片 | 日本中文字幕在线 | 国产午夜在线观看视频 | 天天操夜夜叫 | 欧美日韩国语 | 中文字幕 二区 | zzijzzij日本成熟少妇 | 在线a亚洲视频播放在线观看 | 国产在线免费av | 亚洲在线观看av | 中文字幕中文中文字幕 | 91丨九色丨91啦蝌蚪老版 | 久久免费成人精品视频 | 天天av资源| 福利在线看片 | 一区二区av | 欧美人体xx | 国产一线二线三线在线观看 | 久久精品久久精品久久 | 国产高清不卡av | 亚洲 中文 欧美 日韩vr 在线 | 亚洲a网| 又黄又刺激的视频 | 欧美日产一区 | 日韩欧美视频在线播放 | 在线视频日韩一区 | 在线国产一区二区三区 | 九九色网 | 丁香5月婷婷 | 久久在线一区 | 久草在线这里只有精品 | 韩国精品一区二区三区六区色诱 | 日本护士三级少妇三级999 | 日韩精品视频在线观看网址 | 日韩视| 欧美日韩国产精品久久 | 人人搞人人爽 | 成人av免费播放 | 免费又黄又爽 | 麻豆 91 在线 | 日韩一区二区免费在线观看 | 最近最新最好看中文视频 | 亚洲另类视频在线 | 午夜色场| 又黄又爽又色无遮挡免费 | 一级全黄毛片 | 国产精品theporn | 久久免费一级片 | 婷婷成人在线 | 久久久免费视频播放 | www.久久色 | av在线等| 国产精品免费大片视频 | 欧美做受高潮 | 国产日韩欧美在线 | 日韩午夜精品 | 国产一级电影免费观看 | 亚洲精品玖玖玖av在线看 | 久久久久久久亚洲精品 | 国产精品久久久久久久久久了 | 国产一区视频在线观看免费 | 成年人免费看的视频 | 日韩精品一区二区三区外面 | 丁香激情五月婷婷 | 香蕉视频一级 | 九九视频在线观看视频6 | 久草在线视频国产 | 国产高清黄| 日韩在线字幕 | 色哟哟国产精品 | 97人人爽 | 97视频网址 | 九九久久免费视频 | 2021国产精品视频 | 激情网婷婷 | 成人a在线观看高清电影 | 欧美精品久久久久久久久久白贞 | 亚洲综合网 | 开心激情网五月天 | av福利在线看| 国产精品久久久久久久久久ktv | 欧美日韩国产高清视频 | 在线观看国产91 | 日韩影视在线观看 | 欧美一区二区在线 | 最近2019中文免费高清视频观看www99 | 婷婷丁香国产 | 久久天天躁夜夜躁狠狠躁2022 | 好看的国产精品视频 | 国产精品免费久久久久久 | 韩国精品在线观看 | 狠狠操操操 | 97视频人人免费看 | 欧美日韩xxx | 91色亚洲 | 999久久久久久 | 精品久久国产 | 久久久久国产精品视频 | 中文字幕999| 亚洲动漫在线观看 | 91新人在线观看 | 亚洲高清av| 超碰免费久久 | 日韩毛片在线一区二区毛片 | 99视频一区二区 | 国产色女| 碰超在线 | 99精品视频在线看 | 国产精品18久久久久久vr | 亚洲国产午夜 | 成人97人人超碰人人99 | 五月天综合 | 久久精品中文字幕一区二区三区 | 最新免费av在线 | 国产精品免费一区二区 | 激情婷婷亚洲 | 日本护士三级少妇三级999 | 91在线文字幕 | 91av在| 久久国产精品免费一区 | 天天鲁一鲁摸一摸爽一爽 | 精品国产黄色片 | 香蕉97视频观看在线观看 | 日韩精品中文字幕有码 | 国产综合福利在线 | 成人动漫视频在线 | 国产一级片播放 | 日韩免费在线看 | 丁香婷婷网 | 国产黄色片免费 | 欧洲色吧 | 91亚洲精品久久久蜜桃 | 国产在线97 | 在线免费av电影 | 免费在线中文字幕 | 久色小说 | 天天操夜夜曰 | 中文字幕黄色网址 | 全黄网站| 久久这里只有精品视频99 | 中文字幕视频一区 | 亚洲天堂网在线视频 | 婷婷丁香五 | 亚洲视频久久 | 日本字幕网| 亚洲精品综合一二三区在线观看 | 国产精国产精品 | 亚洲欧美日韩一二三区 | 国产片免费在线观看视频 | 国产中文字幕在线免费观看 | 欧美日韩一区二区视频在线观看 | 国产精品久久久久久久7电影 | 免费国产在线视频 | 一级黄色片网站 | 日韩在线观看av | 欧美在线久久 | 欧美性生活免费 | 欧美日韩国产一二 | 亚洲精品美女在线 | 97国产人人| 97精品超碰一区二区三区 | 精品亚洲免a | 中文字幕第一 | 国产成人精品一区二区三区在线 | 国产视频欧美视频 | 超碰在线91 | 天天射天天拍 | 六月激情婷婷 | 91色在线观看 | 色综合五月天 | 开心激情综合网 | 国产 视频 高清 免费 | 国产精品久久久久久久久婷婷 | 精品国产一区二区三区日日嗨 | 国产精品视频地址 | 国产在线视频一区 | 欧美精品乱码久久久久久按摩 | 久草免费手机视频 | 九九热在线视频 | 国内精品久久久久影院一蜜桃 | 久久成| 国产免费资源 | 99精品免费 | 亚洲精品资源在线观看 | 免费看日韩片 | 丁香激情网 | 91看片淫黄大片一级在线观看 | 免费看成人片 | 国产精品久久久久9999吃药 | 欧美日韩不卡一区二区 | 五月激情电影 | 欧美肥妇free | 日韩影视在线观看 | 国产在线毛片 | 黄色一级大片在线免费看国产一 | 中文字幕电影高清在线观看 | 国产精品一区在线观看你懂的 | 27xxoo无遮挡动态视频 | 成年人三级网站 | 国产视频久 | 午夜a区 | 狠狠干中文字幕 | 日韩a欧美 | 国产精品99久久久久久大便 | 97超碰在线人人 | 久久久免费精品 | 亚洲欧美日韩在线一区二区 | 国产精品精品久久久 | 国产精品毛片一区视频播不卡 | 91色网址| 免费男女羞羞的视频网站中文字幕 | 91九色蝌蚪国产 | 99精品网站| 免费久草视频 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 国产专区免费 | 婷婷国产一区二区三区 | 91视频在线免费观看 | 国产色网 | 午夜精品三区 | 色天堂在线视频 | 国产在线精品区 | 国产中文字幕视频在线观看 | 最近乱久中文字幕 | 亚洲国产黄色片 | av电影在线免费 | av在线播放一区二区三区 | 国产中文在线字幕 | 亚洲精品乱码白浆高清久久久久久 | 国产一区二区在线免费观看 | 国产麻豆剧传媒免费观看 | 又色又爽又黄高潮的免费视频 | 婷婷久久婷婷 | 久久精品亚洲 | 91热视频在线观看 | 色偷偷人人澡久久超碰69 | 婷婷色视频| 在线视频区| 国产日韩精品一区二区 | 午夜精品一区二区三区在线播放 | 精品一区二区久久久久久久网站 | 亚洲乱码精品久久久久 | 国产黄色一级大片 | 天天爽天天做 | 91高清免费 | 久久1电影院 | 精品在线亚洲视频 | 日韩视频免费 | 久久免费资源 | 久草视频在线观 | 国产精品白丝jk白祙 | 国内精品在线看 | 午夜久久精品 | 丁香婷婷久久久综合精品国产 | 99视频久| 九九九九精品九九九九 | 国偷自产视频一区二区久 | 精品黄色在线观看 | 日韩av在线资源 | 玖玖国产精品视频 | 国产日韩在线视频 | 奇米影视777四色米奇影院 | 精品一区精品二区 | 中文字幕在线专区 | 国产91精品看黄网站在线观看动漫 | 精品国产伦一区二区三区免费 | 999久久国产精品免费观看网站 | 天天草天天| 国产在线观看a | www.色五月.com | 五月婷婷色综合 | 欧美另类一二三四区 | 精品久久网 | www.夜夜夜| 日韩av免费观看网站 | 一级一片免费观看 | 黄色性av | 久久久久久看片 | 啪啪免费视频网站 | 亚洲国产成人精品在线观看 | 激情综合六月 | 日本不卡一区二区 | 97在线观看免费高清完整版在线观看 | 色先锋av资源中文字幕 | 国产精品日韩在线 | 久久成人18免费网站 | 国产福利一区二区三区视频 | 色婷婷午夜| 五月婷婷深开心 | 成年人黄色大片在线 | 国产自在线 | 麻豆国产露脸在线观看 | 日韩中文字幕免费 | 精品久久久久久久久久久院品网 | 精品毛片在线 | 91成人精品在线 | 一区二区三区四区在线免费观看 | 国模精品一区二区三区 | www.国产在线| 日韩高清精品免费观看 | 国产精品18久久久久久不卡孕妇 | 国产一级a毛片视频爆浆 | 中文字幕乱码电影 | 免费观看的黄色片 | 日韩精品视频免费看 | 国产成人一区在线 | 久久这里只精品 | 国产精品成人一区二区三区吃奶 | 国产精品入口麻豆www | 色婷婷综合久久久中文字幕 | 亚洲成人麻豆 | 国产视频一级 | 亚洲欧洲精品一区 | 国产污视频在线观看 | 国产日韩精品欧美 | www.com.日本一级 | 超碰在线最新地址 | 亚洲精品国产精品国自 | 五月天最新网址 | 日韩免费在线视频 | 国产 欧美 日产久久 | 国产手机在线播放 | 久久免费视频8 | 在线免费色视频 | 日批视频| 国产精品一区二区久久精品爱涩 | 国产h在线观看 | 人人网人人爽 | 久久艹国产视频 | 91九色视频| 91av官网| 超碰在线公开免费 | 国产高清免费 | 婷婷久久综合网 | 欧美在线一二区 | 国产美女在线免费观看 | 91视频com | 欧美二区在线播放 | 国产成人精品不卡 | 国产中文字幕视频在线观看 | 久久久久成人精品免费播放动漫 | 久草在线资源视频 | 超碰97人人射妻 | 国产手机精品视频 | 国精产品永久999 | 久草精品在线播放 | 日韩中文三级 | 国产精品 亚洲精品 | 91桃色免费观看 | 一本大道久久精品懂色aⅴ 五月婷社区 | 久久精品久久精品久久39 | 青草视频网 | 9i看片成人免费看片 | 久久精品影视 | 国产成人99av超碰超爽 | 97精品国产91久久久久久久 | 911精品美国片911久久久 | 欧美精品久久久久久久 | 国产精品毛片一区 | 欧美日韩首页 | 天天在线免费视频 | 成人精品福利 | 欧美黑吊大战白妞欧美 | 亚洲免费视频观看 | 天天操天天操天天操天天操天天操天天操 | 在线成人免费 | 午夜视频导航 | 亚洲日本成人 | 欧美性久久久久久 | www.玖玖玖| 在线亚洲欧美日韩 | 精品国产一区二区三区在线观看 | 夜夜躁天天躁很躁波 | 日韩电影中文,亚洲精品乱码 | 日本中文字幕在线看 | 91激情视频在线播放 | www.夜夜骑.com | 久久婷婷精品视频 | 91精品国自产在线观看 | 91香蕉嫩草 | 日日夜夜天天射 | 天天曰天天 | 激情网五月婷婷 | 日韩成人中文字幕 | 深爱激情五月综合 | 日韩在线精品一区 | 色婷婷久久久综合中文字幕 | 日本黄色大片免费看 | 国产精品淫 | 婷婷成人综合 | 免费a网站| 久久国产高清 | 精品在线播放视频 | 999国内精品永久免费视频 | 婷婷免费在线视频 | 国产精品热| av视屏在线播放 | 黄色一级在线视频 | 99久热在线精品视频成人一区 | 天堂网中文在线 | 欧美极品xxxxx | 黄色一级在线观看 | 日日激情 | 亚洲女同ⅹxx女同tv | 成人免费观看视频大全 | a天堂在线看 | 日韩va在线观看 | 日韩在线观看视频免费 | 综合在线观看色 | 天天综合色网 | 亚洲第一色| 有码中文字幕 | 国产精品久久久久久一区二区 | 一区免费在线 | 在线免费观看国产视频 | 黄色一级免费网站 | 91av影视| 中文字幕欧美三区 | 麻豆视频在线观看 | 国产 欧美 日产久久 | 久久在线视频在线 | 91最新中文字幕 | 在线欧美最极品的av | 久久爽久久爽久久av东京爽 | 波多野结衣精品在线 | 人人爽人人香蕉 | 国产免费嫩草影院 | 亚洲精品高清视频在线观看 | 国产成人精品久久久久 | 日韩在线免费观看视频 | 中文字幕你懂的 | 婷婷久久综合网 | 国产精品99久久久久的智能播放 | 一级欧美日韩 | 狠狠狠狠狠狠操 | 91精品国产自产91精品 | 国产精品黄色 | 狠狠干中文字幕 | 欧美尹人 | 成人a免费 | 婷婷五月情 | 成人av免费在线 | 一区久久久 | 国产成人在线观看 | 色综合久久久久久久久五月 | 久久伊人精品天天 | 一区二区三区在线观看免费视频 | 欧美日韩高清一区 | 欧洲在线免费视频 | 91在线看片 | 免费 在线 中文 日本 | 黄色亚洲| 毛片二区 | 亚洲国产精品电影 | 欧美最猛性xxxx| 国产精品久久99综合免费观看尤物 | 国产精品久久片 | 国产精品视频全国免费观看 | 狠狠躁夜夜躁人人爽视频 | 国产亚洲欧美精品久久久久久 | 亚洲精品在线国产 | 国产黄影院色大全免费 | 中文字幕在线观看视频网站 | 深夜福利视频在线观看 | 亚洲在线视频网站 | 欧美精品日韩 | 天天操天天射天天爱 | 伊人婷婷综合 | 国产久草在线观看 | 最近乱久中文字幕 | 97视频网站| 又黄又爽又湿又无遮挡的在线视频 | 天天弄天天干 | 亚洲精品综合欧美二区变态 | 亚洲精品动漫久久久久 | 国产女教师精品久久av | 91高清一区 | 亚洲性xxxx | 免费看一及片 | 天天操夜夜摸 | 免费看一及片 | 99久久99久久精品 | 天天操天天干天天综合网 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 182午夜在线观看 | .精品久久久麻豆国产精品 亚洲va欧美 | 国产99久久久欧美黑人 | 欧美乱码精品一区二区 | 色播99| 午夜视频在线观看一区二区三区 | 精品欧美在线视频 | 日韩国产精品毛片 | 曰韩精品 | 999在线视频| 美女黄频免费 | 午夜av在线 | 精品日本视频 | 欧美日韩一区二区视频在线观看 | 亚洲天天综合 | 亚洲少妇影院 | 天天天天天天天操 | 久久无码精品一区二区三区 | 欧美日韩国产mv | 国产免费观看高清完整版 | 天天干天天色2020 | 国产亚洲字幕 | 黄www在线观看 | 精品日韩视频 | 九七在线视频 | 日韩高清三区 | 黄在线免费看 | 美女在线国产 | 天天色天天操综合网 | 91中文字幕 | 国产成人精品免费在线观看 | 日韩电影一区二区在线观看 | av在线a| 国产中文字幕三区 | 日韩在线观看中文字幕 | 国产999精品久久久久久绿帽 | 久久久久电影网站 | 日韩电影中文字幕在线观看 | 丁香六月网 | 激情av网 | 国产成人一区在线 | 午夜精品电影 | 亚洲视频 在线观看 | 成人18视频| 91在线看免费 | 精品视频在线免费 | 色婷婷中文 | 国色天香在线观看 | 成人欧美日韩国产 | 国产视频久久久久 | 免费福利视频网站 | 天天干,天天干 | 视频一区二区免费 | 欧美精品一区二区免费 | 五月天亚洲婷婷 | av中文字幕日韩 | 深爱开心激情 | 又色又爽又黄高潮的免费视频 | 久久综合狠狠 | 婷婷深爱网 | 中文字幕日韩一区二区三区不卡 | 久久久久99精品成人片三人毛片 | 日本天天操 | 欧美日韩国产一区二区在线观看 | 中文字幕在线视频一区二区三区 | 天天舔天天射天天操 | 夜夜爽88888免费视频4848 | 久久免费片 | 色婷婷 亚洲 | 91在线国内视频 | 99久热在线精品 | 在线电影播放 | 欧美激精品 | 久久视频国产精品免费视频在线 | 91精品亚洲影视在线观看 | 九九在线高清精品视频 | 中文在线字幕免费观看 | 国产免费一区二区三区网站免费 | 欧美a级在线免费观看 | 韩国精品福利一区二区三区 | 成人免费电影 | 天天操夜夜逼 | 69精品在线观看 | 午夜精品久久久99热福利 | 手机色在线 | 国产精品毛片一区二区在线看 | 久久综合中文字幕 | 日本久久电影网 | 最新中文字幕在线观看视频 | 中文字幕国产一区 | 国产一级二级三级在线观看 | 天天操天天操天天操天天操 |