编译安装dbproxy altas

前言,目前已经有很多mysql中间层,baidu的 dbproxy,taobao的 tddl ,126 ,alibaba的 corba,360的altas ,mysql-proxy,楼方鑫的oneproxy,sohu的dbproxy,fabric等。有的支持分库分表,有的不支持。选择一款合适的就好。但是,如果做技术选型,还是要谨慎小心。选择自主研发还是用现有的第三方产品要慎重。(把libevent看懂了,就能做自主研发,但是要开发出一个稳定版本的,需要一段时间,开发出来后放到线上,会踩到很多坑,个人经验值,没有在线上跑2年时间的产品,不要用。曾今我们自己研发的,跑了差不多3年,直到12年,才稳定下来,之前bug不断)

#安装dbproxy  altas  基本上按照朱超 写的这个,就能安装完 http://github.com/Qihoo360/Atlas/wiki/Atlas的安装

一.下载

mkdir -p /data/software && cd /data/software

wget https://github.com/Qihoo360/Atlas/archive/2.2.1.tar.gz

mv 2.2.1.tar.gz atlas.2.2.1.tar.gz

tar zxvf atlas.2.2.1.tar.gz

二.安装库文件

#安装库文件,gcc等编译环境,需要提前配好,这里就掠过了。

yum install -y libevent-devel lua-devel openssl-devel flex mysql-devel

yum install -y xz gettext-devel

# libffi,glib(>2.32)

yum -y install libffi*

cd /data/software

wget http://ftp.acc.umu.se/pub/gnome/sources/glib/2.33/glib-2.33.6.tar.xz

xz -d glib-2.33.6.tar.xz

cd glib-2.33.6

./configure

make

make install

ldconfig

# jemalloc

cd /data/software

wget http://www.canonware.com/download/jemalloc/jemalloc-3.1.0.tar.bz2

tar xvf jemalloc-3.1.0.tar.bz2

make

make install

cp /data/software/jemalloc-3.1.0/lib/libjemalloc.so.1 /usr/local/lib/

ldconfig

  三.编译安装Atlas

cd /data/software/Atlas-2.2.1

#修改安装目录 --prefix=/home/mysql/dbproxy

vim bootstrap.sh

#!/bin/sh

base=$(cd "$(dirname "$0")"; pwd)

cd $base

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure --with-mysql=/usr --prefix=/home/mysql/dbproxy CFLAGS="-DHAVE_LUA_H -O2" LDFLAGS="-lm -ldl -lcrypto -ljemalloc" LUA_CFLAGS="-I/usr/local/include/" LUA_LIBS="-L/usr/local/lib -llua"

#用惯了,之前我们把dbproxy 安装在 /home/mysql/dbproxy,习惯了

./bootstrap.sh

make && make install

#编译过程中,如果有问题,看 config.log 记录的信息,一般是 jemalloc没安装、版本低,libffi*,glib-2.32,等库版本低或者没安装的问题。

  四.配置

1.配置停起脚本mysql-proxyd

vim /home/mysql/dbproxy/bin/mysql-proxyd

修改  proxydir=/usr/local/mysql-proxy 为  proxydir=/home/mysql/dbproxy

#或者 sed -i ‘s%proxydir=/usr/local/mysql-proxy%proxydir=/home/mysql/dbproxy%g‘ /home/mysql/dbproxy/bin/mysql-proxyd

2.修改配置文件,后缀名必须是.cnf,如果不想用.cnf,也可以自己去改mysql-proxyd这个脚本

vim /home/mysql/dbproxy/conf/dbproxy.cnf

[mysql-proxy]

admin-username = user

admin-password = pwd

admin-address = 0.0.0.0:2345

proxy-backend-addresses = 192.168.0.220:9858

proxy-read-only-backend-addresses = 192.168.1.221:9858,192.168.0.14:9858

pwds = dbproxy_longxibendi_w: /iZxz+0GRoA=,dbproxy_longxibendi_r:/iZxz+0GRoA=

daemon = true

keepalive = true

event-threads = 4

log-level = message

log-path = /home/mysql/dbproxy/log

sql-log = ON

sql-log-slow = 10

wait-timeout = 10

proxy-address = 0.0.0.0:12340

