MySQL5.7MHA+MaxScale2.0构建高可用环境
来源:互联网 发布:xp ubuntu双系统引导 编辑:程序博客网 时间:2024/04/27 15:34
MySQL读写分离与负载均衡--MHA与MaxScale
环境介绍
Part1:写在最前
看了某大牛的文章,讲述了一下MaxScale比LVS的好处多多,那您倒是放出来配置文件啊~~大牛说:
需要的单独找我吧,太长了配置文件……
看到这我心中久久不能平静啊。。。联系不上您呐 = =,于是各种资料各种找啊~各种坑各种血崩啊!~~~
由于不知道大牛的配置文件是什么样子,本文仅以随笔的形式,记录下实施过程。也欢迎您和我探讨您在实施MaxScale时遇到的各种问题和心得体会。
Part2:环境
MHA +
HE1 slave1
HE2 slave2
HE3 master
HE4 MHA-manager
MHA-vip
Part3:MHA
MHA的优点不作赘述,看下原理图吧
从宕机崩溃的Master保存二进制日志事件(binlogevent)
识别含有最新更新的Slave
应用差异的中继日志(relaylog)到其他Slave
应用从Master保存的二进制日志事件
提升一个Slave为新的Master
使其他的Slave连接新的Master进行复制
构建
Part1:写在最前
MHA的部署不是本文的叙述重点,网上比比皆是。这里只记录下的MHA搭建时的一些坑
Part2:坑
①mha4mysql-manager-
②mha4mysql-node-
Warning:警告这两个包首先你要搞到,虽然说什么的不代表支持的mysql版本,但经过测试,想要在上部署MHA,少走坑,请用的。
Part3:安装包的位置
请在所有的节点包括Manager节点安装好你的mha4mysql-node-,以保证后期在管理节点执行perl 的时候,你能如愿以偿的看到如下信息
[root@HE4 mha4mysql-manager-]# perl *** Module::AutoInstall version *** Checking for Perl dependencies...[Core Features]- DBI . ()- DBD::mysql . ()- Time::HiRes . ()- Config::Tiny . ()- Log::Dispatch . ()- Parallel::ForkManager . ()- MHA::NodeConst . ()*** Module::AutoInstall configuration finished.Writing Makefile for mha4mysql::manager
Part4:一些常见错误记录
如果遇到
①这样
[root@HE2 bin]# masterha_check_repl --conf=/etc/mha/ Tue Apr 5 22:09:32 2016 - [warning] Global configuration file /etc/masterha_ not found. Skipping.Tue Apr 5 22:09:32 2016 - [info] Reading application default configuration from /etc/mha/..Tue Apr 5 22:09:32 2016 - [info] Reading server configuration from /etc/mha/..Tue Apr 5 22:09:32 2016 - [info] MHA::MasterMonitor version .Tue Apr 5 22:09:32 2016 - [error][/usr/local/lib64/perl5/MHA/, ln188] There is no alive server. We can't do failoverTue Apr 5 22:09:32 2016 - [error][/usr/local/lib64/perl5/MHA/, ln424] Error happened on checking configurations. at /usr/local/lib64/perl5/MHA/ line 326Tue Apr 5 22:09:32 2016 - [error][/usr/local/lib64/perl5/MHA/, ln523] Error happened on monitoring servers.Tue Apr 5 22:09:32 2016 - [info] Got exit code 1 (Not master dead).
解决方案
用的不是默认端口3306,请修改你的配置文件
②这样
[root@HE4 ~]#masterha_check_repl --conf=/etc/mha/Tue Apr 5 22:36:33 2016 - [warning] Globalconfiguration file /etc/masterha_ not found. Skipping.Tue Apr 5 22:36:33 2016 - [info] Reading applicationdefault configuration from /etc/mha/..Tue Apr 5 22:36:33 2016 - [info] Reading serverconfiguration from /etc/mha/..Tue Apr 5 22:36:33 2016 - [info] MHA::MasterMonitorversion .Tue Apr 5 22:36:34 2016 - [info] GTID failover mode =0Tue Apr 5 22:36:34 2016 - [info] Dead Servers:Tue Apr 5 22:36:34 2016 - [info] Alive Servers:Tue Apr 5 22:36:34 2016 - [info] (:4008)Tue Apr 5 22:36:34 2016 - [info] (:4008)Tue Apr 5 22:36:34 2016 - [info] (:4008)Tue Apr 5 22:36:34 2016 - [info] Alive Slaves:Tue Apr 5 22:36:34 2016 - [info] (:4008) Version=-log (oldest major versionbetween slaves) log-bin:enabledTue Apr 5 22:36:34 2016 - [info] Replicating from(:4008)Tue Apr 5 22:36:34 2016 - [info] Primary candidate for the new Master(candidate_master is set)Tue Apr 5 22:36:34 2016 - [info] (:4008) Version=-log (oldest major versionbetween slaves) log-bin:enabledTue Apr 5 22:36:34 2016 - [info] Replicating from(:4008)Tue Apr 5 22:36:34 2016 - [info] Not candidate for the new Master(no_master is set)Tue Apr 5 22:36:34 2016 - [info] Current AliveMaster: (:4008)Tue Apr 5 22:36:34 2016 - [info] Checking slaveconfigurations..Tue Apr 5 22:36:34 2016 - [warning] relay_log_purge=0 is not set on slave(:4008).Tue Apr 5 22:36:34 2016 - [warning] relay_log_purge=0 is not set on slave(:4008).Tue Apr 5 22:36:34 2016 - [info] Checking replicationfiltering settings..Tue Apr 5 22:36:34 2016 - [info] binlog_do_db= , binlog_ignore_db=Tue Apr 5 22:36:34 2016 - [info] Replication filtering check ok.Tue Apr 5 22:36:34 2016 - [info] GTID (with auto-pos)is not supportedTue Apr 5 22:36:34 2016 - [info] Starting SSHconnection tests..Tue Apr 5 22:36:35 2016 - [info] All SSH connectiontests passed successfully.Tue Apr 5 22:36:35 2016 - [info] Checking MHA Nodeversion..Tue Apr 5 22:36:36 2016 - [info] Version check ok.Tue Apr 5 22:36:36 2016 - [info] Checking SSHpublickey authentication settings on the current master..Tue Apr 5 22:36:36 2016 - [info] HealthCheck: SSH to is reachable.Tue Apr 5 22:36:36 2016 - [info] Master MHA Nodeversion is .Tue Apr 5 22:36:36 2016 - [info] Checking recoveryscript configurations on (:4008)..Tue Apr 5 22:36:36 2016 - [info] Executing command: save_binary_logs--command=test --start_pos=4 --binlog_dir=/log/mysql--output_file=/usr/local/mha/save_binary_logs_test --manager_version=--start_file=mysql-Tue Apr 5 22:36:36 2016 - [info] Connecting toroot@(:22).. Creating /usr/local/mha if not exists..Creating directory /usr/local/mha.. done. ok. Checking output directory is accessible ornot.. ok. Binlog found at /log/mysql, up tomysql-Tue Apr 5 22:36:36 2016 - [info] Binlog setting checkdone.Tue Apr 5 22:36:36 2016 - [info] Checking SSHpublickey authentication and checking recovery script configurations on allalive slave servers..Tue Apr 5 22:36:36 2016 - [info] Executing command : apply_diff_relay_logs--command=test --slave_user='root' --slave_host=--slave_ip= --slave_port=4008 --workdir=/usr/local/mha--target_version=-log --manager_version=--relay_log_info=/data/mysql/relay- --relay_dir=/data/mysql/ --slave_pass=xxxTue Apr 5 22:36:36 2016 - [info] Connecting toroot@(:22)..Can't exec"mysqlbinlog": No such file or directory at/usr/local/lib64/perl5/MHA/ line 106.mysqlbinlog versioncommand failed with rc 1:0, please verify PATH, LD_LIBRARY_PATH, and clientoptions at /usr/local/bin/apply_diff_relay_logs line493Tue Apr 5 22:36:36 2016 -[error][/usr/local/lib64/perl5/MHA/, ln205] Slaves settingscheck failed!Tue Apr 5 22:36:36 2016 -[error][/usr/local/lib64/perl5/MHA/, ln413] Slave configurationfailed.Tue Apr 5 22:36:36 2016 -[error][/usr/local/lib64/perl5/MHA/, ln424] Error happened onchecking configurations. at/usr/local/bin/masterha_check_repl line 48Tue Apr 5 22:36:36 2016 -[error][/usr/local/lib64/perl5/MHA/, ln523] Error happened onmonitoring servers.Tue Apr 5 22:36:36 2016 - [info] Got exit code 1 (Notmaster dead). MySQL ReplicationHealth is NOT OK!
解决方案
[root@HE1 MHA]# ln -s /usr/local/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog
③或者这样
Binlog found at /log/mysql, up to mysql-Tue Apr 5 22:43:55 2016 - [info] Binlog setting check done.Tue Apr 5 22:43:55 2016 - [info] Checking SSH publickey authentication and checking recovery script configurations on all alive slave servers..Tue Apr 5 22:43:55 2016 - [info] Executing command : apply_diff_relay_logs --command=test --slave_user='root' --slave_host= --slave_ip= --slave_port=4008 --workdir=/usr/local/mha --target_version=-log --manager_version= --relay_log_info=/data/mysql/relay- --relay_dir=/data/mysql/ --slave_pass=xxxTue Apr 5 22:43:55 2016 - [info] Connecting to root@(:22).. mysqlbinlog: unknown variable 'default-character-set=utf8'mysqlbinlog version command failed with rc 7:0, please verify PATH, LD_LIBRARY_PATH, and client options at /usr/local/bin/apply_diff_relay_logs line 493Tue Apr 5 22:43:55 2016 - [error][/usr/local/lib64/perl5/MHA/, ln205] Slaves settings check failed!Tue Apr 5 22:43:55 2016 - [error][/usr/local/lib64/perl5/MHA/, ln413] Slave configuration failed.Tue Apr 5 22:43:55 2016 - [error][/usr/local/lib64/perl5/MHA/, ln424] Error happened on checking configurations. at /usr/local/bin/masterha_check_repl line 48Tue Apr 5 22:43:55 2016 - [error][/usr/local/lib64/perl5/MHA/, ln523] Error happened on monitoring servers.Tue Apr 5 22:43:55 2016 - [info] Got exit code 1 (Not master dead).
解决方案
注释掉中的
[client]
#default-character-set=utf8
遇到上述错误别慌张,看日志,根据报错来排查问题。
折腾半天,就为了这个OK
[root@HE4 mha4mysql-manager-]# masterha_check_status --conf=/etc/mha/
mha (pid:32726) is running(0:PING_OK), master:
Part1:写在最前
maxscale是mariadb公司开发的一套数据库中间件,可以很方便的实现读写分离方案;并且提供了读写分离的负载均衡和高可用性保障。另外maxscale对于前端应用而言是透明的,我们可以很方便的将应用迁移到maxscale中实现读写分离方案,来分担主库的压力。maxscale也提供了sql语句的解析过滤功能。这里我们主要讲解maxscale的安装、配置以及注意事项。
Part2:整体架构
Part3:安装
Maxscale配置很简单
[root@HE3 MHA]# yum -y install maxscale--_ (只在Maxscale上执行)
[root@HE3 ~]# cat /etc/# MaxScale documentation on GitHub:# /mariadb-corporation/MaxScale/blob/master/Documentation/Documentation-# Global parameters## Number of threads is autodetected, uncomment for manual configuration# Complete list of configuration options:# /mariadb-corporation/MaxScale/blob/master/Documentation/Getting-Started/Configuration-[maxscale]threads=auto# Server definitions## Set the address of the server to the network# address of a MySQL server.#[server1]type=serveraddress=port=3306protocol=MySQLBackendmyweight=5[server2]type=serveraddress=port=3306protocol=MySQLBackendmyweight=5[server3]type=serveraddress=port=3306protocol=MySQLBackend# Monitor for the servers## This will keep MaxScale aware of the state of the servers.# MySQL Monitor documentation:# /mariadb-corporation/MaxScale/blob/master/Documentation/Monitors/MySQL-[MySQL Monitor]type=monitormodule=mysqlmonservers=server1,server2,server3user=mysyncpasswd=MANAGERmonitor_interval=10000# Service definitions## Service Definition for a read-only service and# a read/write splitting service.## /mariadb-corporation/MaxScale/blob/master/Documentation/Routers/#[Read-Only Service] ###只读服务#type=service#router=readconnroute#servers=server1,server2,server3#user=sys_admin#passwd=MANAGER#router_options=slave# /mariadb-corporation/MaxScale/blob/master/Documentation/Routers/[Read-Write Service] ####写服务type=servicerouter=readwritesplitenable_root_user=1servers=server1,server2,server3user=sys_adminpasswd=MANAGERweightby=myweightrouter_options=slave_selection_criteria=LEAST_GLOBAL_CONNECTIONSmax_slave_connections=1# /mariadb-corporation/MaxScale/blob/master/Documentation/Reference/[MaxAdmin Service]type=servicerouter=cli#[Read-Only Listener]#type=listener#service=Read-Only Service#protocol=MySQLClient#port=4008 ##读服务启动监听 端口4008[Read-Write Listener]type=listenerservice=Read-Write Serviceprotocol=MySQLClientport=4006 ####写服务启动监听 端口[MaxAdmin Listener]type=listenerservice=MaxAdmin Serviceprotocol=maxscaledport=6603 ###管理端口
[root@HE3 ~]# /etc//maxscale start
Starting MaxScale: maxscale (pid 28851) is running... [ OK ]
[root@HE3 ~]# netstat -lntp |grep maxscale
tcp 0 0 :6603 :* LISTEN 29878/maxscale
tcp 0 0 :4006 :* LISTEN 29878/maxscale
[root@HE3 ~]# maxadmin -pmariadb list services
Services.
--------------------------+----------------------+--------+---------------
Service Name | Router Module | #Users | Total Sessions
--------------------------+----------------------+--------+---------------
Read-Only Service | readconnroute | 1 | 5
Read-Write Service | readwritesplit | 1 | 11
MaxAdmin Service | cli | 2 | 3
--------------------------+----------------------+--------+---------------
[root@HE3 ~]# maxadmin -pmariadb list servers
Servers.
-------------------+-----------------+-------+-------------+--------------------
Server | Address | Port | Connections | Status
-------------------+-----------------+-------+-------------+--------------------
server1 | | 3306 | 0 | Slave, Running
server2 | | 3306 | 0 | Slave, Running
server3 | | 3306 | 0 | Master, Running
-------------------+-----------------+-------+-------------+--------------------
至此,MHA+Maxscale的环境就完成了。
读写分离与负载均衡校验
Part1:读写分离
在Master构建相应的测试表
mysql> select * from helei;+--------+| a |+--------+| HE3 |+--------+3 rows in set ( sec)
在slave1插入数据HE1
mysql> select * from helei;+------+| a |+------+| HE3 || HE1 |+------+
在slave2插入数据HE2
mysql> select * from helei;+------+| a |+------+| HE3 || HE2 |+------+
现在链接4006读写分离端口,进行数据写入
[root@HE3 ~]# mysql - -P 4006 -usys_admin -pMANAGER maxscale -e"insert into helei values('写入');"mysql: [Warning] Using a password on the command line interface can be insecure.[root@HE3 ~]# mysql - -P 4008 -usys_admin -pMANAGER maxscale -e"select * from helei;"mysql: [Warning] Using a password on the command line interface can be insecure.+--------+| a |+--------+| HE3 || HE1 || 写入 |+--------+
可以看到主库插入完毕后从库已经同步完成,这条查询完成在了HE1(slave1)上
Part2:负载均衡
我们配置的read比例为1:1
[root@HE3 ~]# maxadmin -pmariadb show service "Read-Write Service"Service 0xef5570Service: Read-Write ServiceRouter: readwritesplit (0x7ff5e8fa6ec0)State: StartedNumber of router sessions: 15Current no. of router sessions: 0Number of queries forwarded: 41Number of queries forwarded to master:2 (%)Number of queries forwarded to slave: 39 (%)Number of queries forwarded to all: 0 (%)Connection distribution based on myweight server parameter.Server Target % Connections Operations Global Routerserver1 % 0 0 0server2 % 0 0 0server3 % 0 0 0Started: Thu Nov 3 23:46:27 2016Root user access: EnabledBackend databases::3306 Protocol: MySQLBackend:3306 Protocol: MySQLBackend:3306 Protocol: MySQLBackendRouting weight parameter: myweightUsers data: 0xf09370Total connections: 16Currently connected: 1
[root@HE3 ~]# for i in `seq 1 10`; do mysql -h -P 4006 -usys_admin -pMANAGER maxscale -e "select @@hostname; select sleep(10)" 2>/dev/null & done[root@HE3 ~]# +------------+| @@hostname |+------------+| HE1 |+------------++------------+| @@hostname |+------------+| HE1 |+------------++------------+| @@hostname |+------------+| HE1 |+------------++------------+| @@hostname |+------------+| HE1 |+------------++------------+| @@hostname |+------------+| HE1 |+------------++------------+| @@hostname |+------------+| HE2 |+------------++------------+| @@hostname |+------------+| HE2 |+------------++------------+| @@hostname |+------------+| HE2 |+------------++------------+| @@hostname |+------------+| HE2 |+------------++------------+| @@hostname |+------------+| HE2 |+------------+
OK!That's how it works!~
故障测试
Part1:stop slave故障
停止HE1的复制
[root@HE1 ~]# mysql-uroot -pEnter password:Welcome to the MySQLmonitor. Commands end with ; or \g.Your MySQLconnection id is 74Server version:-log MySQL Community Server (GPL) Copyright (c) 2000,2016, Oracle and/or its affiliates. All rights reserved. Oracle is aregistered trademark of Oracle Corporation and/or itsaffiliates. Othernames may be trademarks of their respectiveowners. Type 'help;' or '\h'for help. Type '\c' to clear the current input statement. mysql> stopslave;Query OK, 0 rowsaffected ( sec) [root@HE3 ~]#maxadmin -pmariadb list serversServers.-------------------+-----------------+-------+-------------+--------------------Server | Address | Port | Connections | Status -------------------+-----------------+-------+-------------+--------------------server1 | | 3306 | 0 | Runningserver2 | | 3306 | 0 | Slave,Runningserver3 | | 3306 | 0 | Master,Running-------------------+-----------------+-------+-------------+-------------------- [root@HE3 ~]# mysql - -P 4006 -usys_admin-pMANAGER maxscale -e"select * from helei;"mysql: [Warning]Using a password on the command line interface can be insecure.+--------+| a |+--------+| HE3 || HE2 || 写入 |+--------+[root@HE3 ~]# mysql - -P 4006 -usys_admin-pMANAGER maxscale -e"select * from helei;"mysql: [Warning]Using a password on the command line interface can be insecure.+--------+| a |+--------+| HE3 || HE2 || 写入 |+--------+
可以看出,在slave1故障后,所有的读操作都进入了HE2(slave2);
恢复HE1
mysql> startslave;Query OK, 0 rowsaffected ( sec) [root@HE3 ~]#maxadmin -pmariadb list serversServers.-------------------+-----------------+-------+-------------+--------------------Server | Address | Port | Connections | Status -------------------+-----------------+-------+-------------+--------------------server1 | | 3306 | 0 | Slave,Runningserver2 | | 3306 | 0 | Slave,Runningserver3 | | 3306 | 0 | Master,Running-------------------+-----------------+-------+-------------+-------------------- 验证[root@HE3 ~]# mysql - -P 4006 -usys_admin-pMANAGER maxscale -e"select * from helei;"mysql: [Warning]Using a password on the command line interface can be insecure.+--------+| a |+--------+| HE3 || HE2 || 写入 |+--------+[root@HE3 ~]# mysql - -P 4006 -usys_admin-pMANAGER maxscale -e"select * from helei;"mysql: [Warning]Using a password on the command line interface can be insecure.+--------+| a |+--------+| HE3 || HE1 || 写入 |+--------+
在HE1(slave1)恢复完成后,重新有了负载均衡。
Part2:mysql down故障
[root@HE1 ~]#/etc//mysqld stopShutting downMySQL..... SUCCESS! 停止HE1(slave)可以看到转发到了HE2上 [root@HE3 ~]# maxadmin -pmariadb list serversServers.-------------------+-----------------+-------+-------------+--------------------Server | Address | Port | Connections | Status -------------------+-----------------+-------+-------------+--------------------server1 | | 3306 | 0 | Downserver2 | | 3306 | 1 | Slave,Runningserver3 | | 3306 | 1 | Master,Running-------------------+-----------------+-------+-------------+--------------------[root@HE3~]# mysql - -P 4006 -usys_admin -pMANAGERmysql: [Warning]Using a password on the command line interface can be insecure.Welcome to the MySQLmonitor. Commands end with ; or \g.Your MySQLconnection id is 28948Server version:- -maxscale MySQL Community Server (GPL) Copyright (c) 2000,2016, Oracle and/or its affiliates. All rights reserved. Oracle is aregistered trademark of Oracle Corporation and/or itsaffiliates. Othernames may be trademarks of their respectiveowners. Type 'help;' or '\h'for help. Type '\c' to clear the current input statement. mysql> select@@hostname;+------------+| @@hostname |+------------+| HE2 |+------------+1 row in set (sec) 停掉2台slave,观察maxscale的状态[root@HE3 ~]#maxadmin -pmariadb list serversServers.-------------------+-----------------+-------+-------------+--------------------Server | Address | Port | Connections | Status -------------------+-----------------+-------+-------------+--------------------server1 | | 3306 | 0 | Runningserver2 | | 3306 | 0 | Runningserver3 | | 3306 | 0 | Master, StaleStatus, Running-------------------+-----------------+-------+-------------+--------------------
Warning:警告这里我并没有在
[MySQL Monitor]中配置detect_stale_master=true
可以看出,在中,已经默认从库都停掉,也不影响
Part3:master故障
[root@HE3 ~]# maxadmin -pmariadb list serversServers.-------------------+-----------------+-------+-------------+--------------------Server | Address | Port | Connections | Status -------------------+-----------------+-------+-------------+--------------------server1 | | 3306 | 0 | Slave, Runningserver2 | | 3306 | 0 | Slave, Runningserver3 | | 3306 | 0 | Master, Running-------------------+-----------------+-------+-------------+--------------------[root@HE3 ~]# ps -ef|grep mysqlroot 27709 1 0 Nov03 ? 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/mysql 28415 27709 0 Nov03 ? 00:00:19 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/ --open-files-limit=8192 --pid-file=/data/mysql/ --socket=/tmp/ --port=3306root 30794 28966 0 02:34 pts/1 00:00:00 grep mysql[root@HE3 ~]# kill -9 28415 27709[root@HE3 ~]# maxadmin -pmariadb list serversServers.-------------------+-----------------+-------+-------------+--------------------Server | Address | Port | Connections | Status -------------------+-----------------+-------+-------------+--------------------server1 | | 3306 | 0 | Slave, Runningserver2 | | 3306 | 0 | Slave, Runningserver3 | | 3306 | 0 | Master, Running-------------------+-----------------+-------+-------------+--------------------[root@HE3 ~]# maxadmin -pmariadb list serversServers.-------------------+-----------------+-------+-------------+--------------------Server | Address | Port | Connections | Status -------------------+-----------------+-------+-------------+--------------------server1 | | 3306 | 0 | Master, Runningserver2 | | 3306 | 0 | Slave, Runningserver3 | | 3306 | 0 | Running-------------------+-----------------+-------+-------------+--------------------
可以看出,kill master的mysql进程后,MHA将slave1拉成新的master,Maxsale也识别了这一状态。
Java Druid注意事项
------------以下文章取材于贺春旸技术博客-------------------
/5223301/1869414
现象:
程序会不定时的出现连接错误,问题bug的异常信息如下:
The last packet successfully received from the server was 116 milliseconds ago. The last packet sent successfully to the server was 115 milliseconds ago.
: No database selected
但通过客户端sqlyog/navicat连接均为正常。
----------------------------------------------------------------------
另:有时还会出现挂起现象,4006端口直接关闭。后我们用了watch命令后台跑监控。
watch -d /bin/bash /root/sh/restart_
#!/bin/bash
netstat
-ntlp |
grep
maxscale |
grep
4006 >
/dev/null
2>&1
if
[ $? -
eq
1 ];
then
/etc/init
.d
/maxscale
start
fi
解决:以下可以直接在url上配置:autoReconnect=true
对于以上的只能在jdbc的链接池里设置:
第一个设置成ture,超时自动链接,对于mysql要把第二个设置成false,不启用缓存。
以上是开发需要注意的都是一些基本的配置。
其目的为:每次归还连接时执行select 'x'检测连接是否有效。
——总结——
maxscale的核心就在于内个配置文件,根据不同的业务和架构,做好相应的配置,本文意在抛砖引玉,如果您有更全的配置文件,欢迎您分享给笔者。由于笔者的水平有限,编写时间也很仓促,文中难免会出现一些错误或者不准确的地方,不妥之处恳请读者批评指正。
- MySQL5.7MHA+MaxScale2.0构建高可用环境
- MySQL5.7MHA+MaxScale2.0构建高可用环境
- centos7搭建mysql5.7 高可用(MHA)
- MHA+keepalive高可用环境搭建
- mysql高可用--mha
- mysql高可用MHA
- mysql高可用-MHA
- MySQL高可用之MHA
- mysql高可用之mha
- MySQL高可用方案-MHA
- MySQL MHA 高可用架构
- mysql MHA高可用测试
- mysql高可用 主从MHA
- 高可用MySQL MHA介绍
- mysql高可用之MHA
- MySQL MHA高可用方案
- MySQL高可用解决方案MHA
- mha配置高可用mysql
- 检测点9.3
- 夕拾算法初级篇:6)1023. 组个最小数(贪心)
- 【Java修饰符】(1)static修饰符详解
- 如何高效移除字符串中的空白字符
- OpenCV3.0 Examples学习笔记(8)-filestorage.cpp
- MySQL5.7MHA+MaxScale2.0构建高可用环境
- python装饰器详解
- 设计模式(十一)——外观模式
- Zookeeper特点
- sql查询语句去除重复列(行)
- 自定义控件之绘图篇(二):路径及文字
- Use View.isInEditMode() in your custom views to skip code or show sample data when shown in the IDE
- IMPDP更改用户 表空间
- 断点