mysql proxy代理安装和配置
mysql proxy代理安装和配置
服务器说明:
192.168.1.219 mysql主库(主从复制)
192.168.1.177 mysql从库(主从复制)
192.168.1.202 mysql proxy代理(实现读写分离)
安装需要的基础组件,基本系统都可以满足lua的组件版本要求
安装lua(确定是否需要安装)
yum -y install gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libmc rypt* libtool* flex*
pkgconfig*
Mysql Proxy的安装
下载mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz
注:若是你安装的软件包是已编译的,则无需安装lua
a、解压安装
cd /usr/local/software
tar -zxvf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz
cp mysql-proxy-0.8.5-linux-el6-x86-64bit /usr/local/mysql-proxy
b、授权
chmod -R 775 /usr/local/mysql-proxy
chown -R mysql:mysql /usr/local/mysql-proxy
c、环境变量的设置
vim /etc/profile //打开此文件,在文件尾部加上以下内容
LUA_PATH="/usr/local/mysql-proxy/share/doc/mysql-proxy/?.lua" // lua环境变量的设置
export LUA_PATH
export PATH=$PATH:/usr/local/mysql-proxy/bin //mysql proxy 环境变量的设置
保存并退出后执行下面命令
source /etc/profile // 使变量立即生效
d、修改mysql proxy的读写分离脚本的配置
vim /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
默认最小4个(最大8个)以上的客户端连接才会实现读写分离, 现改为最小1个最大2个,便于读写分离的测试
-- connection pool
if not proxy.global.config.rwsplit then
proxy.global.config.rwsplit = {
min_idle_connections = 1, // 改为1
max_idle_connections = 2, // 改为2
is_debug = false
}
end
这是因为mysql-proxy会检测客户端连接, 当连接没有超过min_idle_connections预设值时,
不会进行读写分离, 即查询操作会发生到Master上.
e、开启防火墙端口设置
vim /etc/sysconfig/iptables //打开防火墙配置文件,加入以下内容
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4040 -j ACCEPT
注:mysql-proxy的服务端口默认为4040
f、主库和从库给代理服务器创建登录用户并授权
登录主库192.168.1.219,给主机192.168.1.202创建登录用户并授权
ssh root@192.168.1.219 // 登录主数据库服务器
mysql -uroot -p321321 // 连接mysql数据库
mysql>grant all on *.* to 'test'@'192.168.1.202' identified by '321321'; // 创建登录用户并授权
mysql>flush privileges; // 刷新MySQL的系统权限相关表
登录从库192.168.1.177,给主机192.168.1.202创建登录用户并授权,操作步骤和主库一样,
注意:主库和从库给代理服务器创建登录用户并密码应该一致
g、启动mysql-proxy
vim /usr/local/mysql-proxy/mysql-proxy.sh // 新建一个shell文件,加入以下内容
#!/bin/sh
mysql-proxy --daemon --log-level=debug --log-file=/var/log/mysql-proxy.log
--plugins=proxy -b 192.168.1.219:3306 -r 192.168.1.177:3306
--proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua" --plugins=admin
--admin-username="test" --admin-password="321321"
--admin-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/admin.lua"
保存并退出
chmod 775 /usr/local/mysql-proxy/mysql-proxy.sh // 授予执行权限
./mysql-proxy.sh // 启动mysql-proxy
查看mysql-proxy服务端口
netstat -tupln |grep mysql
监控启动日志
tail -f /var/log/mysql-proxy.log
测试mysql proxy读写分离
在读写分离测试时,需要开启多个客户端窗口连接mysql-proxy
a、打开主库的mysql 日志
tail -f /usr/local/mysql/my.log
b、打开从库的mysql 日志
tail -f /usr/local/mysql/my.log
c、开启多个客户端窗口连接mysql-proxy
mysql -h192.168.1.202 -P4040 -utest -p321321
插入数据 查询数据进行测试
mysql proxy代理安装和配置的更多相关文章
- mysql.zip免安装版配置
MYSQL ZIP免安装版配置 1. 下载MySQL 选择自己想要的.本次安装.我使用的是mysql-5.6.17-winx64 地址:http://dev.mysql.com/downloads/ ...
- mysql数据库的安装与配置
mysql数据库的安装与配置及workbench的简单使用 mysql数据库社区版下载:https://dev.mysql.com/downloads/installer/ 我这里选的是社区安装版(适 ...
- MySQL服务器的安装和配置,MySQL Workbench 8.0.12安装,MySQL的基本使用
一 MySQL服务器的安装和配置 二 MySQL Workbench 8.0.12安装 三 MySQL的基本使用 一MySQL服务器的安装和配置 MySQL是目前最为流行的开放源码的数据库,是完全网络 ...
- linux学习之centos(三):mysql数据库的安装和配置
前言:mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库, ...
- linux应用之mysql数据库的安装及配置(centos)
CentOS下Mysql数据库的安装与配置 如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲 ...
- MySQL数据库的安装与配置(windows)
MySQL是目前最为流行的开放源码的数据库,是完全网络化的跨平台的关系型数据库系统,它是由瑞典MySQLAB公司开发,目前属于Oracle公司.任何人都能从Internet下载MySQL软件,而无需支 ...
- MySQL集群安装与配置
MySQL集群安装与配置 文章目录 [隐藏] 一.mysql集群安装 二.节点配置 三.首次启动节点 四.测试服务是否正常 五.安全关闭和重启 MySQL Cluster 是 MySQL 适合于分 ...
- Windows下MySQL 5.6安装及配置详细图解
一.安装前的准备 1.下载安装程序包,可到MySQL官方网站http://www.mysql.com/下载,如图1-1: 图1-1 下载后的安装文件如图1-2所示: 图1-2 二.安装 1.双击下载的 ...
- 第一章 Mysql 简介及安装和配置
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一. ...
随机推荐
- warshall-floyd算法:POJ No 2139 Six Degress of Cowvin Bacon(任意两点最短路径))
题目: http://poj.org/problem?id=2139 题解:N只牛,在一组的两只牛,分别两只之间为 “1度”,自己到自己为0度,M组牛.求,N只牛之中,两只牛之间 平均最短度数*100 ...
- 转 -- ARM 中 LDR伪指令
我们知道ARM CPU中有一条被广泛使用的指令LDR,它主要是用来从存储器(确切地说是地址空间)中装载数据到通用寄存器.但不论是ARMASM还是GNU ARM AS,都提供了一条与之同名的伪指令LDR ...
- spring断言使用
断言就是断定某一个实际的值为自己预期想得到的,如果不一样就抛出异常. Assert经常用于: 1.判断method的参数是否属于正常值.2.juit中使用. import org.springfram ...
- python 进程 线程 协程
并发与并行:并行是指两个或者多个事件在同一时刻发生:而并发是指两个或多个事件在同一时间间隔内发生.在单核CPU下的多线程其实都只是并发,不是并行. 进程是系统资源分配的最小单位,进程的出现是为了更好的 ...
- 25、LinkedList特有方法
LinkedList特有方法 public void addFirst(E e)及addLast(E e) public E getFirst()及getLast() public E removeF ...
- 系统学习(javascript)_基础(数据类型之间的转换)
在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(利用javascript弱变量类型转换). 强制转换: 利用js提供的函数parseInt(),parseFloat(),Number( ...
- MS Office CVE-2015-1641 恶意 Exploit 样本分析
MS Office CVE-2015-1641 恶意 Exploit 样本分析 在对最近的一个恶意 MS Office 文档样本进行分析时,我们发现了一些有趣的特性.这个文档利用 CVE-2015-1 ...
- 記一次undo問題
記一次undo問題 參考:http://www.linuxidc.com/Linux/2014-06/103780.htm ORA-00376: 無法於此時讀取檔案 3 ORA-01110: 資料檔 ...
- 【算法学习】【洛谷】cdq分治 & P3810 三维偏序
cdq是何许人也?请参看这篇:https://wenku.baidu.com/view/3b913556fd0a79563d1e7245.html. 在这篇论文中,cdq提出了对修改/询问型问题(Mo ...
- 建立ARM交叉编译环境 (arm-none-linux-gnueabi-gcc with EABI)【转】
转自:http://lib.csdn.net/article/embeddeddevelopment/60172?knId=886 建立ARM交叉编译环境 (arm-none-linux-gnueab ...