centos7环境配置haproxy实现mysql数据库和redis代理服务器
centos7环境配置haproxy实现mysql数据库代理
我们通常会碰到这样的业务场景:
b主机和c数据库在同一个内网,a主机不能直接访问c数据库,我们可以通过在b主机上搭建代理让a访问c数据库,我们使用haproxy来干这个事情
安装haproxy
yum install -y haproxy
配置haproxy:
vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
defaults
log global
log 127.0.0.1 local3
mode http
option tcplog
option dontlognull
retries 10
option redispatch
maxconn 2000
timeout connect 5000
timeout client 50000
timeout server 50000
listen mysql
bind 0.0.0.0:7306
mode tcp
balance roundrobin
server mysql1 192.168.3.18:3306
CentOS 7上yum安装的Haproxy,默认没有记录日志。需要做一下配置才能记录日志。
1.创建日志文件/var/log/haproxy/haproxy.log
cd /var/log
mkdir haproxy
cd haproxy
touch haproxy.log
chmod a+w haproxy.log
2.开启rsyslog的haproxy日志记录功能
编辑vim /etc/rsyslog.conf文件,将
$ModLoad imudp
$UDPServerRun 514
两行前的#去掉。
在
local7.* /var/log/boot.log
之后添加
# Save haproxy log
local2.* /var/log/haproxy/haproxy.log
修改vim /etc/sysconfig/rsyslog 文件,将
SYSLOGD_OPTIONS=""
改为
SYSLOGD_OPTIONS="-r -m 2 -c 2"
3.配置haproxy
修改/etc/haproxy/haproxy.cfg文件,在global区段添加
log 127.0.0.1 local2
重启rsyslog和haproxy服务,haproxy就能记录日志了。
systemctl restart rsyslog
systemctl restart haproxy
测试
报错:
Stopping haproxy: [ OK ]
Starting haproxy: [WARNING] 313/111853 (29445) : parsing [/etc/haproxy/haproxy.cfg:17] : 'option httplog' not usable with proxy 'mysql' (needs 'mode http'). Falling back to 'option tcplog'.
将haproxy.cfg的httplog改为tcplog即可
可能报错:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the server was 50,158 milliseconds ago. The last packet sent successfully to the server was 50,157 milliseconds ago
参数可以适当调整:
timeout connect 500000
timeout client 500000
timeout server 500000
连接redis的配置,centos6.5
global
maxconn 2
# debug
quiet
user haproxy
group haproxy
nbproc 1
log 127.0.0.1 local3
defaults
timeout server 3s
timeout connect 3s
timeout client 60s
timeout http-request 3s
timeout queue 3s
frontend redis_read
bind 0.0.0.0:7736
default_backend cluster_redis
backend cluster_redis
mode tcp
option tcpka
balance static-rr
option httpchk
server redis_01 192.168.1.1:6379 weight 1
直接通过RedisDesktopManager工具连接redis即可
centos7环境配置haproxy实现mysql数据库和redis代理服务器的更多相关文章
- virtualBox安装centos7并配置nginx php mysql运行环境
virtualBox安装centos7并配置nginx php mysql运行环境 一:virtualBox安装centos7并进行基础设置 1.下载dvd.iso安装文件,下载地址:https:// ...
- Java数据库连接池的几种配置方法(以MySQL数据库为例)
Java数据库连接池的几种配置方法(以MySQL数据库为例) 一.Tomcat配置数据源: 前提:需要将连接MySQL数据库驱动jar包放进Tomcat安装目录中common文件夹下的lib目录中 1 ...
- Centos7安装配置Apache+PHP+Mysql+phpmyadmin
转载自: Centos7安装配置Apache+PHP+Mysql+phpmyadmin 一.安装Apache yum install httpd 安装成功后,Apache操作命令: systemctl ...
- Linux下安装配置与使用MySQL数据库
Linux下安装配置与使用MySQL数据库 在Linux下安装做开发时往往少不了要使用到MySQL数据库,下面就Linux系统为例讲解一下,如何安装MySQL数据库,如何启用/停.止MySQL服务,如 ...
- 阿里云、青云、腾讯云服务器,Mysql数据库,Redis等产品性能对比
阿里云.青云.腾讯云服务器,Mysql数据库,Redis等产品都使用过,对比维度很多就不一一放出.直接放结论吧:买的腾讯(金融专区)服务器,Mysql(TDSql)把所有项目转到腾讯云,但是没有用腾讯 ...
- centos7初上手1-安装mysql数据库
随着云服务器的普及,购入云服务器的门槛越来越低,对一个程序员来说,很多人会购买一款云服务器.以前买过两年windows服务器(没有什么实际用途,就是为了玩),最近有机会接触一下linux服务器,选择了 ...
- Elasticsearch学习(2) windows环境下Elasticsearch同步mysql数据库
在上一章中,我们已经能够通过spring boot来使用Elasticsearch,但是由于我们习惯性的将数据写入mysql,所以为了解决这个问题,Elasticsearch为我们提供了一个插件log ...
- 安装并配置多实例Mysql数据库
1.安装Mysql需要的依赖包 yum -y install ncurses-devel libaio-devel cmake 2.创建Mysql用户账号 useradd -s /sbin/nolog ...
- 虚拟机下安装Centos7并配置Apache+PHP+Mysql+phpmyadmin+wordpress
一.安装Apache yum install httpd 安装成功后,Apache操作命令: systemctl start httpd //启动apache systemctl stop httpd ...
随机推荐
- PAT 甲级 1090 Highest Price in Supply Chain
https://pintia.cn/problem-sets/994805342720868352/problems/994805376476626944 A supply chain is a ne ...
- v-if 和 v-show的区别
简单来说,v-if 的初始化较快,但切换代价高:v-show 初始化慢,但切换成本低 1.共同点 都是动态显示DOM元素 2.区别 (1)手段: v-if是动态的向DOM树内添加或者删除DOM元素: ...
- 32位机和64位机下面各类型sizeof的大小
---<这种类型的题目出的太多了,还是整理下吧!>--- 一.机器平台:X86_64 处理器 操作系统:Red Hat 4.1.2-14 编译器: gcc version 4.1.2 20 ...
- OneZero第四周——预完成功能点统计
本周OneZero将完成“统计”功能. 功能点统计如下: 1.主页单击记录,进入修改界面,修改记录. 2.主页长按记录,出现删除按钮,删除记录. 3.全部记录按分类进行饼图显示. 4.全部记录按分类进 ...
- IdeaVim-常用操作(转载)
IdeaVim简介 IdeaVim是IntelliJ IDEA的一款插件,他提高了我们写代码的速度,对代码的跳转,查找也很友好. 安装位置 安装之后它在 Tools > Vim Emulator ...
- NodeList & null
NodeList & null querySelectorAll & querySelector let arr = document.querySelectorAll(`[data- ...
- Ubutnu linux 下升级python版本,以2.x升级到3.x为例
Linux操作系统一般 都会自带python,但是python版本会比主流低,故升级python, 主要思路:自带的python的链接link文件是在/usr/bin 下,采用sudo apt-get ...
- idea中 读取mybatis的配置文件时候 如果放在文件下面 需要加上路径
- linux服务器mysql数据库新建数据库并配置数据库用户
第一步:进入数据库 mysql -uroot -p 提示输入密码,输入你的root用户密码(默认不显示) 如下图: 第二步:创建一个数据库 create database 数据库名称 ;(注意分号结尾 ...
- 【题解】 [ZJOI2012]灾难 (拓扑排序+LCA)
懒得复制,戳我戳我 Solution: 这题思路很神奇,首先你要知道这个毁灭树是怎么保证实现的:一句话就是如果该节点要被破坏,他的所有父节点就要被破坏,也就只要所有父节点的LCA被破坏就可以,所以我们 ...