charset = utf8

client-ips = 127.0.0.1, 192.168.1,192.168.0.220,192.168.1.221

3.mysql,slave上添加账号

master: 192.168.0.220

slave: 192,168.1.221,192.168.0.14

master上:mysql -uroot -p -h127.0.0.1 -P5858

mysql-> grant select,update,delete,insert on longxibendi.* to [email protected] identified by ‘123456‘;

slave 上,相同授权,注意ip地址是dbproxy的地址

  五.启动

1.启动dbproxy

cd /home/mysql/dbproxy/bin

./mysql-proxyd dbproxy start

2.访问测试

mysql -udbproxy_longxibendi_w -h192.168.0.220 -p123456 -P10240

mysql-> show databases;

#可以测试下事务,读写分离,主库宕机、从库宕机故障转移等。

#最后感谢 360 web平台 相关团队

时间: 2024-10-03 22:24:44

编译安装dbproxy altas的相关文章

LNMP编译安装遇到问题归总

LNMP编译安装遇到问题归总 1.错误:configure: error: freetype-config not found. 解决:yum install freetype-devel 2.错误:configure: error: libevent >= 1.4.11 could not be found  解决:yum -y install libevent libevent-devel 3.错误:configure: error: Please reinstall the mysql d

dbrd 8.4.6 源代码编译安装

---------------------------- 0.系统环境 ---------------------------- db01 192.168.50.10 /dev/sdb1 主节点 db02 192.168.50.20 /dev/sdb1 备节点 # grep -v "#" /etc/hosts 192.168.50.10 db01 db01.mysql.com 192.168.50.20 db02 db02.mysql.com #一块新硬盘 ll /dev/sd* ll

编译安装php

在编译安装php时需要安装一下软件 yum install -y zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel 安装好后需要编译安装libiconv-1.14.tar    这里版本以1.14为列       yum安装不上 ./configure --prefix

linux编译安装mssql客户端和配置php连接mssql

凡是连接数据库,必须安装客户端,我一般写博客都不写原理,但是后来发现回头看自己写的自己都看不懂,所以这章博客会多一点原理性的东西. 数据库的连接一般都是在客户端上完成的,MySQL也不例外,安装mysql时一般都会这么安装: #yum install mysql mysql-server 上面的mysql就是安装的客户端,mysql-server就是服务端,不安装客户端(mysql)就没办法执行mysql连接命令:mysql -u user -p pass -h -P port 而sqlserv

CentOS6.8下编译安装GCC

关于 GCC 在 CentOS 下通过 yum 安装默认版本号,CentOS 5 是 4.1.2:CentOS 6 是 4.4.7:CentOS 7 是 4.8.3.很多时候在编译安装软件都需要高版本的 GCC,否则就会报错.那么如何升级 GCC 的版本呢? 首先要确认升级到的 GCC 版本号.目前 GCC 的最新版已经到了 5.2,而 CentOS 7 则依然使用其 4.8,所以基于兼容性考虑,我选择升级到 4.8.5.GCC 官网:https://gcc.gnu.org 下面开始一步一步来编

MySQL5.5.52编译安装

一.MySQL介绍MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一.MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.MySQL所使用的 SQL 语言

编译安装lamp

软件包链接: http://pan.baidu.com/s/1mijn44g     密码:abja 系统环境:centos 7 开发环境:Development tools.Server Platform Development http+php的方式:PHP模块化 个程序版本: mariadb mariadb-5.5.46-linux-x86_64.tar.gz http httpd-2.4.10.tar.bz2 PHP php-5.4.40.tar.bz2 一.编译安装mariadb ①创

keepalived编译安装

编译安装keepalived 使用源码先安装keepalived 1.2.6 cd/usr/local/src wget http://www.keepalived.org/software/keepalived-1.2.6.tar.gz tarzxf keepalived-1.2.6.tar.gz cdkeepalived-1.2.6 ./configure--prefix=/usr/local/keepalived make makeinstall 所设keepalived安装到/usr/l

linux编译安装memcached

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. 它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度. Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以 用任何语言来编写,并通过memcached协议与守护进程通信. 1.memcached安装: 安装开发包:yum -y install gcc 安装memcached相应依赖组件: yum -y ins