mysql 长连接(tcp协议)模拟负载均衡

1.存在member,member的port与mysql服务port一致为3306

2.vip绑定浮动ip

3.开启mysql服务:


#service mysqld start(centos6.5) #systemctl start mysqld (centos7)

4.关闭云主机防火墙:


#service iptables stop(centos6.5) #systemctl stop firewalld(centos7)

5.允许mysql服务远程访问,并新建一个数据库


#GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; #create database test

6.远程访问mysql


#mysql -u<远程登陆的用户> -p -h<ip> -P<port>

Mysql实现负载均衡:

两台云主机上安装mysql服务,云主机ip分别为:server1:192.168.5.11、server2:192.168.5.12 vip浮动ip:25.0.0.165

分别创建不同的数据库:

Server1:

>mysql -uroot -p
>create database member1;

Server2:

>mysql -uroot -p
>create database member2;

客户端测试一下数据库服务:

Mysql -u root -p 12345 -h 192.168.5.11 -e “show databases;”

Mysql -u root -p 12345 -h 192.168.5.12 -e “show databases;”

修改mysql配置文件:

vi /etc/my.cnf 修改监听端口

查看haproxy配置文件中是否更新配置

Vim /var/lib/neutron/lbaas/<pool-id>/conf

使用脚本持续访问mysql

create_connections.sh
#!/usr/bin/expect
#配置登陆数据库的端口
set vipport 80
#配置登陆数据库的ip地址
set vipip 25.0.4.194
#配置数据库用户名
set username admin
#配置数据库登陆密码
set password admin spawn mysql -h $vipip -u $username -P $vipport -p
#spawn ssh -p $port oracle@$oracleip
expect "Enter password:"
send "$password\r"
expect "mysql> "
#send "spool content.txt\r"
send "show databases;\r"
expect "mysql> "
send "select sleep(600);\r"
expect "mysql> "
send "show databases;\r"
#send "spool off\r"
#send "quit\r"
expect eof
loop.sh
#!/bin/bash i=0 main ()
{
for i in {1..1000}
do
{
i=i+1
expect -f create_connections.sh
}&
done
}
main

使用&实现shell脚本的并行

如果负载均衡不生效,在pool所在节点监听一下member是否正常:

ipnetns exec qlbaas-<vip-port-id> curl http://<member-ip>

ipnetns相关命令:

查看namespace:ip netns list

监听服务:ip netns exec qlbaas- telnet

遇到的问题及解决方法:

1.远程访问返回2013错误,可以依照网上说的方式先试着解决一下,如果仍然无法实现,需要检查负载均衡的协议是否为tcp协议

