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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

ProxySQL+MGR实现读写分离和主节点故障无感知切换

發(fā)布時(shí)間:2024/1/8 数据库 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ProxySQL+MGR实现读写分离和主节点故障无感知切换 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ProxySQL+MGR實(shí)現(xiàn)讀寫分離和主節(jié)點(diǎn)故障無(wú)感知切換

一、環(huán)境準(zhǔn)備

  • 192.168.153.149 mgr-node1

  • 192.168.153.150 mgr-node2

  • 192.168.153.151 mgr-node3

  • 192.168.153.152 proxysql-node

實(shí)驗(yàn)前關(guān)閉防火墻和SELinux

二、MGR(組復(fù)制)部署過(guò)程

1、四臺(tái)機(jī)器互相做本地解析

[root@proxysql-node ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.153.149 mgr-node1 192.168.153.150 mgr-node2 192.168.153.151 mgr-node3 192.168.153.152 proxysql-node

2、四臺(tái)機(jī)器安裝擴(kuò)展源

[root@proxysql-node yum.repos.d]# yum -y install epel-release.noarch Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile* base: mirrors.cn99.com* extras: mirrors.huaweicloud.com* updates: mirrors.cn99.com Resolving Dependencies --> Running transaction check ---> Package epel-release.noarch 0:7-11 will be installed --> Finished Dependency Resolution

3、三臺(tái)數(shù)據(jù)庫(kù)節(jié)點(diǎn)下載MySQL數(shù)據(jù)庫(kù)

1、MySQL yum包下載(三臺(tái)機(jī)器)
[root@mgr-node1 ~]# wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm --2020-07-18 14:19:46-- http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm Resolving repo.mysql.com (repo.mysql.com)... 23.36.53.20 Connecting to repo.mysql.com (repo.mysql.com)|23.36.53.20|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 25548 (25K) [application/x-redhat-package-manager] Saving to: ‘mysql57-community-release-el7-10.noarch.rpm’100%[====================================================================================>] 25,548 132KB/s in 0.2s2020-07-18 14:19:50 (132 KB/s) - ‘mysql57-community-release-el7-10.noarch.rpm’ saved [25548/25548]
2、MySQL 軟件源安裝(三臺(tái)機(jī)器)
[root@mgr-node1 ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm Loaded plugins: fastestmirror Examining mysql57-community-release-el7-10.noarch.rpm: mysql57-community-release-el7-10.noarch Marking mysql57-community-release-el7-10.noarch.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package mysql57-community-release.noarch 0:el7-10 will be installed --> Finished Dependency ResolutionDependencies Resolved==============================================================================================================================Package Arch Version Repository Size ============================================================================================================================== Installing:mysql57-community-release noarch el7-10 /mysql57-community-release-el7-10.noarch 30 kTransaction Summary ============================================================================================================================== Install 1 PackageTotal size: 30 k Installed size: 30 k Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transactionInstalling : mysql57-community-release-el7-10.noarch 1/1Verifying : mysql57-community-release-el7-10.noarch 1/1Installed:mysql57-community-release.noarch 0:el7-10Complete!
3、MySQL 服務(wù)安裝(三臺(tái)機(jī)器)
[root@mgr-node1 ~]# yum install -y mysql-community-server mysql Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile epel/x86_64/metalink | 6.0 kB 00:00:00* base: mirrors.ustc.edu.cn* epel: mirrors.tuna.tsinghua.edu.cn* extras: mirrors.163.com* updates: mirrors.163.com
4、啟動(dòng)mysqld 服務(wù)(三臺(tái)機(jī)器)
[root@mgr-node1 ~]# systemctl start mysqld [root@mgr-node1 ~]# systemctl status mysqld.service ● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Sat 2020-07-18 14:39:30 CST; 2min 5s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 8617 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)Process: 8567 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 8620 (mysqld)CGroup: /system.slice/mysqld.service└─8620 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pidJul 18 14:39:26 mgr-node1 systemd[1]: Starting MySQL Server... Jul 18 14:39:30 mgr-node1 systemd[1]: Started MySQL Server.
5、設(shè)置登陸MySQL數(shù)據(jù)庫(kù)的密碼(三臺(tái)機(jī)器)

? 由于MySQL從5.7開(kāi)始不允許首次安裝后使用空密碼進(jìn)行登錄!為了加強(qiáng)安全性,系統(tǒng)會(huì)隨機(jī)生成一個(gè)密碼以供管理員首次登錄使用,這個(gè)密碼記錄在/var/log/mysqld.log文件中,使用下面的命令可以查看此密碼:

[root@mgr-node1 ~]# grep 'temporary password' /var/log/mysqld.log 2020-07-18T06:39:27.392196Z 1 [Note] A temporary password is generated for root@localhost: gKizw,a8!gAU

登陸數(shù)據(jù)庫(kù)

[root@mgr-node1 ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.31Copyright (c) 2000, 2020, 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>

設(shè)置登錄密碼

溫馨提示
mysql5.7通過(guò)上面默認(rèn)安裝后,執(zhí)行語(yǔ)句可能會(huì)報(bào)錯(cuò):
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

這個(gè)報(bào)錯(cuò)與Mysql 密碼安全策略validate_password_policy的值有關(guān),validate_password_policy可以取0、1、2三個(gè)值:
解決辦法:
set global validate_password_policy=0;
set global validate_password_length=1;

mysql> set global validate_password_policy=0; #修改密碼策略 Query OK, 0 rows affected (0.00 sec)mysql> set global validate_password_length=1; #修改密碼長(zhǎng)度 Query OK, 0 rows affected (0.00 sec)mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123.com'; #設(shè)置root用戶的登陸密碼 Query OK, 0 rows affected (0.00 sec)mysql> FLUSH PRIVILEGES; #刷新 Query OK, 0 rows affected (0.00 sec)先給這組MGR起個(gè)組名,組名可以隨便起,但是不能使用主機(jī)的GTID! 通過(guò)節(jié)點(diǎn)的uuid作為loose-group_replication_group_name的組名,并且每個(gè)節(jié)點(diǎn)的這個(gè)組名必須一樣! 這里使用MGR-node1節(jié)點(diǎn)mysql里的uuid作為組名 mysql> select uuid(); +--------------------------------------+ | uuid() | +--------------------------------------+ | 44d4d9a6-c8c6-11ea-9bf7-000c2939d519 | +--------------------------------------+

4、mgr-node1操作

1、修改my.cnf配置文件
[root@mgr-node1 etc]# cp /etc/my.cnf /etc/my.cnf.bak [root@mgr-node1 etc]# > my.cnf [root@mgr-node1 etc]# cat my.cnf [mysqld] datadir = /var/lib/mysql socket = /var/lib/mysql/mysql.socksymbolic-links = 0log-error = /var/log/mysqld.log pid-file = /var/run/mysqld/mysqld.pid#GTID: server_id = 1 gtid_mode = on enforce_gtid_consistency = onmaster_info_repository=TABLE relay_log_info_repository=TABLE binlog_checksum=NONE#binlog log_bin = mysql-bin log-slave-updates = 1 binlog_format = row sync-master-info = 1 sync_binlog = 1#relay log skip_slave_start = 1transaction_write_set_extraction=XXHASH64 #以便在server收集寫集合的同時(shí)將其記錄到二進(jìn)制日志。寫集合基于每行的主鍵,并且是行更改后的唯一標(biāo)識(shí)此標(biāo)識(shí)將用于檢測(cè)沖突。 loose-group_replication_group_name="5db40c3c-180c-11e9-afbf-005056ac6820" #組的名字可以隨便起,但不能用主機(jī)的GTID! 所有節(jié)點(diǎn)的這個(gè)組名必須保持一致! loose-group_replication_start_on_boot=off #為了避免每次啟動(dòng)自動(dòng)引導(dǎo)具有相同名稱的第二個(gè)組,所以設(shè)置為OFF。 loose-group_replication_local_address= "192.168.153.149:24901" loose-group_replication_group_seeds= "192.168.153.149:24901,192.168.153.150:24901,192.168.153.151:24901" loose-group_replication_bootstrap_group=off loose-group_replication_single_primary_mode=off #關(guān)閉單主模式的參數(shù)(本例測(cè)試時(shí)多主模式,所以關(guān)閉該項(xiàng)) loose-group_replication_enforce_update_everywhere_checks=on #開(kāi)啟多主模式的參數(shù) loose-group_replication_ip_whitelist="192.168.153.0/24,127.0.0.1/8" # 允許加入組復(fù)制的客戶機(jī)來(lái)源的ip白名單
2、重啟數(shù)據(jù)庫(kù)
[root@mgr-node1 etc]# systemctl restart mysqld [root@mgr-node1 etc]# systemctl status mysqld ● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Sat 2020-07-18 15:19:19 CST; 4s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 8733 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)Process: 8715 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 8736 (mysqld)CGroup: /system.slice/mysqld.service└─8736 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pidJul 18 15:19:18 mgr-node1 systemd[1]: Stopped MySQL Server. Jul 18 15:19:19 mgr-node1 systemd[1]: Starting MySQL Server... Jul 18 15:19:19 mgr-node1 systemd[1]: Started MySQL Server.
3、登錄數(shù)據(jù)庫(kù)操作
[root@mgr-node1 etc]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.31-log MySQL Community Server (GPL)Copyright (c) 2000, 2020, 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> SET SQL_LOG_BIN=0; #即不記錄二進(jìn)制日志 Query OK, 0 rows affected (0.00 sec)mysql> set global validate_password_policy=0; Query OK, 0 rows affected (0.00 sec)mysql> set global validate_password_length=1; Query OK, 0 rows affected (0.00 sec)mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_slave@'%' IDENTIFIED BY '123.com'; Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)mysql> reset master; Query OK, 0 rows affected (0.00 sec)mysql> SET SQL_LOG_BIN=1; Query OK, 0 rows affected (0.00 sec)mysql> CHANGE MASTER TO MASTER_USER='rpl_slave', MASTER_PASSWORD='123.com' FOR CHANNEL 'group_replication_recovery'; Query OK, 0 rows affected, 2 warnings (0.35 sec)mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so'; #安裝復(fù)制組插件 Query OK, 0 rows affected (0.03 sec)mysql> SHOW PLUGINS; +----------------------------+----------+--------------------+----------------------+---------+ | Name | Status | Type | Library | License | +----------------------------+----------+--------------------+----------------------+---------+ | binlog | ACTIVE | STORAGE ENGINE | NULL | GPL | | mysql_native_password | ACTIVE | AUTHENTICATION | NULL | GPL | | sha256_password | ACTIVE | AUTHENTICATION | NULL | GPL | | CSV | ACTIVE | STORAGE ENGINE | NULL | GPL | | MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL | | InnoDB | ACTIVE | STORAGE ENGINE | NULL | GPL | | INNODB_TRX | ACTIVE | INFORMATION SCHEMA | NULL | GPL | . . . . | ngram | ACTIVE | FTPARSER | NULL | GPL | | validate_password | ACTIVE | VALIDATE PASSWORD | validate_password.so | GPL | | group_replication | ACTIVE | GROUP REPLICATION | group_replication.so | GPL | +----------------------------+----------+--------------------+----------------------+---------+ 46 rows in set (0.00 sec)mysql> SET GLOBAL group_replication_bootstrap_group=ON; Query OK, 0 rows affected (0.00 sec)mysql> START GROUP_REPLICATION; Query OK, 0 rows affected (2.65 sec)mysql> SET GLOBAL group_replication_bootstrap_group=OFF; Query OK, 0 rows affected (0.00 sec)mysql> SELECT * FROM performance_schema.replication_group_members; +---------------------------+--------------------------------------+-------------+-------------+--------------+ | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | +---------------------------+--------------------------------------+-------------+-------------+--------------+ | group_replication_applier | 6ceb6753-c8c1-11ea-bb69-000c2939d519 | mgr-node1 | 3306 | ONLINE | +---------------------------+--------------------------------------+-------------+-------------+--------------+ 1 row in set (0.00 sec)比如要保證上面的group_replication_applier的狀態(tài)為"ONLINE"才對(duì)!創(chuàng)建一個(gè)測(cè)試庫(kù) mysql> CREATE DATABASE kevin CHARACTER SET utf8 COLLATE utf8_general_ci; Query OK, 1 row affected (0.00 sec)mysql> use kevin; Database changedmysql> create table if not exists haha (id int(10) PRIMARY KEY AUTO_INCREMENT,name varchar(50) NOT NULL); Query OK, 0 rows affected (0.10 sec)mysql> insert into kevin.haha values(1,"wangshibo"),(2,"guohuihui"),(3,"yangyang"),(4,"shikui"); Query OK, 4 rows affected (0.16 sec) Records: 4 Duplicates: 0 Warnings: 0mysql> select * from kevin.haha; +----+-----------+ | id | name | +----+-----------+ | 1 | wangshibo | | 2 | guohuihui | | 3 | yangyang | | 4 | shikui | +----+-----------+ 4 rows in set (0.00 sec)

5、mgr-node2操作

1、修改my.cnf配置文件
[root@mgr-node2 ~]# cd /etc/ [root@mgr-node2 etc]# cp my.cnf my.cnf.bak [root@mgr-node2 etc]# > my.cnf [root@mgr-node2 etc]# cat my.cnf [mysqld] datadir = /var/lib/mysql socket = /var/lib/mysql/mysql.socksymbolic-links = 0log-error = /var/log/mysqld.log pid-file = /var/run/mysqld/mysqld.pid#GTID: server_id = 2 gtid_mode = on enforce_gtid_consistency = onmaster_info_repository=TABLE relay_log_info_repository=TABLE binlog_checksum=NONE#binlog log_bin = mysql-bin log-slave-updates = 1 binlog_format = row sync-master-info = 1 sync_binlog = 1#relay log skip_slave_start = 1transaction_write_set_extraction=XXHASH64 loose-group_replication_group_name="5db40c3c-180c-11e9-afbf-005056ac6820" loose-group_replication_start_on_boot=off loose-group_replication_local_address= "192.168.153.150:24901" loose-group_replication_group_seeds= "192.168.153.149::24901,192.168.153.150::24901,192.168.153.151::24901" loose-group_replication_bootstrap_group=off loose-group_replication_single_primary_mode=off loose-group_replication_enforce_update_everywhere_checks=on loose-group_replication_ip_whitelist="192.168.153.0/24,127.0.0.1/8"
2、重啟數(shù)據(jù)庫(kù)
[root@mgr-node2 etc]# systemctl restart mysqld [root@mgr-node2 etc]# systemctl status mysqld ● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Sat 2020-07-18 15:53:17 CST; 7s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 23456 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)Process: 23438 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 23459 (mysqld)CGroup: /system.slice/mysqld.service└─23459 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pidJul 18 15:53:16 mgr-node2 systemd[1]: Stopped MySQL Server. Jul 18 15:53:16 mgr-node2 systemd[1]: Starting MySQL Server... Jul 18 15:53:17 mgr-node2 systemd[1]: Started MySQL Server.
3、登錄數(shù)據(jù)庫(kù)進(jìn)行操作
[root@mgr-node2 etc]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.31-log MySQL Community Server (GPL)Copyright (c) 2000, 2020, 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> SET SQL_LOG_BIN=0; Query OK, 0 rows affected (0.00 sec)mysql> set global validate_password_policy=0; Query OK, 0 rows affected (0.00 sec)mysql> set global validate_password_length=1; Query OK, 0 rows affected (0.00 sec)mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_slave@'%' IDENTIFIED BY '123.com'; Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)mysql> reset master; Query OK, 0 rows affected (0.00 sec)mysql> SET SQL_LOG_BIN=1; Query OK, 0 rows affected (0.00 sec)mysql> CHANGE MASTER TO MASTER_USER='rpl_slave', MASTER_PASSWORD='123.com' FOR CHANNEL 'group_replication_recovery'; Query OK, 0 rows affected, 2 warnings (0.02 sec)mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so'; Query OK, 0 rows affected (0.02 sec)mysql> SHOW PLUGINS; +----------------------------+----------+--------------------+----------------------+---------+ | Name | Status | Type | Library | License | +----------------------------+----------+--------------------+----------------------+---------+ | binlog | ACTIVE | STORAGE ENGINE | NULL | GPL | | mysql_native_password | ACTIVE | AUTHENTICATION | NULL | GPL | | sha256_password | ACTIVE | AUTHENTICATION | NULL | GPL | | CSV | ACTIVE | STORAGE ENGINE | NULL | GPL | . . . | BLACKHOLE | ACTIVE | STORAGE ENGINE | NULL | GPL | | FEDERATED | DISABLED | STORAGE ENGINE | NULL | GPL | | partition | ACTIVE | STORAGE ENGINE | NULL | GPL | | ngram | ACTIVE | FTPARSER | NULL | GPL | | validate_password | ACTIVE | VALIDATE PASSWORD | validate_password.so | GPL | | group_replication | ACTIVE | GROUP REPLICATION | group_replication.so | GPL | +----------------------------+----------+--------------------+----------------------+---------+ 46 rows in set (0.00 sec)這里只需要執(zhí)行這一步即可!mysql> START GROUP_REPLICATION; Query OK, 0 rows affected (5.72 sec)查看組內(nèi)情況,發(fā)現(xiàn)MGR-node2已經(jīng)成功加入這個(gè)組內(nèi)了。 mysql> SELECT * FROM performance_schema.replication_group_members; +---------------------------+--------------------------------------+-------------+-------------+--------------+ | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | +---------------------------+--------------------------------------+-------------+-------------+--------------+ | group_replication_applier | 6ceb6753-c8c1-11ea-bb69-000c2939d519 | mgr-node1 | 3306 | ONLINE | | group_replication_applier | 6de78dac-c8c5-11ea-a1ae-000c299642d5 | mgr-node2 | 3306 | ONLINE | +---------------------------+--------------------------------------+-------------+-------------+--------------+ 2 rows in set (0.00 sec)查看下,發(fā)現(xiàn)已經(jīng)將MGR-node1節(jié)點(diǎn)添加的數(shù)據(jù)同步過(guò)來(lái)了 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | kevin | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec)mysql> select * from kevin.haha; +----+-----------+ | id | name | +----+-----------+ | 1 | wangshibo | | 2 | guohuihui | | 3 | yangyang | | 4 | shikui | +----+-----------+ 4 rows in set (0.00 sec)

6、mgr-node3操作

1、修改my.cnf 配置文件
[root@mgr-node3 ~]# cd /etc/ [root@mgr-node3 etc]# cp my.cnf my.cnf.bak [root@mgr-node3 etc]# > my.cnf [root@mgr-node3 etc]# cat my.cnf [mysqld] datadir = /var/lib/mysql socket = /var/lib/mysql/mysql.socksymbolic-links = 0log-error = /var/log/mysqld.log pid-file = /var/run/mysqld/mysqld.pid#GTID: server_id = 3 gtid_mode = on enforce_gtid_consistency = onmaster_info_repository=TABLE relay_log_info_repository=TABLE binlog_checksum=NONE#binlog log_bin = mysql-bin log-slave-updates = 1 binlog_format = row sync-master-info = 1 sync_binlog = 1#relay log skip_slave_start = 1transaction_write_set_extraction=XXHASH64 loose-group_replication_group_name="5db40c3c-180c-11e9-afbf-005056ac6820" loose-group_replication_start_on_boot=off loose-group_replication_local_address= "192.168.153.151:24901" loose-group_replication_group_seeds= "192.168.153.149:24901,192.168.153.150:24901,192.168.153.151:24901" loose-group_replication_bootstrap_group=off loose-group_replication_single_primary_mode=off loose-group_replication_enforce_update_everywhere_checks=on loose-group_replication_ip_whitelist="192.168.153.0/24,127.0.0.1/8"
2、重啟數(shù)據(jù)庫(kù)
[root@mgr-node3 etc]# systemctl restart mysqld [root@mgr-node3 etc]# systemctl status mysqld ● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Sat 2020-07-18 16:35:02 CST; 7s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 23420 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)Process: 23402 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 23423 (mysqld)CGroup: /system.slice/mysqld.service└─23423 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pidJul 18 16:35:01 mgr-node3 systemd[1]: Starting MySQL Server... Jul 18 16:35:02 mgr-node3 systemd[1]: Started MySQL Server.
3、查看mysql日志
[root@mgr-node3 etc]# grep password /var/log/mysqld.log 2020-07-18T07:10:43.712239Z 1 [Note] A temporary password is generated for root@localhost: 8C>hj(M9oqY9 2020-07-18T07:11:41.418934Z 2 [Warning] Plugin validate_password reported: 'Effective value of validate_password_length is changed. New value is 4' 2020-07-18T08:34:59.882470Z 0 [Note] Shutting down plugin 'validate_password' 2020-07-18T08:35:01.520836Z 0 [Note] Shutting down plugin 'sha256_password' 2020-07-18T08:35:01.520838Z 0 [Note] Shutting down plugin 'mysql_native_password'
4、登錄數(shù)據(jù)庫(kù)操作
[root@mgr-node3 etc]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.31-log MySQL Community Server (GPL)Copyright (c) 2000, 2020, 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> set global validate_password_policy=0; Query OK, 0 rows affected (0.00 sec)mysql> set global validate_password_length=1; Query OK, 0 rows affected (0.00 sec)mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_slave@'%' IDENTIFIED BY '123.com'; Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)mysql> reset master; Query OK, 0 rows affected (0.01 sec)mysql> SET SQL_LOG_BIN=1; Query OK, 0 rows affected (0.00 sec)mysql> CHANGE MASTER TO MASTER_USER='rpl_slave', MASTER_PASSWORD='123.com' FOR CHANNEL 'group_replication_recovery'; Query OK, 0 rows affected, 2 warnings (0.01 sec)mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so'; Query OK, 0 rows affected (0.03 sec)mysql> SHOW PLUGINS; +----------------------------+----------+--------------------+----------------------+---------+ | Name | Status | Type | Library | License | +----------------------------+----------+--------------------+----------------------+---------+ | binlog | ACTIVE | STORAGE ENGINE | NULL | GPL | | mysql_native_password | ACTIVE | AUTHENTICATION | NULL | GPL | | sha256_password | ACTIVE | AUTHENTICATION | NULL | GPL | | CSV | ACTIVE | STORAGE ENGINE | NULL | GPL | . . . | validate_password | ACTIVE | VALIDATE PASSWORD | validate_password.so | GPL | | group_replication | ACTIVE | GROUP REPLICATION | group_replication.so | GPL | +----------------------------+----------+--------------------+----------------------+---------+ 46 rows in set (0.00 sec)這里只需要執(zhí)行這一步即可! mysql> START GROUP_REPLICATION; Query OK, 0 rows affected (3.75 sec)查看組內(nèi)情況,發(fā)現(xiàn)MGR-node3已經(jīng)成功加入這個(gè)組內(nèi)了。 mysql> SELECT * FROM performance_schema.replication_group_members; +---------------------------+--------------------------------------+-------------+-------------+--------------+ | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | +---------------------------+--------------------------------------+-------------+-------------+--------------+ | group_replication_applier | 6ceb6753-c8c1-11ea-bb69-000c2939d519 | mgr-node1 | 3306 | ONLINE | | group_replication_applier | 6de78dac-c8c5-11ea-a1ae-000c299642d5 | mgr-node2 | 3306 | ONLINE | | group_replication_applier | cb32290b-c8c5-11ea-a447-000c296697cf | mgr-node3 | 3306 | ONLINE | +---------------------------+--------------------------------------+-------------+-------------+--------------+ 3 rows in set (0.00 sec)查看下,發(fā)現(xiàn)已經(jīng)將在其他節(jié)點(diǎn)上添加的數(shù)據(jù)同步過(guò)來(lái)了 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | kevin | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec)mysql> select * from kevin.haha; +----+-----------+ | id | name | +----+-----------+ | 1 | wangshibo | | 2 | guohuihui | | 3 | yangyang | | 4 | shikui | +----+-----------+ 4 rows in set (0.00 sec)

7、組復(fù)制數(shù)據(jù)同步測(cè)試

1、在任意一個(gè)節(jié)點(diǎn)上執(zhí)行
mysql> SELECT * FROM performance_schema.replication_group_members; +---------------------------+--------------------------------------+-------------+-------------+--------------+ | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | +---------------------------+--------------------------------------+-------------+-------------+--------------+ | group_replication_applier | 6ceb6753-c8c1-11ea-bb69-000c2939d519 | mgr-node1 | 3306 | ONLINE | | group_replication_applier | 6de78dac-c8c5-11ea-a1ae-000c299642d5 | mgr-node2 | 3306 | ONLINE | | group_replication_applier | cb32290b-c8c5-11ea-a447-000c296697cf | mgr-node3 | 3306 | ONLINE | +---------------------------+--------------------------------------+-------------+-------------+--------------+ 3 rows in set (0.00 sec)mysql> insert into kevin.haha values(11,"beijing"),(12,"shanghai"),(13,"anhui"); Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0mysql> select * from kevin.haha; +----+-----------+ | id | name | +----+-----------+ | 1 | wangshibo | | 2 | guohuihui | | 3 | yangyang | | 4 | shikui | | 11 | beijing | | 12 | shanghai | | 13 | anhui | +----+-----------+ 7 rows in set (0.00 sec)
2、在另一臺(tái)機(jī)器上查看數(shù)據(jù)庫(kù)
mysql> select * from kevin.haha; +----+-----------+ | id | name | +----+-----------+ | 1 | wangshibo | | 2 | guohuihui | | 3 | yangyang | | 4 | shikui | | 11 | beijing | | 12 | shanghai | | 13 | anhui | +----+-----------+ 7 rows in set (0.00 sec)

8、組復(fù)制故障測(cè)試

1、關(guān)閉一臺(tái)機(jī)器的mysql數(shù)據(jù)庫(kù)
[root@mgr-node3 etc]# systemctl stop mysqld [root@mgr-node3 etc]# systemctl status mysqld ● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: inactive (dead) since Sat 2020-07-18 16:53:58 CST; 2s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 23420 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)Process: 23402 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 23423 (code=exited, status=0/SUCCESS)Jul 18 16:35:01 mgr-node3 systemd[1]: Starting MySQL Server... Jul 18 16:35:02 mgr-node3 systemd[1]: Started MySQL Server. Jul 18 16:53:46 mgr-node3 systemd[1]: Stopping MySQL Server... Jul 18 16:53:58 mgr-node3 systemd[1]: Stopped MySQL Server.
2、在另一臺(tái)機(jī)器數(shù)據(jù)庫(kù)里面查看組的狀態(tài)
mysql> SELECT * FROM performance_schema.replication_group_members; +---------------------------+--------------------------------------+-------------+-------------+--------------+ | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | +---------------------------+--------------------------------------+-------------+-------------+--------------+ | group_replication_applier | 6ceb6753-c8c1-11ea-bb69-000c2939d519 | mgr-node1 | 3306 | ONLINE | | group_replication_applier | 6de78dac-c8c5-11ea-a1ae-000c299642d5 | mgr-node2 | 3306 | ONLINE | +---------------------------+--------------------------------------+-------------+-------------+--------------+ 2 rows in set (0.00 sec)

已經(jīng)自動(dòng)把down掉的節(jié)點(diǎn)剔除組

如果把down掉的節(jié)點(diǎn)重啟后 不會(huì)自動(dòng)添加到組里面,需要手動(dòng)添加.其他節(jié)點(diǎn)更新的數(shù)據(jù)也會(huì)及時(shí)同步過(guò)來(lái)!

mysql> START GROUP_REPLICATION; Query OK, 0 rows affected (3.23 sec)mysql> SELECT * FROM performance_schema.replication_group_members; +---------------------------+--------------------------------------+-------------+-------------+--------------+ | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | +---------------------------+--------------------------------------+-------------+-------------+--------------+ | group_replication_applier | 6ceb6753-c8c1-11ea-bb69-000c2939d519 | mgr-node1 | 3306 | ONLINE | | group_replication_applier | 6de78dac-c8c5-11ea-a1ae-000c299642d5 | mgr-node2 | 3306 | ONLINE | | group_replication_applier | cb32290b-c8c5-11ea-a447-000c296697cf | mgr-node3 | 3306 | ONLINE | +---------------------------+--------------------------------------+-------------+-------------+--------------+ 3 rows in set (0.00 sec)

9、三個(gè)節(jié)點(diǎn)都出現(xiàn)故障解決方法

要是三個(gè)節(jié)點(diǎn)都發(fā)生故障的話,在節(jié)點(diǎn)的故障都恢復(fù)后,需要手動(dòng)重新做組復(fù)制,操作流程如下:第一個(gè)節(jié)點(diǎn) mysql> reset master; mysql> SET SQL_LOG_BIN=1; mysql> CHANGE MASTER TO MASTER_USER='rpl_slave', MASTER_PASSWORD='slave@123' FOR CHANNEL 'group_replication_recovery'; mysql> STOP GROUP_REPLICATION; mysql> SET GLOBAL group_replication_bootstrap_group=ON; mysql> START GROUP_REPLICATION; mysql> SET GLOBAL group_replication_bootstrap_group=OFF; mysql> SELECT * FROM performance_schema.replication_group_members;第二個(gè)節(jié)點(diǎn) mysql> reset master; mysql> SET SQL_LOG_BIN=1; mysql> CHANGE MASTER TO MASTER_USER='rpl_slave', MASTER_PASSWORD='slave@123' FOR CHANNEL 'group_replication_recovery'; mysql> START GROUP_REPLICATION; mysql> SELECT * FROM performance_schema.replication_group_members;第三個(gè)節(jié)點(diǎn) mysql> reset master; mysql> SET SQL_LOG_BIN=1; mysql> CHANGE MASTER TO MASTER_USER='rpl_slave', MASTER_PASSWORD='slave@123' FOR CHANNEL 'group_replication_recovery'; mysql> START GROUP_REPLICATION; mysql> SELECT * FROM performance_schema.replication_group_members;

三、ProxySQL+MGR 配置過(guò)程

1、下載mariadb客戶端

[root@proxysql-node ~]# yum install -y mariadb.x86_64 mariadb-libs.x86_64 Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile epel/x86_64/metalink | 6.0 kB 00:00:00* base: mirrors.huaweicloud.com* epel: mirrors.yun-idc.com* extras: mirrors.huaweicloud.com* updates: mirror.bit.edu.cn

2、安裝ProxySQL

1、安裝
上傳包 [root@proxysql-node ~]# ls anaconda-ks.cfg proxysql-1.4.8-1-centos7.x86_64.rpm[root@proxysql-node ~]# yum install -y perl-DBI perl-DBD-MySQL Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile* base: mirrors.huaweicloud.com* epel: mirrors.yun-idc.com* extras: mirrors.huaweicloud.com* updates: mirror.bit.edu.cn Resolving Dependencies --> Running transaction check ---> Package perl-DBD-MySQL.x86_64 0:4.023-6.el7 will be installed ---> Package perl-DBI.x86_64 0:1.627-4.el7 will be installed[root@proxysql-node ~]# rpm -ivh proxysql-1.4.8-1-centos7.x86_64.rpm --force Preparing... ################################# [100%] Updating / installing...1:proxysql-1.4.8-1 ################################# [100%]
2、proxysql配置文件詳解
[root@proxysql-node ~]# egrep -v "^#|^$" /etc/proxysql.cnf datadir="/var/lib/proxysql" #數(shù)據(jù)目錄 admin_variables= {admin_credentials="admin:admin" #連接管理端的用戶名與密碼mysql_ifaces="0.0.0.0:6032" #管理端口,用來(lái)連接proxysql的管理數(shù)據(jù)庫(kù)! } mysql_variables= {threads=4 #指定轉(zhuǎn)發(fā)端口開(kāi)啟的線程數(shù)量max_connections=2048default_query_delay=0default_query_timeout=36000000have_compress=truepoll_timeout=2000interfaces="0.0.0.0:6033" #指定轉(zhuǎn)發(fā)端口,用于連接后端真實(shí)mysql數(shù)據(jù)庫(kù)的,相當(dāng)于代理作用!default_schema="information_schema"stacksize=1048576server_version="5.5.30" #指定后端mysql的版本connect_timeout_server=3000monitor_username="monitor"monitor_password="monitor"monitor_history=600000monitor_connect_interval=60000monitor_ping_interval=10000monitor_read_only_interval=1500monitor_read_only_timeout=500ping_interval_server_msec=120000ping_timeout_server=500commands_stats=truesessions_sort=trueconnect_retries_on_failure=10 } mysql_servers = ( ) mysql_users: ( ) mysql_query_rules: ( ) scheduler= ( ) mysql_replication_hostgroups= ( )
3、啟動(dòng)服務(wù)
[root@proxysql-node ~]# /etc/init.d/proxysql start Starting ProxySQL: DONE! [root@proxysql-node ~]# ss -anput | grep proxy tcp LISTEN 0 128 *:6032 *:* users:(("proxysql",pid=22573,fd=23)) tcp LISTEN 0 128 *:6033 *:* users:(("proxysql",pid=22573,fd=22)) tcp LISTEN 0 128 *:6033 *:* users:(("proxysql",pid=22573,fd=21)) tcp LISTEN 0 128 *:6033 *:* users:(("proxysql",pid=22573,fd=20)) tcp LISTEN 0 128 *:6033 *:* users:(("proxysql",pid=22573,fd=19))
4、初始化Proxysql,將之前的proxysql數(shù)據(jù)都刪除
[root@proxysql-node ~]# mysql -uadmin -padmin -h127.0.0.1 -P6032 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.5.30 (ProxySQL Admin Module)Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MySQL [(none)]>MySQL [(none)]> show tables; +--------------------------------------------+ | tables | +--------------------------------------------+ | global_variables | | mysql_collations | | mysql_group_replication_hostgroups | | mysql_query_rules | | mysql_query_rules_fast_routing | | mysql_replication_hostgroups | | mysql_servers | | mysql_users | | proxysql_servers | | runtime_checksums_values | | runtime_global_variables | | runtime_mysql_group_replication_hostgroups | | runtime_mysql_query_rules | | runtime_mysql_query_rules_fast_routing | | runtime_mysql_replication_hostgroups | | runtime_mysql_servers | | runtime_mysql_users | | runtime_proxysql_servers | | runtime_scheduler | | scheduler | +--------------------------------------------+ 20 rows in set (0.00 sec)MySQL [(none)]> delete from scheduler ; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> delete from mysql_servers; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> delete from mysql_users; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> delete from mysql_query_rules; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> delete from mysql_group_replication_hostgroups ; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> LOAD MYSQL VARIABLES TO RUNTIME; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> SAVE MYSQL VARIABLES TO DISK; Query OK, 94 rows affected (0.00 sec)MySQL [(none)]> LOAD MYSQL SERVERS TO RUNTIME; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> SAVE MYSQL SERVERS TO DISK; Query OK, 0 rows affected (0.10 sec)MySQL [(none)]> LOAD MYSQL USERS TO RUNTIME; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> SAVE MYSQL USERS TO DISK; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> LOAD SCHEDULER TO RUNTIME; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> SAVE SCHEDULER TO DISK; Query OK, 0 rows affected (0.01 sec)MySQL [(none)]> LOAD MYSQL QUERY RULES TO RUNTIME; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> SAVE MYSQL QUERY RULES TO DISK; Query OK, 0 rows affected (0.00 sec)
5、在數(shù)據(jù)庫(kù)端建立proxysql登入需要的賬號(hào)(在MGR任意一臺(tái),另外的會(huì)同步)
[root@mgr-node1 ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 23 Server version: 5.7.31-log MySQL Community Server (GPL)Copyright (c) 2000, 2020, 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> CREATE USER 'proxysql'@'%' IDENTIFIED BY 'proxysql'; Query OK, 0 rows affected (0.16 sec)mysql> GRANT ALL ON * . * TO 'proxysql'@'%'; Query OK, 0 rows affected (0.00 sec)mysql> create user 'qyuser'@'%' IDENTIFIED BY 'qypass'; Query OK, 0 rows affected (0.01 sec)mysql> GRANT ALL ON * . * TO 'qyuser'@'%'; Query OK, 0 rows affected (0.10 sec)mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
6、創(chuàng)建檢查MGR節(jié)點(diǎn)狀態(tài)的函數(shù)和視圖(在三個(gè)MGR任意一個(gè)節(jié)點(diǎn)上操作,會(huì)自動(dòng)同步到其他節(jié)點(diǎn))
[root@mgr-node1 ~]# vim /root/addition_to_sys.sql [root@mgr-node1 ~]# cat /root/addition_to_sys.sql USE sys;DELIMITER $$CREATE FUNCTION IFZERO(a INT, b INT) RETURNS INT DETERMINISTIC RETURN IF(a = 0, b, a)$$CREATE FUNCTION LOCATE2(needle TEXT(10000), haystack TEXT(10000), offset INT) RETURNS INT DETERMINISTIC RETURN IFZERO(LOCATE(needle, haystack, offset), LENGTH(haystack) + 1)$$CREATE FUNCTION GTID_NORMALIZE(g TEXT(10000)) RETURNS TEXT(10000) DETERMINISTIC RETURN GTID_SUBTRACT(g, '')$$CREATE FUNCTION GTID_COUNT(gtid_set TEXT(10000)) RETURNS INT DETERMINISTIC BEGINDECLARE result BIGINT DEFAULT 0;DECLARE colon_pos INT;DECLARE next_dash_pos INT;DECLARE next_colon_pos INT;DECLARE next_comma_pos INT;SET gtid_set = GTID_NORMALIZE(gtid_set);SET colon_pos = LOCATE2(':', gtid_set, 1);WHILE colon_pos != LENGTH(gtid_set) + 1 DOSET next_dash_pos = LOCATE2('-', gtid_set, colon_pos + 1);SET next_colon_pos = LOCATE2(':', gtid_set, colon_pos + 1);SET next_comma_pos = LOCATE2(',', gtid_set, colon_pos + 1);IF next_dash_pos < next_colon_pos AND next_dash_pos < next_comma_pos THENSET result = result +SUBSTR(gtid_set, next_dash_pos + 1,LEAST(next_colon_pos, next_comma_pos) - (next_dash_pos + 1)) -SUBSTR(gtid_set, colon_pos + 1, next_dash_pos - (colon_pos + 1)) + 1;ELSESET result = result + 1;END IF;SET colon_pos = next_colon_pos;END WHILE;RETURN result; END$$CREATE FUNCTION gr_applier_queue_length() RETURNS INT DETERMINISTIC BEGINRETURN (SELECT sys.gtid_count( GTID_SUBTRACT( (SELECT Received_transaction_set FROM performance_schema.replication_connection_status WHERE Channel_name = 'group_replication_applier' ), (SELECT @@global.GTID_EXECUTED) ))); END$$CREATE FUNCTION gr_member_in_primary_partition() RETURNS VARCHAR(3) DETERMINISTIC BEGINRETURN (SELECT IF( MEMBER_STATE='ONLINE' AND ((SELECT COUNT(*) FROM performance_schema.replication_group_members WHERE MEMBER_STATE != 'ONLINE') >= ((SELECT COUNT(*) FROM performance_schema.replication_group_members)/2) = 0), 'YES', 'NO' ) FROM performance_schema.replication_group_members JOIN performance_schema.replication_group_member_stats USING(member_id)); END$$CREATE VIEW gr_member_routing_candidate_status AS SELECT sys.gr_member_in_primary_partition() as viable_candidate, IF( (SELECT (SELECT GROUP_CONCAT(variable_value) FROM performance_schema.global_variables WHERE variable_name IN ('read_only', 'super_read_only')) != 'OFF,OFF'), 'YES', 'NO') as read_only, sys.gr_applier_queue_length() as transactions_behind, Count_Transactions_in_queue as 'transactions_to_cert' from performance_schema.replication_group_member_stats;$$DELIMITER ;
7、導(dǎo)入addition_to_sys.sql文件數(shù)據(jù)
[root@mgr-node1 ~]# mysql -p123.com < /root/addition_to_sys.sql mysql: [Warning] Using a password on the command line interface can be insecure.查看該視圖: [root@mgr-node1 ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 25 Server version: 5.7.31-log MySQL Community Server (GPL)Copyright (c) 2000, 2020, 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> select * from sys.gr_member_routing_candidate_status; +------------------+-----------+---------------------+----------------------+ | viable_candidate | read_only | transactions_behind | transactions_to_cert | +------------------+-----------+---------------------+----------------------+ | YES | NO | 0 | 0 | +------------------+-----------+---------------------+----------------------+ 1 row in set (0.00 sec)
8、 在proxysql中增加帳號(hào)
[root@proxysql-node ~]# mysql -uadmin -padmin -h127.0.0.1 -P6032 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.5.30 (ProxySQL Admin Module)Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MySQL [(none)]> INSERT INTO MySQL_users(username,password,default_hostgroup) VALUES ('proxysql','proxysql',1); Query OK, 1 row affected (0.00 sec)MySQL [(none)]> UPDATE global_variables SET variable_value='proxysql' where variable_name='mysql-monitor_username'; Query OK, 1 row affected (0.00 sec)MySQL [(none)]> UPDATE global_variables SET variable_value='proxysql' where variable_name='mysql-monitor_password'; Query OK, 1 row affected (0.00 sec)MySQL [(none)]> LOAD MYSQL SERVERS TO RUNTIME; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> SAVE MYSQL SERVERS TO DISK; Query OK, 0 rows affected (0.00 sec)
9、登陸測(cè)試

如果上面測(cè)試登錄時(shí)報(bào)錯(cuò):

[root@proxysql-node ~]# mysql -uproxysql -pproxysql -h 127.0.0.1 -P6033 -e"select @@hostname" ERROR 1045 (28000): ProxySQL Error: Access denied for user 'proxysql'@'127.0.0.1' (using password: YES)但是檢查發(fā)現(xiàn),明明用戶名和密碼已經(jīng)修改成proxysql:proxysql了 MySQL [(none)]> select * from global_variables; +-----------------------------------------------------+--------------------+ | variable_name | variable_value | +-----------------------------------------------------+--------------------+ . . . | mysql-monitor_username | proxysql | | mysql-monitor_password | proxysql | | mysql-monitor_history | 600000 | | mysql-monitor_connect_interval | 60000 | . . | mysql-commands_stats | true | | mysql-sessions_sort | true | | mysql-connect_retries_on_failure | 10 | +-----------------------------------------------------+--------------------+執(zhí)行下面操作 將上面對(duì)proxysql所有的變更都加載到環(huán)境中 MySQL [(none)]> LOAD MYSQL VARIABLES TO RUNTIME; Query OK, 0 rows affected (0.01 sec)MySQL [(none)]> SAVE MYSQL VARIABLES TO DISK; Query OK, 94 rows affected (0.01 sec)MySQL [(none)]> LOAD MYSQL SERVERS TO RUNTIME; Query OK, 0 rows affected (0.01 sec)MySQL [(none)]> SAVE MYSQL SERVERS TO DISK; Query OK, 0 rows affected (0.10 sec)MySQL [(none)]> LOAD MYSQL USERS TO RUNTIME; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> SAVE MYSQL USERS TO DISK; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> LOAD SCHEDULER TO RUNTIME; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> SAVE SCHEDULER TO DISK; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> LOAD MYSQL QUERY RULES TO RUNTIME; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> SAVE MYSQL QUERY RULES TO DISK; Query OK, 0 rows affected (0.01 sec)MySQL [(none)]> delete from mysql_servers; Query OK, 0 rows affected (0.00 sec)將后端三個(gè)mysql的MGR節(jié)點(diǎn)加入到proxysql中MySQL [(none)]> insert into mysql_servers (hostgroup_id, hostname, port) values(1,'192.168.153.149',3306); Query OK, 1 row affected (0.00 sec)MySQL [(none)]> insert into mysql_servers (hostgroup_id, hostname, port) values(1,'192.168.153.150',3306); Query OK, 1 row affected (0.00 sec)MySQL [(none)]> insert into mysql_servers (hostgroup_id, hostname, port) values(1,'192.168.153.151',3306); Query OK, 1 row affected (0.00 sec)MySQL [(none)]> insert into mysql_servers (hostgroup_id, hostname, port) values(2,'192.168.153.149',3306); Query OK, 1 row affected (0.01 sec)MySQL [(none)]> insert into mysql_servers (hostgroup_id, hostname, port) values(2,'192.168.153.150',3306); Query OK, 1 row affected (0.00 sec)MySQL [(none)]> insert into mysql_servers (hostgroup_id, hostname, port) values(2,'192.168.153.151',3306); Query OK, 1 row affected (0.01 sec)查看結(jié)果 MySQL [(none)]> select * from mysql_servers ; +--------------+-----------------+------+--------+--------+-------------+-----------------+---------------------+---------+----------------+---------+ | hostgroup_id | hostname | port | status | weight | compression | max_connections | max_replication_lag | use_ssl | max_latency_ms | comment | +--------------+-----------------+------+--------+--------+-------------+-----------------+---------------------+---------+----------------+---------+ | 1 | 192.168.153.149 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | | 1 | 192.168.153.150 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | | 1 | 192.168.153.151 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | | 2 | 192.168.153.149 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | | 2 | 192.168.153.150 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | | 2 | 192.168.153.151 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | +--------------+-----------------+------+--------+--------+-------------+-----------------+---------------------+---------+----------------+---------+ hostgroup_id = 1代表write group,針對(duì)我們提出的限制,這個(gè)地方只配置了一個(gè)節(jié)點(diǎn); hostgroup_id = 2代表read group,包含了MGR的所有節(jié)點(diǎn),目前只是Onlinle的,等配置過(guò)scheduler后,status就會(huì)有變化 。 對(duì)于上面的hostgroup配置,默認(rèn)所有的寫操作會(huì)發(fā)送到hostgroup_id為1的online節(jié)點(diǎn),也就是發(fā)送到寫節(jié)點(diǎn)上。 所有的讀操作,會(huì)發(fā)送為hostgroup_id為2的online節(jié)點(diǎn)。
10、驗(yàn)證proxysql登錄
[root@proxysql-node ~]# mysql -uproxysql -pproxysql -h 127.0.0.1 -P6033 -e"select @@hostname" +------------+ | @@hostname | +------------+ | mgr-node3 | +------------+
11、配置scheduler
上傳腳本 [root@proxysql-node ~]# ls anaconda-ks.cfg proxysql-1.4.8-1-centos7.x86_64.rpm proxysql_groupreplication_checker-master.zip將腳本proxysql_groupreplication_checker.sh解壓放到/var/lib/proxysql/下 [root@proxysql-node ~]# cd /var/lib/proxysql/ [root@proxysql-node proxysql]# ls proxysql.db proxysql.log proxysql.pid proxysql_stats.db [root@proxysql-node proxysql]# mv /root/proxysql_groupreplication_checker-master.zip . [root@proxysql-node proxysql]# ls proxysql.db proxysql_groupreplication_checker-master.zip proxysql.log proxysql.pid proxysql_stats.db [root@proxysql-node proxysql]# unzip proxysql_groupreplication_checker-master.zip Archive: proxysql_groupreplication_checker-master.zip 1f34bf1a67da5a26a0c6e16dfb74349871e6470fcreating: proxysql_groupreplication_checker-master/inflating: proxysql_groupreplication_checker-master/README.mdinflating: proxysql_groupreplication_checker-master/README_Chinese.mdinflating: proxysql_groupreplication_checker-master/gr_mw_mode_sw_cheker.shinflating: proxysql_groupreplication_checker-master/gr_sw_mode_checker.shinflating: proxysql_groupreplication_checker-master/proxysql_groupreplication_checker.sh [root@proxysql-node proxysql]# ls proxysql.db proxysql_groupreplication_checker-master.zip proxysql.pid proxysql_groupreplication_checker-master proxysql.log proxysql_stats.db [root@proxysql-node proxysql_groupreplication_checker-master]# mv * /var/lib/proxysql/ [root@proxysql-node proxysql]# chmod a+x /var/lib/proxysql/proxysql_groupreplication_checker.sh [root@proxysql-node proxysql]# ll /var/lib/proxysql/proxysql_groupreplication_checker.sh -rwxr-xr-x 1 root root 6081 Jan 9 2017 /var/lib/proxysql/proxysql_groupreplication_checker.sh然后,在proxysql的scheduler表里面加載如下記錄,然后加載到RUNTIME使其生效,同時(shí)還可以持久化到磁盤:[root@proxysql-node proxysql]# mysql -uadmin -padmin -h127.0.0.1 -P6032 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.5.30 (ProxySQL Admin Module)Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MySQL [(none)]> INSERT INTO scheduler(id,interval_ms,filename,arg1,arg2,arg3,arg4, arg5) VALUES (1,'10000','/var/lib/proxysql/ proxysql_groupreplication_checker.sh','1','2','1','0','/var/lib/proxysql/proxysql_groupreplication_checker.log'); Query OK, 1 row affected (0.00 sec)查看結(jié)果 MySQL [(none)]> select * from scheduler; +----+--------+-------------+--------------------------------------------------------+------+------+------+------+---------------------------------------------------------+---------+ | id | active | interval_ms | filename | arg1 | arg2 | arg3 | arg4 | arg5 | comment | +----+--------+-------------+--------------------------------------------------------+------+------+------+------+---------------------------------------------------------+---------+ | 1 | 1 | 10000 | /var/lib/proxysql/proxysql_groupreplication_checker.sh | 1 | 2 | 1 | 0 | /var/lib/proxysql/proxysql_groupreplication_checker.log | | +----+--------+-------------+--------------------------------------------------------+------+------+------+------+---------------------------------------------------------+---------+ 1 row in set (0.00 sec)MySQL [(none)]> LOAD SCHEDULER TO RUNTIME; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> SAVE SCHEDULER TO DISK; Query OK, 0 rows affected (0.01 sec)schedule信息加載后,就會(huì)分析當(dāng)前的環(huán)境,mysql_servers中顯示出當(dāng)前只有192.168.153.149是可以寫的192.168.153.150以及192.168.153.151是用來(lái)讀的。 MySQL [(none)]> select * from mysql_servers ; +--------------+-----------------+------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+---------+ | hostgroup_id | hostname | port | status | weight | compression | max_connections | max_replication_lag | use_ssl | max_latency_ms | comment | +--------------+-----------------+------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+---------+ | 1 | 192.168.153.149 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | | 1 | 192.168.153.150 | 3306 | OFFLINE_SOFT | 1 | 0 | 1000 | 0 | 0 | 0 | | | 1 | 192.168.153.151 | 3306 | OFFLINE_SOFT | 1 | 0 | 1000 | 0 | 0 | 0 | | | 2 | 192.168.153.149 | 3306 | OFFLINE_SOFT | 1 | 0 | 1000 | 0 | 0 | 0 | | | 2 | 192.168.153.150 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | | 2 | 192.168.153.151 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | +--------------+-----------------+------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+---------+ 6 rows in set (0.00 sec)各個(gè)節(jié)點(diǎn)的gr_member_routing_candidate_status視圖也顯示了當(dāng)前節(jié)點(diǎn)是否是正常狀態(tài)的, proxysql就是讀取的這個(gè)視圖的信息來(lái)決定此節(jié)點(diǎn)是否可用。 mysql> select * from sys.gr_member_routing_candidate_status\G; *************************** 1. row ***************************viable_candidate: YESread_only: NOtransactions_behind: 0 transactions_to_cert: 0 1 row in set (0.00 sec)ERROR: No query specifiedmysql>
12、設(shè)置讀寫分離
MySQL [(none)]> insert into mysql_query_rules (active, match_pattern, destination_hostgroup, apply) values (1,"^SELECT",2,1); Query OK, 1 row affected (0.00 sec)MySQL [(none)]> LOAD MYSQL QUERY RULES TO RUNTIME; Query OK, 0 rows affected (0.00 sec)MySQL [(none)]> SAVE MYSQL QUERY RULES TO DISK; Query OK, 0 rows affected (0.01 sec)解釋說(shuō)明: match_pattern的規(guī)則是基于正則表達(dá)式的, active表示是否啟用這個(gè)sql路由項(xiàng), match_pattern就是我們正則匹配項(xiàng), destination_hostgroup表示我們要將該類sql轉(zhuǎn)發(fā)到哪些mysql上面去,這里我們將select轉(zhuǎn)發(fā)到group 2,。 apply為1表示該正則匹配后,將不再接受其他匹配,直接轉(zhuǎn)發(fā)。對(duì)于for update需要在gruop1上執(zhí)行,可以加上規(guī)則: MySQL [(none)]> insert into mysql_query_rules(active,match_pattern,destination_hostgroup,apply) values(1,'^SELECT.*FOR UPDATE$',1,1); Query OK, 1 row affected (0.01 sec)在proxysql本機(jī)或其他客戶機(jī)上檢查下,select 語(yǔ)句,一直連接的是192.168.153.150和192.168.153.151 說(shuō)明讀寫分離[root@mgr-node3 ~]# mysql -uproxysql -pproxysql -h192.168.153.152 -P6033 -e "select @@hostname" mysql: [Warning] Using a password on the command line interface can be insecure. +------------+ | @@hostname | +------------+ | mgr-node2 | +------------+ mysql: [Warning] Using a password on the command line interface can be insecure. +------------+ | @@hostname | +------------+ | mgr-node2 | +------------+ [root@mgr-node3 ~]# mysql -uproxysql -pproxysql -h192.168.153.152 -P6033 -e "select @@hostname" mysql: [Warning] Using a password on the command line interface can be insecure. +------------+ | @@hostname | +------------+ | mgr-node3 | +------------+ [root@mgr-node3 ~]# mysql -uproxysql -pproxysql -h192.168.153.152 -P6033 -e "select @@hostname" mysql: [Warning] Using a password on the command line interface can be insecure. +------------+ | @@hostname | +------------+ | mgr-node3 | +------------+ [root@mgr-node3 ~]# mysql -uproxysql -pproxysql -h192.168.153.152 -P6033 -e "select @@hostname" mysql: [Warning] Using a password on the command line interface can be insecure. +------------+ | @@hostname | +------------+ | mgr-node2 | +------------+驗(yàn)證讀寫分離的效果[root@proxysql-node ~]# mysql -uproxysql -pproxysql -h192.168.153.152 -P6033 -e "select @@hostname" +------------+ | @@hostname | +------------+ | mgr-node2 | +------------+ [root@proxysql-node ~]# mysql -uproxysql -pproxysql -h192.168.153.152 -P6033 -e "select * from kevin.haha" +----+-----------+ | id | name | +----+-----------+ | 1 | wangshibo | | 2 | guohuihui | | 3 | yangyang | | 4 | shikui | | 11 | beijing | | 12 | shanghai | | 13 | anhui | +----+-----------+ [root@proxysql-node ~]# mysql -uproxysql -pproxysql -h192.168.153.152 -P6033 -e "delete from kevin.haha where id=1;" [root@proxysql-node ~]# mysql -uproxysql -pproxysql -h192.168.153.152 -P6033 -e "delete from kevin.haha where id=2;" [root@proxysql-node ~]# mysql -uproxysql -pproxysql -h192.168.153.152 -P6033 -e "select * from kevin.haha" +----+----------+ | id | name | +----+----------+ | 3 | yangyang | | 4 | shikui | | 11 | beijing | | 12 | shanghai | | 13 | anhui | +----+----------+[root@proxysql-node ~]# mysql -uproxysql -pproxysql -h192.168.153.152 -P6033 -e 'insert into kevin.haha values(21,"zhongguo"),(22,"xianggang"),(23,"taiwan");' [root@proxysql-node ~]# mysql -uproxysql -pproxysql -h192.168.153.152 -P6033 -e "select * from kevin.haha" +----+-----------+ | id | name | +----+-----------+ | 3 | yangyang | | 4 | shikui | | 11 | beijing | | 12 | shanghai | | 13 | anhui | | 21 | zhongguo | | 22 | xianggang | | 23 | taiwan | +----+-----------+最后在proxysql管理端查看讀寫分離情況[root@proxysql-node ~]# mysql -uadmin -padmin -h 127.0.0.1 -P6032 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 1575 Server version: 5.5.30 (ProxySQL Admin Module)Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MySQL [(none)]> select hostgroup,username,digest_text,count_star from stats_mysql_query_digest; +-----------+----------+------------------------------------------------+------------+ | hostgroup | username | digest_text | count_star | +-----------+----------+------------------------------------------------+------------+ | 1 | proxysql | delete from kevin.haha where id=? | 2 | | 1 | proxysql | insert into kevin.haha values(?,?),(?,?),(?,?) | 1 | | 2 | proxysql | select * from kevin.haha | 3 | | 2 | proxysql | select @@hostname | 5 | | 1 | proxysql | select @@hostname | 1 | | 1 | proxysql | select @@version_comment limit ? | 12 | +-----------+----------+------------------------------------------------+------------+ 6 rows in set (0.00 sec)MySQL [(none)]> select * from mysql_servers; +--------------+-----------------+------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+---------+ | hostgroup_id | hostname | port | status | weight | compression | max_connections | max_replication_lag | use_ssl | max_latency_ms | comment | +--------------+-----------------+------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+---------+ | 1 | 192.168.153.149 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | | 1 | 192.168.153.150 | 3306 | OFFLINE_SOFT | 1 | 0 | 1000 | 0 | 0 | 0 | | | 1 | 192.168.153.151 | 3306 | OFFLINE_SOFT | 1 | 0 | 1000 | 0 | 0 | 0 | | | 2 | 192.168.153.149 | 3306 | OFFLINE_SOFT | 1 | 0 | 1000 | 0 | 0 | 0 | | | 2 | 192.168.153.150 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | | 2 | 192.168.153.151 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | +--------------+-----------------+------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+---------+ 6 rows in set (0.00 sec) 通過(guò)上面可以看到: 寫操作都分配到了group1組內(nèi),即寫操作分配到192.168.153.149節(jié)點(diǎn)上。 讀操作都分配到了group2組內(nèi),即讀操作分配到192.168.153.150、192.168.153.151節(jié)點(diǎn)上。
13、設(shè)置故障應(yīng)用無(wú)感應(yīng)

在上面的讀寫分離規(guī)則中,我設(shè)置了192.168.153.149為可寫節(jié)點(diǎn),192.168.153.150,192.168.153.151為只讀節(jié)點(diǎn)。如果此時(shí)192.168.153.149變成只讀模式的話,應(yīng)用能不能直接連到其它的節(jié)點(diǎn)進(jìn)行寫操作?

1、手動(dòng)將192.168.153.149變成只讀模式:

mysql> set global read_only=1; Query OK, 0 rows affected (0.00 sec)

2、在proxysql節(jié)點(diǎn)上查看,mysql_servers的狀態(tài),自動(dòng)將group1的192.168.153.150改成了online,group2的192.168.153.149,192.168.153.151變成online了,就表示將192.168.153.150變?yōu)榭蓪懝?jié)點(diǎn),其它兩個(gè)節(jié)點(diǎn)變?yōu)橹蛔x節(jié)點(diǎn)了。

