一、软件列表

ncurses-5.7.tar.gz

wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.7.tar.gz

mysql-proxy-0.8.1-linux-rhel5-x86-64bit.tar.gz

wget http://mirrors.dotsrc.org/mysql/Downloads/MySQL-Proxy/mysql-proxy-0.8.1-linux-rhel5-x86-64bit.tar.gz

gettext-0.18.1.1.tar.gz

wget http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.1.1.tar.gz

glib-2.26.1.tar.gz

wget http://ftp.acc.umu.se/pub/GNOME/sources/glib/2.26/glib-2.26.1.tar.gz

pkg-config-0.25.tar.gz

wget http://pkg-config.freedesktop.org/releases/pkg-config-0.25.tar.gz

lua-5.1.4.tar.gz

wget http://www.lua.org/ftp/lua-5.1.4.tar.gz

libevent-1.4.13-stable.tar.gz

wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz

二、运行环境

192.168.111.101  mysql

192.168.111.102  mysql

192.168.111.103  mysql-proxy

三、安装过程

注意:如果安装过程中因为gcc导致不能安装时,使用yum install gcc*或者yum update

1、安装ncurses

./configure --prefix=/usr --with-shared &&

make &&

make install &&

chmod 755 /usr/lib/*.5.3 &&

mv /usr/lib/libncurses.so.5* /lib &&

ln -sf libncurses.a /usr/lib/libcurses.a &&

ln -sf ../../lib/libncurses.so.5 /usr/lib/libncurses.so &&

ln -sf ../../lib/libncurses.so.5 /usr/lib/libcurses.so

--with-shared: 使能建立共享的ncurses库文件。

chmod 755 /usr/lib/*.5.3: 共享库文件应该是可执行的。Ncurses 的安装程序没有正确设置文件权限,所以我们手动来设置好。

ln -sf libncurses.a libcurses.a: 有的程序会试图用 -lcurses 而不是 -lncurses 来链接。这个符号链接使这种程序能正确链接。

2.安装pkg-config

tar zxvf pkg-config-0.25.tar.gz

cd pkg-config-0.25

./configure

make && make install

vi /etc/profile

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig

3.安装gettext

tar zxvf gettext-0.18.1.1.tar.gz

cd gettext-0.18.1.1

./configure

make && make install

4.安装libevent

tar zvfx libevent-1.4.13-stable.tar.gz

cd libevent-1.4.13-stable

./configure

make && make install

5.安装glib

tar zxvf glib-2.26.1.tar.gz

cd glib-2.26.1

./configure

make && make install

6.安装lua

tar zxvf lua-5.1.4.tar.gz

cd lua-5.1.4

如果是64位

vi src/Makefile

CFLAGS= -O2 -Wall $(MYCFLAGS) 改CFLAGS= -O2 -fPIC -Wall $(MYCFLAGS)

make linux

#在包含自 lua.h:16 的文件中,

#从 lua.c:15:

#luaconf.h:275:31: 错误:readline/readline.h:没有那个文件或目录

#luaconf.h:276:30: 错误:readline/history.h:没有那个文件或目录

#lua.c: In function ‘pushline’:

#lua.c:182: 警告:隐式声明函数 ‘readline’

#lua.c:182: 警告:赋值时将整数赋给指针,未作类型转换

#lua.c: In function ‘loadline’:

#lua.c:210: 警告:隐式声明函数 ‘add_history’

#make[2]: *** [lua.o] 错误 1

#make[2]: Leaving directory `/data0/software/lua-5.1.4/src’

#make[1]: *** [linux] 错误 2

#make[1]: Leaving directory `/data0/software/lua-5.1.4/src’

#make: *** [linux] 错误 2

yum install libtermcap-devel ncurses-devel libevent-devel readline-devel

make install

cp etc/lua.pc /usr/local/lib/pkgconfig/lua5.1.pc

7.安装MYSQL-Proxy

tar zxvf mysql-proxy-0.8.1-linux-rhel5-x86-64bit.tar.gz –C /usr/local/

cd /usr/local

mv mysql-proxy-0.8.1-linux-rhel5-x86-64bit mysql-proxy-0.8.1

vi /etc/profile

export PATH=$PATH:/usr/local/mysql-proxy-0.8.1/bin/

#查看版本

mysql-proxy -V

vi /etc/init.d/mysql-proxy

在/etc/init.d/目录下创建mysql-proxy

#!/bin/bash

export LUA_PATH=/usr/local/mysql-proxy-0.8.1/share/doc/mysql-proxy/?.lua

mode=$1

if [ -z "$mode" ] ; then

mode="start"

fi

case $mode in

start)

mysql-proxy --daemon \

--admin-username='root' \

--admin-password='123456' \

--admin-lua-script=/usr/local/mysql-proxy-0.8.1/share/doc/mysql-proxy/rw-splitting.lua \

--proxy-read-only-backend-addresses=192.168.111.101:3306 \

--proxy-backend-addresses=192.168.111.102:3306 \

--proxy-lua-script=/usr/local/mysql-proxy-0.8.1/share/doc/mysql-proxy/rw-splitting.lua &

;;

stop)

killall -9 mysql-proxy

;;

restart)

if $0 stop ; then

$0 start #不知道为何不生效

else

echo "retart failed!!!"

exit 1

fi

;;

esac

exit 0

运行、关闭

chmod 755 /etc/init.d/mysql-proxy

/etc/init.d/mysql-proxy start

/etc/init.d/mysql-proxy stop

测试

lsof –i:4040

mysql-proxy 默认端口为4040 4041

配置

vim /usr/local/mysql-proxy-0.8.1/share/doc/mysql-proxy/rw-splitting.lua

a. 修改如下部分代码段:

proxy.global.config.rwsplit = {

#这样可以进行快速测试,因为mysql-proxy要连接数达到下限时才读写分离

min_idle_connections = 1, #默认是4

max_idle_connections = 1, #默认是8

#打开这个选项,可以在控制台得到很多提示,让我们清除的看到访问的哪个数据库

is_debug = true

}

分享到:

2010-12-04 01:14

浏览 2831

分类:数据库

评论

linux mysql安装 读写分离_linux下安装mysql-proxy 配置读写分离相关推荐

  1. linux怎么查看mysql安装在哪里_Linux下查看MySQL的安装路径

    Linux下查看mysql.apache是否安装,并卸载. 指令ps -ef|grep mysql得出结果 root 17659 1 0 2011 ? 00:00:00 /bin/sh /usr/bi ...

  2. linux php mysql安装完整版本_Linux下安装PHP+MySQL+Apache完整版

    首先下载httpd-2.2.9.tar.gz.MySQL-5.0.41.tar.gz.php-5.2.6.tar.gz.autoconf-2.61.tar.gz.freetype-2.3.5.tar. ...

  3. linux安装mysql遇到的问题_Linux下安装MySQL5.7及遇到的问题解决方法

    一.下载地址 本文安装的版本: 或者使用wget下载: [root@localhost opt]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7 ...

  4. linux安装python3教程_linux下安装python3和对应的pip环境教程详解

    1.下载python3.6的安装包: 2.解压后,进入到解压目录下,执行如下命令,将python3.6进行编译,如下是将python的环境编译到/usr/local/python3的目录下,注意先创建 ...

  5. linux手动连接网络打印机驱动_Linux下安装HP打印机的驱动程序

    前言 在Linux下,我想通过惠普打印机打印文件,我房间的HP打印机型号为HP LaserJet 1020/1008. 一开始通过命令行安装hplip及其相关插件,由于我的电脑是Fedora 22 W ...

  6. linux mysql root用户密码_Linux下修改Mysql的用户(root)的密码

    1.root用户登录到mysql数据库 代码示例: /usr/local/mysql/bin/mysql -u root -p (输入密码进入mysql) 2.进入mysql,输入: 代码示例: us ...

  7. linux 64 mysql下载官网_Linux下安装MySQL5.7

    Oracle提供很多MySQL的发行版本,其中就包括压缩在tar文件(.tar.gz)内的通用二进制版本,下面介绍如何在Linux上安装这种版本的MySQL5.7,首先从官网下载MySQL,这里使用6 ...

  8. linux mysql web界面吗_Linux下安装MySQL Web 管理工具phpMyAdmin

    一.安装Apache 二.安装依赖包 sudo yum install gd sudo yum install libpng-devel sudo yum install libjpeg-devel ...

  9. linux打包运行python文件_Linux下安装pyinstaller用于将py文件打包生成一个可执行文件...

    安装使用流程 1. 首先给系统装个easy_install, 如果装了的可以跳过这步 到pypi官方网址 https://pypi.python.org/pypi/setuptools 去downlo ...

最新文章

  1. mysql 怎么在VS2017上附加进去
  2. C# Linq获取两个List或数组的差集交集
  3. 自然语言0_nltk中文使用和学习资料汇总
  4. 接口-----java
  5. block里的self、weakSelf、strongSelf
  6. 95-35-010-Topic-Topic的新建:扩容:删除
  7. Python中的正则表达式找到请求体为form-data格式的请求参数
  8. Eclipse不编译java文件的解决方法
  9. 基于事件的异步模式概述
  10. JavaScript—从数组的indexOf方法深入——Object的Property机制。
  11. linux tomcat8+jdk1.8u201百度云盘下载
  12. 为你的整轨APE音乐制作CUE文件(图文)
  13. 泛泰 A870 4.1.2 刷第三方专用Recovery合集
  14. 数据库原理和应用(8)—— 数据类型
  15. ocelot和nginx比较_针对 Ocelot 网关的性能测试
  16. 【Arduino实验10 数码管显示】
  17. 微信开放平台开发(一)
  18. 一起学习R语言吧——R语言+RStudio
  19. 袋鼠过河python
  20. Android学习方向

热门文章

  1. Linux颜色所代表的文件类型
  2. 【收藏】sonar-scanner扫描代码出错 SonarQube svn: E170001
  3. vue 的elementui中select下拉框多选项-multiple属性
  4. 【好文收藏】K8S集群部署CoreDNS服务
  5. k8s修改kube-apiserver的service-node-port-range端口范围
  6. springboot集成redis配置多数据源
  7. spring整合webservice
  8. RestTemplate带参发送get及post请求携带headers请求头代码示例
  9. python3.8新特性 逻辑表达式_python 3.8 新特性
  10. 第一行代码学习笔记第三章——UI开发的点点滴滴