使用mysql服务实现负载均衡的更多相关文章

  1. 搭建MySQL高可用负载均衡集群

    1.简介 使用MySQL时随着时间的增长,用户量以及数据量的逐渐增加,访问量更是剧增,最终将会使MySQL达到某个瓶颈,那么MySQL的性能将会大大降低.这一结果也不利于软件的推广. 那么如何跨过这个 ...

  2. 搭建MySQL高可用负载均衡集群(转)

    阅读目录 1.简介 2.基本环境 3.配置MySQL主主复制 4.中间件简述 4.1.Haproxy介绍 4.2.keepalived介绍 5.中间件的安装与配置(haproxy.keepalived ...

  3. [转]搭建MySQL高可用负载均衡集群

    转自:http://www.cnblogs.com/phpstudy2015-6/p/6706465.html 阅读目录 1.简介 2.基本环境 3.配置MySQL主主复制 4.中间件简述 4.1.H ...

  4. 【Nginx】如何使用Nginx实现MySQL数据库的负载均衡?看完我懂了!!

    写在前面 Nginx能够实现HTTP.HTTPS协议的负载均衡,也能够实现TCP协议的负载均衡.那么,问题来了,可不可以通过Nginx实现MySQL数据库的负载均衡呢?答案是:可以.接下来,就让我们一 ...

  5. 关于Ocelot和Consul 实现GateWay(网关) 服务注册 负载均衡等方面

    Ocelot   路由  请求聚合  服务发现 认证  鉴权 限流熔断 内置负载均衡器 Consul   自动服务发现    健康检查 通过Ocelot搭建API网关   服务注册   负载均衡 1. ...

  6. .net core grpc consul 实现服务注册 服务发现 负载均衡(二)

    在上一篇 .net core grpc 实现通信(一) 中,我们实现的grpc通信在.net core中的可行性,但要在微服务中真正使用,还缺少 服务注册,服务发现及负载均衡等,本篇我们将在 .net ...

  7. 搭建服务与负载均衡的客户端-Spring Cloud学习第二天(非原创)

    文章大纲 一.Eureka中的核心概念二.Spring RestTemplate详解三.代码实战服务与负载均衡的客户端四.项目源码与参考资料下载五.参考文章 一.Eureka中的核心概念 1. 服务提 ...

  8. 一起来学Spring Cloud | 第三章:服务消费者 (负载均衡Ribbon)

    一.负载均衡的简介: 负载均衡是高可用架构的一个关键组件,主要用来提高性能和可用性,通过负载均衡将流量分发到多个服务器,多服务器能够消除单个服务器的故障,减轻单个服务器的访问压力. 1.服务端负载均衡 ...

  9. .Net Core Grpc Consul 实现服务注册 服务发现 负载均衡

    本文是基于..net core grpc consul 实现服务注册 服务发现 负载均衡(二)的,很多内容是直接复制过来的,..net core grpc consul 实现服务注册 服务发现 负载均 ...

随机推荐

  1. oracle备份报“EXP-00056: 遇到 ORACLE 错误 12541”

    今天准备接手一个新项目,首先是dang项目和备份数据库到本地,但是在备份数据库的时候报错误: EXP-00056: 遇到 ORACLE 错误 12541 ORA-12541: TNS: 无监听程序 E ...

  2. spring boot 配置logback日志之jdbcTemplate打印sql语句配置

    配置jdbcTemplate打印sql 用mybaties打印语句很好配置,后来用了JdbcTemplate就不知道怎么打印了,其实JdbcTemplate执行sql语句的过程会做打印sql语句的操作 ...

  3. 我的18vps~

    自从买了18vps的香港虚拟主机后,就面临一个问题,浏览器无法访问它的apache服务,后来发现,需要同时开启nginx服务: /usr/local/nginx/sbin/nginx -c /usr/ ...

  4. websocket对象及方法

    # websocket对象及方法 1.websocket对象 以下 API 用于创建 WebSocket 对象. var Socket = new WebSocket(url, [protocol] ...

  5. python 在linux上面安装beautifulsoup4(bs4) No module named 'bs4'

    续费了我的服务器 重做系统成了Linux服务器 然后想把Windown上的Python脚本放上去运行 但是出现了 No module named 'bs4' 的问题 pip install bs4 试 ...

  6. 吴裕雄 python 神经网络——TensorFlow图片预处理

    import numpy as np import tensorflow as tf import matplotlib.pyplot as plt # 使用'r'会出错,无法解码,只能以2进制形式读 ...

  7. hibernate并发时的事务处理

    两个方法 方法一: public void saveTest() { try { System.out.println("saveTest start"); User user = ...

  8. 微信小程序中promise的使用

    简介 相信看到这篇文章的同学,都已经对微信小程序的api文档有所了解了,也都经历了微信小程序api回调函数嵌套的痛苦,才会想要通过Promise解决回调地狱这个问题,我下面就直接介绍怎么在小程序中使用 ...

  9. Android学习03

    ToggleButton和Switch 状态开关ToggleButton与开关switch也是由button按钮派生出来的,因此他们的本质也是按钮,button支持的各种属性,方法toggleButt ...

  10. 解决Zookeeper无法启动的问题

    在启动zookeeper集群的单个zookeeper节点时总是报如下错误 [root@zookeeper1 zookeeper-3.4.5]# bin/zkServer.sh status JMX e ...