MySQL [(none)]> select * from mysql_servers; +--------------+-----------------+------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+---------+ | hostgroup_id | hostname | port | status | weight | compression | max_connections | max_replication_lag | use_ssl | max_latency_ms | comment | +--------------+-----------------+------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+---------+ | 1 | 192.168.153.149 | 3306 | OFFLINE_SOFT | 1 | 0 | 1000 | 0 | 0 | 0 | | | 1 | 192.168.153.150 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | | 1 | 192.168.153.151 | 3306 | OFFLINE_SOFT | 1 | 0 | 1000 | 0 | 0 | 0 | | | 2 | 192.168.153.149 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | | 2 | 192.168.153.150 | 3306 | OFFLINE_SOFT | 1 | 0 | 1000 | 0 | 0 | 0 | | | 2 | 192.168.153.151 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | +--------------+-----------------+------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+---------+ 6 rows in set (0.00 sec)然后再將將192.168.153.149變?yōu)榭蓪懩J胶?#xff0c;mysql_servers也恢復(fù)過(guò)來(lái)了。mysql> set global read_only=0; Query OK, 0 rows affected (0.00 sec)然后在proxysql節(jié)點(diǎn)查看 MySQL [(none)]> select * from mysql_servers; +--------------+-----------------+------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+---------+ | hostgroup_id | hostname | port | status | weight | compression | max_connections | max_replication_lag | use_ssl | max_latency_ms | comment | +--------------+-----------------+------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+---------+ | 1 | 192.168.153.149 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | | 1 | 192.168.153.150 | 3306 | OFFLINE_SOFT | 1 | 0 | 1000 | 0 | 0 | 0 | | | 1 | 192.168.153.151 | 3306 | OFFLINE_SOFT | 1 | 0 | 1000 | 0 | 0 | 0 | | | 2 | 192.168.153.149 | 3306 | OFFLINE_SOFT | 1 | 0 | 1000 | 0 | 0 | 0 | | | 2 | 192.168.153.150 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | | 2 | 192.168.153.151 | 3306 | ONLINE | 1 | 0 | 1000 | 0 | 0 | 0 | | +--------------+-----------------+------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+---------+ 6 rows in set (0.00 sec)經(jīng)過(guò)測(cè)試將192.168.153.149節(jié)點(diǎn)停止組復(fù)制(stop group_replication)或者該節(jié)點(diǎn)宕機(jī)(mysql服務(wù)掛掉)后,mysql_servers表的信息也會(huì)正常的切換新的節(jié)點(diǎn)。 待192.168.153.149恢復(fù)再加入到組復(fù)制后,mysql_servers也會(huì)正常的將192.168.153.149改成online狀態(tài)。

總結(jié)

以上是生活随笔為你收集整理的ProxySQL+MGR实现读写分离和主节点故障无感知切换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

久久久久久久久久国产精品 | 欧美色黄| 国产精品午夜8888 | 国产一区91| 九九久久久久久久久激情 | 国产精品毛片一区视频 | 91网址在线看 | 亚洲理论电影 | 国内精品一区二区 | 久久久久99999 | 亚洲精品成人免费 | 一区二区视频在线观看免费 | 免费av在线 | 欧美高清视频不卡网 | 精品国产午夜 | 国产日产亚洲精华av | 久久午夜免费视频 | 色综合天| 久久精品99久久久久久 | 中文字幕丝袜美腿 | 999国产精品视频 | 韩国一区二区三区视频 | 精品免费国产一区二区三区四区 | 5月丁香婷婷综合 | 五月婷网站 | 中文字幕视频播放 | 日韩精品在线视频免费观看 | 国产精品igao视频网入口 | 91网在线 | 毛片视频网址 | 天堂av免费 | 国产在线视频导航 | 日韩欧美视频在线免费观看 | 亚洲免费av观看 | 99热这里只有精品8 久久综合毛片 | 中文字幕在线人 | 久精品视频在线观看 | 天天玩天天干天天操 | 最近高清中文在线字幕在线观看 | 国产成人精品在线观看 | 国产视频一区在线免费观看 | 一本大道久久精品懂色aⅴ 五月婷社区 | 一级黄色片在线观看 | 久久综合狠狠综合 | 国产99久久久国产精品成人免费 | av先锋影音少妇 | 亚洲在线网址 | 久久99国产综合精品免费 | 很黄很污的视频网站 | 国产高清av免费在线观看 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 久久理论影院 | 91桃色免费观看 | 久久久久久久久福利 | av短片在线| 日韩欧美专区 | 精品99在线观看 | 国产 中文 日韩 欧美 | 97国产在线| 中文字幕999 | 国产一二区在线观看 | 96久久久 | 99久久久久免费精品国产 | 五月婷婷六月丁香 | 国内精品视频一区二区三区八戒 | 国产成a人亚洲精v品在线观看 | 丰满少妇高潮在线观看 | 成人在线观看资源 | 97成人在线视频 | 精品国产一区二区三区在线观看 | 国产精品日韩在线播放 | 久久女同性恋中文字幕 | 伊人狠狠色 | 在线观看国产高清视频 | 激情在线五月天 | 911久久香蕉国产线看观看 | 九九视频免费观看视频精品 | 日本中文字幕观看 | 亚洲一区免费在线 | 国产精品乱码一区二区视频 | 天天操夜夜操 | 国产成人不卡 | 激情亚洲综合在线 | 天堂av在线网 | 久草在线电影网 | 欧美日韩不卡在线视频 | av电影久久 | 国产第一二区 | 成人综合婷婷国产精品久久免费 | 国产精品免费久久久久久 | 国产精品久久久久久久久久新婚 | 一区二区电影在线观看 | 一区二区在线电影 | 精品国产一区二区三区av性色 | 激情小说 五月 | 天天色天天艹 | 色狠狠狠 | 99热国产在线观看 | 97超碰资源网 | 日韩欧美在线高清 | 久久精品xxx | 欧美久久电影 | 黄色aaaaa| 国产成人精品免费在线观看 | 亚洲免费观看视频 | 欧美日韩二区在线 | 四虎影视精品 | 久久久99精品免费观看乱色 | 国产视频精选 | 久艹视频在线观看 | 2021国产在线| 久色婷婷 | 日韩美视频 | 日韩中文字幕免费看 | 天堂av观看| 日韩av在线看 | 久久精品看片 | 月下香电影 | 久久九九久久 | 国产精品亚洲片在线播放 | 久久国产美女 | 91手机视频 | 天堂va在线观看 | 成人久久久久久久久久 | 成年人天堂com | 狠狠干天天射 | 日韩视频免费观看高清 | 最新日韩电影 | 免费看成人a | 成年人国产在线观看 | 免费在线色视频 | 亚洲成人午夜av | 成年人在线看视频 | 日韩av中文在线观看 | 激情网第四色 | 欧美美女激情18p | 婷婷激情五月综合 | 一区二区三区免费网站 | 国产精品美女久久久久久久久久久 | 中文字幕在线影视资源 | 国产黄色精品 | 中文字幕色在线 | 96久久久 | 国产在线播放观看 | 久久久在线| 亚洲成av人影院 | 国产中文视频 | 夜夜躁天天躁很躁波 | av黄色成人 | 最近2019好看的中文字幕免费 | 精品黄色在线 | 日韩网站一区二区 | 免费在线观看不卡av | 97超碰超碰久久福利超碰 | 国产一区电影在线观看 | 最新国产福利 | 永久免费的啪啪网站免费观看浪潮 | 黄色网在线播放 | 在线观看日韩国产 | 亚洲免费av在线 | 久久国产精品99久久久久久老狼 | 国产91精品一区二区 | 久久不卡免费视频 | 日本在线中文在线 | 96久久久 | 久久精品这里都是精品 | 日本精品久久久久中文字幕5 | 不卡的av在线 | 欧美a在线看 | 国产成人福利片 | 五月婷婷久久综合 | 国产一区二区在线免费播放 | 91大神免费视频 | 国产精品久久久久久久久久久免费 | 91av资源网 | 9在线观看免费高清完整版在线观看明 | 四月婷婷在线观看 | 韩国av免费观看 | 91网免费观看 | 国产成人精品福利 | 夜夜夜夜夜夜操 | 99精品国产99久久久久久97 | 国产精品成人免费一区久久羞羞 | 欧美日韩高清一区 | 超碰人人在线 | 嫩小bbbb摸bbb摸bbb| 91资源在线观看 | 不卡的av | 波多野结衣在线视频一区 | 国产精品一区二区av日韩在线 | 日韩免费一区二区 | 夜夜天天干 | 久草a在线| 三级av在线播放 | 丝袜美腿在线播放 | 亚洲一区二区精品3399 | 色视频在线免费观看 | 色视频在线观看 | 亚洲春色综合另类校园电影 | 91人人爽人人爽人人精88v | 欧美久草网 | 丁香婷婷激情 | 福利视频一区二区 | 狠狠插狠狠操 | 日韩免费一级a毛片在线播放一级 | 97av色| 日韩在线精品 | 国产在线999 | 五月天中文字幕mv在线 | 久久婷婷综合激情 | 日韩剧| 一级黄色大片在线观看 | 国产精品免费观看国产网曝瓜 | 激情小说 五月 | 久久久精品网站 | 国产色久 | .国产精品成人自产拍在线观看6 | 久久久91精品国产一区二区精品 | 亚洲精品国产精品久久99 | av福利网址导航 | 日韩中文字幕视频在线观看 | 亚洲精品乱码久久久久久蜜桃91 | 亚洲福利精品 | 日韩久久精品一区二区三区 | 98涩涩国产露脸精品国产网 | 手机看片午夜 | 国产理论免费 | 精品国产自在精品国产精野外直播 | 麻豆视频免费入口 | 99中文视频在线 | 国产亚洲精品美女 | 在线播放一区 | 久久人人爽人人爽人人片 | 国产亚洲婷婷免费 | 国产精品麻豆视频 | 成人免费视频在线观看 | 亚洲深夜影院 | 99欧美视频 | 麻豆传媒视频在线免费观看 | 最近最新mv字幕免费观看 | 国产极品尤物在线 | 久久99影院 | 亚洲精品啊啊啊 | 国产精品门事件 | 韩日av一区二区 | 高清av影院 | 久草在线免费电影 | 91免费网| 一级黄色片网站 | 免费观看91| 亚洲精品免费在线观看 | 色999五月色 | 91av手机在线观看 | 91在线观 | 日韩av黄 | 视频1区2区| 国产精品久久久久久久午夜 | 欧美性色综合网站 | 99视频国产精品免费观看 | 国产 日韩 在线 亚洲 字幕 中文 | 免费久久久久久久 | 亚洲天堂网在线视频观看 | 亚洲综合在线发布 | 91成人区| 88av色| 国产在线观看你懂得 | 久久精品国产免费看久久精品 | 午夜影视剧场 | 五月天久久久久久 | 久久久国产精品成人免费 | 久久夜色精品国产欧美一区麻豆 | 欧美9999 | 天天天色综合 | 成人毛片一区 | 国产精品99蜜臀久久不卡二区 | 国产视频一区二区在线 | 国产精品免费成人 | 麻豆国产精品视频 | 久久超碰免费 | 成年人黄色在线观看 | 91av精品| 在线观看视频在线 | 中文字幕在线免费看线人 | 久久y| 欧美日本三级 | 久久久国产精品一区二区中文 | 亚洲精品天天 | 九九九毛片 | 亚洲高清在线视频 | 最近中文字幕久久 | 天天爽人人爽夜夜爽 | 99久久国产免费免费 | 亚洲国产电影在线观看 | 国产免费黄色 | 国产一区免费在线观看 | 99视频精品| 麻豆视频免费在线观看 | 日韩精品大片 | 男女啪啪视屏 | 久久久久久不卡 | 日本bbbb摸bbbb| 免费的黄色的网站 | 国产午夜精品免费一区二区三区视频 | av九九| 色婷婷在线观看视频 | 中文字幕在线资源 | v片在线播放 | 中文字幕一区二区三 | 四虎成人精品在永久免费 | 91成人精品一区在线播放69 | 综合网中文字幕 | 一区二区三区中文字幕在线观看 | 国内精品久久久久久久久久清纯 | 香蕉网站在线观看 | 国产丝袜高跟 | 国产永久免费观看 | 国产黄在线免费观看 | 久久av一区二区三区亚洲 | 久久亚洲在线 | 手机看片99| 在线观看亚洲成人 | 亚洲精品视频在线观看网站 | 少妇av片 | 精品久久国产 | 91久久爱热色涩涩 | 正在播放 久久 | 丁香5月婷婷久久 | 久久精品96 | 久草在线观 | 中文字幕在线观看你懂的 | jizzjizzjizz亚洲| 国产精品乱码一区二区视频 | 日狠狠 | 婷婷午夜激情 | 成人av视屏 | 久久久999免费视频 日韩网站在线 | 久久国产精品二国产精品中国洋人 | 成人精品视频久久久久 | 99久热在线精品视频观看 | av在线播放不卡 | 国产91亚洲 | 国产精品免费大片视频 | 免费视频久久久 | 欧美黑人性爽 | www.伊人网 | 91精品久久香蕉国产线看观看 | 免费在线观看av | 成人av在线网 | 麻豆视频在线免费看 | 在线免费观看视频一区二区三区 | 国产精品第一页在线 | www五月天 | 日日干综合 | 国产一区二区三精品久久久无广告 | 免费99| 色婷婷综合久久久久 | 91av电影网| 欧美激情亚洲综合 | www.五月天婷婷.com | 成人精品国产 | 欧美一级免费片 | 国产精品永久久久久久久久久 | 国产免费不卡av | 狠狠干天天操 | 伊人五月天综合 | 日韩首页 | 亚洲高清激情 | 性色av香蕉一区二区 | 日韩91在线 | 天天操天天添天天吹 | 亚洲久草在线 | 色婷婷骚婷婷 | 天天曰夜夜操 | 99激情网| 亚洲精品国产自产拍在线观看 | 久久精品国产免费观看 | 97在线观看免费观看 | 福利一区在线视频 | 一本一道波多野毛片中文在线 | 伊人国产在线观看 | 国产精品一区二区久久精品爱微奶 | 欧美a视频在线观看 | 日韩在线不卡视频 | 四虎永久免费在线观看 | 久久一视频 | 欧美一级片免费观看 | 国产伦精品一区二区三区免费 | 精品超碰 | 日韩欧美在线综合网 | 久久综合电影 | 色网站中文字幕 | 中文字幕亚洲欧美日韩 | 97福利| 色偷偷人人澡久久超碰69 | 黄色小说在线免费观看 | 99久久久国产精品 | 超碰公开在线观看 | 国产乱老熟视频网88av | 国产成人久久精品 | 日韩区欠美精品av视频 | 亚洲欧美综合精品久久成人 | 色婷婷综合视频在线观看 | 2023天天干 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 911国产| 欧美成人在线网站 | 亚洲国产精品va在线看黑人动漫 | 天天视频色 | 日韩系列 | 日韩综合一区二区 | 国产精品18久久久 | 激情小说网站亚洲综合网 | 天天爱天天干天天爽 | 一级免费黄视频 | 亚洲精品网站 | 中文字幕视频观看 | 亚洲综合成人婷婷小说 | 正在播放久久 | 黄在线免费看 | 黄色成人在线 | 曰本三级在线 | 手机av在线不卡 | 欧美性网站 | 91在线观看视频 | 精品国产一二三四区 | 国产艹b视频 | 日本 在线 视频 中文 有码 | 亚洲综合成人在线 | 日韩二区在线播放 | 在线观看精品一区 | 免费观看9x视频网站在线观看 | 国产免费观看高清完整版 | 日韩在线大片 | 91在线porny国产在线看 | 激情开心色 | av福利电影 | 69国产成人综合久久精品欧美 | 99精品免费网 | 亚洲美女精品视频 | 久久国色夜色精品国产 | 天天干夜夜夜 | 亚洲国产网址 | 日日夜夜91| 日韩黄色av网站 | 欧美一区二视频在线免费观看 | 精品久久久久久综合日本 | 97色国产| 麻豆视频免费在线 | 美女视频黄是免费的 | av免费观看网址 | 99精品国产aⅴ| 亚洲综合色网站 | 免费亚洲精品 | 日韩欧美电影在线 | 亚洲成av人片在线观看无 | 国产一区二区不卡视频 | 日韩电影一区二区在线观看 | 国内偷拍精品视频 | 亚州国产视频 | 欧美成人h版在线观看 | 久草在线免费在线观看 | 免费精品视频 | 亚洲97在线 | 免费在线观看黄网站 | 九九免费在线观看 | 麻豆av一区二区三区在线观看 | 色五月激情五月 | 亚洲九九| 国产日韩精品一区二区 | 日韩午夜电影网 | 婷婷色中文字幕 | 精品国产电影一区 | 亚洲三级毛片 | 国产手机视频在线播放 | 在线观看中文字幕一区二区 | 五月天久久婷 | 狠狠色噜噜狠狠狠狠2021天天 | 日韩有码在线观看视频 | 久久三级视频 | 中文字幕五区 | 激情综合网五月 | 狠狠操操操 | 亚洲精品456在线播放 | 午夜免费电影院 | 国产91探花 | 97网在线观看 | 99精品黄色| 99热手机在线 | a在线观看国产 | 欧美日韩伦理在线 | 国产视频18| 国产精品久久久久亚洲影视 | 国产日韩精品一区二区三区在线 | 黄色国产在线观看 | 亚洲一片黄 | 曰韩精品| 一区二区三区 中文字幕 | 丁香视频全集免费观看 | 久久激情视频 久久 | 天天操天天操天天操 | 91久久一区二区 | 国产色网站 | 99国产视频在线 | 久久人人爽爽人人爽人人片av | 91精品国产一区二区在线观看 | 国产日韩在线视频 | 又色又爽又黄高潮的免费视频 | 日本在线视频网址 | 伊人看片 | 婷婷六月在线 | 欧美国产视频在线 | 91精品老司机久久一区啪 | 午夜少妇一区二区三区 | 亚洲乱亚洲乱亚洲 | 97久久久免费福利网址 | 色伊人网 | 亚洲黄色免费观看 | 久久久午夜精品理论片中文字幕 | 欧美一级视频一区 | 日日噜噜噜噜夜夜爽亚洲精品 | 五月婷婷六月丁香激情 | 91传媒视频在线观看 | 久草久热 | 久久精品久久99 | 免费又黄又爽 | 日韩黄色中文字幕 | 国产精品18久久久久久久 | 精品免费视频123区 午夜久久成人 | 欧美亚洲免费在线一区 | 日韩免费观看高清 | 欧美日韩久久久 | 久久在视频 | 亚洲午夜小视频 | 韩国在线视频一区 | 黄色在线观看免费网站 | 日韩欧美视频在线播放 | 国产精品网址在线观看 | 日韩 精品 一区 国产 麻豆 | 91中文在线观看 | 女人高潮一级片 | 三级在线视频观看 | 免费观看午夜视频 | 九九电影在线 | 日批在线看 | 日日夜夜精品免费观看 | 一区二区精品在线 | 久久久免费视频播放 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | av中文字幕网站 | 久久狠狠干 | 婷婷六月天天 | 国产精品久久久久久久免费大片 | 一区二区三区在线观看免费 | 亚洲女人天堂成人av在线 | 99视频精品全部免费 在线 | 超碰伊人网 | 亚洲婷婷免费 | 又黄又爽又湿又无遮挡的在线视频 | 在线观看亚洲精品视频 | www.xxxx欧美 | 亚洲精品tv久久久久久久久久 | 开心色激情网 | 日韩在线字幕 | 国产午夜免费视频 | 91视频电影 | 国产精品com | 天天射天天舔天天干 | a天堂最新版中文在线地址 久久99久久精品国产 | 国产成人福利片 | 少妇18xxxx性xxxx片 | 人人干网| 国产精品福利一区 | 成人h视频 | 精品一区二三区 | 久久久久国产精品www | 精品久久久久久综合 | 国产亚洲精品电影 | 97成人精品区在线播放 | 99re热精品视频 | 国产在线观看99 | 精品一区二区综合 | 91成人天堂久久成人 | av888av.com| 久久乱码卡一卡2卡三卡四 五月婷婷久 | 黄色com | 国产亚洲婷婷免费 | 一级片免费观看 | 色网站在线免费观看 | 91 | 中文字幕成人在线观看 | 国产精品91一区 | 四虎影视www| 精品一二三四五区 | 久久久久欧美精品999 | 欧美激情第28页 | 香蕉视频在线观看免费 | 亚洲一区av | 亚洲婷婷综合色高清在线 | 狠狠色丁香婷婷综合 | 国产一区二区影院 | 国产高清视频网 | 日韩电影一区二区三区在线观看 | 午夜aaaa| 免费在线中文字幕 | 国产精品毛片久久久久久久 | 99精品久久久久 | 国产精品麻豆果冻传媒在线播放 | 亚洲精品乱码久久久久v最新版 | 狠色在线| 欧美一级视频免费 | 国产精品久久久久久久久久久杏吧 | www.久热| 激情欧美一区二区三区免费看 | 国产老太婆免费交性大片 | 91在线看黄| 婷婷丁香导航 | 91精品爽啪蜜夜国产在线播放 | 中文字幕欧美日韩va免费视频 | 麻豆国产在线播放 | 免费看v片网站 | 国产中文字幕视频在线 | 久久久久久久久久国产精品 | 在线导航福利 | 精品二区视频 | 久久久伦理 | 亚洲禁18久人片 | 精品福利在线视频 | 中文字幕在线免费看 | 精品免费久久久久久 | 国产精品综合久久 | 五月婷婷久 | 午夜av日韩| 日韩在线观看a | 波多野结衣综合网 | 国产精品1区2区 | 日韩三级在线 | 国产精品久久久久久麻豆一区 | 欧美国产一区在线 | 亚洲成人麻豆 | 日韩免费在线视频观看 | 色之综合网 | 国产精品高潮呻吟久久av无 | 亚洲国产精品va在线看黑人动漫 | 人人爽人人爱 | 欧美精品中文字幕亚洲专区 | 欧美另类巨大 | 久久综合中文字幕 | 亚洲精品视频在线观看免费视频 | 国产麻豆电影在线观看 | av青草| 超薄丝袜一二三区 | av在线电影网站 | 亚洲欧洲一区二区在线观看 | 国产麻豆视频在线观看 | 久久精品视频国产 | 欧美性色网站 | 亚洲一区精品二人人爽久久 | 午夜色影院 | 麻豆视频网址 | 免费看污网站 | 国产精品18久久久久久久久 | 国产成人福利在线 | 少妇性aaaaaaaaa视频 | 婷婷四房综合激情五月 | 毛片无卡免费无播放器 | 日本精品久久久久影院 | 久久99精品久久久久久 | 国产成人在线精品 | 日韩高清dvd | 伊人久久精品久久亚洲一区 | 日韩三级视频在线看 | 国产精品国产三级国产aⅴ无密码 | 久久色网站 | 国产亚洲精品久久久久动 | 国产成人精品一区二区三区福利 | 中文字幕av在线不卡 | 欧美色久 | www.91av在线| 欧美久久久久久久久久久 | 久久97久久 | 国产精品久久一区二区三区, | 制服丝袜在线91 | 91亚洲精品久久久蜜桃借种 | 免费在线国产精品 | 亚洲精品字幕在线 | 亚洲精品视频大全 | 国产精品免费看久久久8精臀av | 日韩美视频 | 波多野结衣在线播放一区 | 亚洲黄色免费电影 | 婷婷久久久久 | 日韩在线观看不卡 | 免费黄色a级毛片 | 男女啪啪免费网站 | 黄色a在线| av线上看 | 日韩欧美精品在线观看视频 | 免费成人在线观看视频 | 欧美做受69 | 中文字幕影片免费在线观看 | 91九色porn在线资源 | 久久夜色精品国产欧美乱极品 | 国产精品久久网站 | 国产精品免费视频一区二区 | 色婷婷亚洲精品 | 免费在线播放视频 | 四虎国产精品永久在线国在线 | av一区二区三区在线观看 | 日韩视频中文字幕 | 欧美激情视频三区 | 97免费公开视频 | 黄色一级片视频 | 天天干天天做 | 色视频在线看 | 999在线视频 | 日本高清xxxx | 91漂亮少妇露脸在线播放 | 最新色视频 | 国产成本人视频在线观看 | www天天操 | 久久久久久久久亚洲精品 | av丝袜制服 | 成人在线免费观看视视频 | 国产中文字幕视频在线 | 狠狠操天天射 | 欧美日韩一区二区在线观看 | 天天爽天天搞 | 久草网视频 | 久久久久久久久久久久亚洲 | 亚洲天天草| 不卡视频在线看 | 美女网站黄在线观看 | 天天综合天天做 | 手机av电影在线 | 尤物九九久久国产精品的分类 | 精品久久美女 | 日韩大片在线免费观看 | 精品国产一区二区三区在线 | 天堂av免费| 91视频中文字幕 | 日韩在线观看视频中文字幕 | 一区二区成人国产精品 | 色综合www| 激情五月婷婷 | 欧美淫aaa免费观看 日韩激情免费视频 | 狠狠干天天操 | 久久久精品欧美 | 91精品成人久久 | 免费看片成人 | 欧美日韩中文字幕在线视频 | 国产99久久久国产精品 | 国产三级久久久 | 在线观看视频你懂 | 天堂av观看 | 国产玖玖在线 | www.五月婷婷| 亚洲精品伦理在线 | 91视频免费播放 | 五月婷婷丁香色 | 国产精品精品 | 亚洲欧美精品在线 | 国产精品美女免费 | 免费看成人av | 中文字幕一区二区三区在线观看 | 天天躁日日躁狠狠躁av麻豆 | 国产精品18毛片一区二区 | 香蕉蜜桃视频 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 伊人影院得得 | 国产精品成人免费精品自在线观看 | 日本乱视频 | 欧美激情第一页xxx 午夜性福利 | 中文字幕在线观看三区 | 亚洲日本在线视频观看 | 日韩av在线高清 | 爱爱av在线 | 特级免费毛片 | 久草精品国产 | 国产99久久久国产精品成人免费 | 亚洲精品av在线 | 国产高清区 | 日韩精品免费专区 | 欧美91精品| 91在线看黄 | 中文字幕日韩电影 | 夜夜夜草 | 91自拍91 | 91最新在线视频 | 亚洲成aⅴ人片久久青草影院 | 91av综合| 日韩大片在线免费观看 | 91久久精品日日躁夜夜躁国产 | 国产一区欧美在线 | 福利视频一二区 | 中文字幕二区三区 | 中文字幕一区二区三区四区久久 | 午夜av色 | 欧美三级在线播放 | 西西人体4444www高清视频 | 日韩av电影免费观看 | 欧美大片mv免费 | 免费观看一级视频 | 999视频网站 | 91精品一区二区在线观看 | 91av综合 | 丁香综合五月 | 国产色综合 | 亚洲午夜小视频 | 一区二区三区污 | 国产精品精品国产色婷婷 | 天天操天天舔天天爽 | 国产在线97 | 麻豆91网站 | 国产成人性色生活片 | 一区二区久久 | 国产一级片网站 | 啪啪小视频网站 | 91在线入口 | 91网址在线看| 丁香六月在线 | 婷婷在线免费 | 毛片永久免费 | 91久久人澡人人添人人爽欧美 | 69av久久| 亚洲欧美日本一区二区三区 | 伊人婷婷激情 | 欧美亚洲另类在线视频 | 欧美日韩高清一区二区 | 国产精品99视频 | 色视频在线免费 | 中文字幕免费高清在线观看 | 2020天天干天天操 | wwxxxx日本| 亚洲成人午夜av | 97av视频| 69视频在线播放 | 国产精品永久在线观看 | 日韩视频一 | 天天天天色综合 | 国产精品美女久久久久久 | 中文字幕二区 | 欧美先锋影音 | 黄色成人在线观看 | 国产1区2区 | 97av在线| 四虎永久精品在线 | 国内少妇自拍视频一区 | 女人18毛片a级毛片一区二区 | 国内外激情视频 | 久久99国产精品免费网站 | 久久国产亚洲 | 91av蜜桃 | 91av福利视频 | 免费观看完整版无人区 | 国产麻豆剧果冻传媒视频播放量 | 97免费视频在线 | www久久 | 天堂久色| 一级黄色片在线播放 | 九色自拍视频 | 亚洲人成免费 | 911久久香蕉国产线看观看 | 一区二区三区免费在线 | 久久久久免费 | 天天草天天操 | 91在线看免费 | 操操操人人人 | 一区二区欧美日韩 | 国产亚洲精品久久久久久久久久久久 | 久久亚洲欧美日韩精品专区 | 免费在线播放黄色 | 精品国产诱惑 | 成人免费观看电影 | 免费成人在线观看 | 绯色av一区 | 亚洲视频六区 | 久久久久一区二区三区 | 日日弄天天弄美女bbbb | 一区中文字幕 | 精品黄色视| 日韩精品播放 | 亚洲午夜精品一区二区三区电影院 | 日韩精品久久久久久久电影99爱 | 国产无遮挡又黄又爽在线观看 | 日本久久成人 | 国产资源网站 | 成人亚洲精品国产www | 亚洲自拍av在线 | 国产原创av在线 | 日日夜夜草 | 99精品视频在线 | 91久久人澡人人添人人爽欧美 | 日韩欧美网址 | 91久久丝袜国产露脸动漫 | 久久人人爽人人爽 | 玖玖在线播放 | 免费观看高清 | 亚洲1区在线 | av永久网址| 日韩大片免费在线观看 | 久久久精品99 | 国产一区二区综合 | 国产免费亚洲高清 | 亚洲成a人片77777潘金莲 | 亚在线播放中文视频 | 亚洲综合激情小说 | 精品国产电影一区二区 | 国产成人精品久久久 | 国产亚洲精品久久久久久电影 | 久久夜色精品国产欧美乱 | 日韩三级视频在线观看 | 高清av在线免费观看 | 久久天 | 最近日本韩国中文字幕 | 欧美日韩国内在线 | 色婷婷啪啪免费在线电影观看 | 婷婷在线色 | 丁香久久激情 | 国产精品私人影院 | 天天操天天爽天天干 | 日韩资源在线播放 | 亚洲国产播放 | 精品一区二区综合 | www久久久| 国产一二三在线视频 | 精品无人国产偷自产在线 | 射射射综合网 | 伊人永久 | 国产电影黄色av | 国产91小视频 | 天堂av免费| 免费网站在线观看人 | 一级黄色大片在线观看 | 黄色三级免费网址 | 公与妇乱理三级xxx 在线观看视频在线观看 | 国产玖玖视频 | 免费看的黄色片 | 久久久av电影 | 欧美性直播 | 日韩欧美一区二区三区免费观看 | 久久精品国产亚洲 | 99精品在线免费 | 九九在线免费视频 | 久久久99精品免费观看乱色 | 亚洲视频1区2区 | 国产色拍拍拍拍在线精品 | 96av在线视频 | 国产99久久久久久免费看 | 天天操天天添 | 亚洲黄色av网址 | 国产97免费 | 在线 成人 | 日日夜夜人人精品 | 亚洲免费在线 | a视频在线观看免费 | 午夜性色 | 免费一级黄色 | 色.www | 综合激情av | 中文字幕在线字幕中文 | 91精品国产高清自在线观看 | 一区二区三区国产精品 | 久久色在线播放 | 欧美a在线看 | 国产免码va在线观看免费 | 亚洲国产精品第一区二区 | 99精品视频免费在线观看 | 婷婷六月在线 | 国产综合91 | 黄色日本免费 | 丁香 久久 综合 | 亚洲综合狠狠干 | 精品久久久久久综合 | 成人欧美日韩国产 | 最新av在线免费观看 | 亚洲三级毛片 | 婷婷丁香激情网 | 久久精品视频网 | 一级淫片a | 久久免费激情视频 | 在线久草视频 | 免费视频一区二区 | 亚洲黄色一级视频 | 1000部国产精品成人观看 | 91香蕉视频在线下载 | 天天操福利视频 | 日韩精品亚洲专区在线观看 | 99国产成+人+综合+亚洲 欧美 | 欧美一级小视频 | 国产理伦在线 | 日本高清中文字幕有码在线 | 日本久久成人中文字幕电影 | 色综合中文字幕 | 国产日产欧美在线观看 | 日韩欧美高清视频在线观看 | 国产日本高清 | 久久9999久久免费精品国产 | 欧美日韩国产在线一区 |