前言,目前已经有很多mysql中间层,baidu的 dbproxy,taobao的 tddl ,126 ,alibaba的 corba,360的altas ,mysql-proxy,楼方鑫的oneproxy,sohu的dbproxy,fabric等。有的支持分库分表,有的不支持。选择一款合适的就好。但是,如果做技术选型,还是要谨慎小心。
前言,目前已经有很多mysql中间层,baidu的 dbproxy,taobao的 tddl ,126 ,alibaba的 corba,360的altas ,mysql-proxy,楼方鑫的oneproxy,sohu的dbproxy,fabric等。有的支持分库分表,有的不支持。选择一款合适的就好。但是,如果做技术选型,还是要谨慎小心。选择自主研发还是用现有的第三方产品要慎重。(把libevent看懂了,就能做自主研发,但是要开发出一个稳定版本的,需要一段时间,开发出来后放到线上,会踩到很多坑,个人经验值,没有在线上跑2年时间的产品,不要用。曾今我们自己研发的,跑了差不多3年,直到12年,才稳定下来,之前bug不断)
#安装db【本文来自鸿网互联 (http://www.68idc.cn)】proxy 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 dbproxy_longxibendi_w@192.168.0.220 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平台 相关团队

GoogleDocs在学校和工作环境中变得很流行,因为它提供了文字处理器所期望的所有功能。使用Google文档,您可以创建文档、简历和项目提案,还可以与世界各地的其他用户同时工作。您可能会注意到GoogleDocs不包括MicrosoftWord附带的所有功能,但它提供了自定义文档的能力。使用正确的字体可以改变文档的外观并使其具有吸引力。GoogleDocs提供了大量字体,您可以根据自己的喜好从中选择任何人。如果您希望将自定义字体添加到Google文档,请继续阅读本文。在本文中

在使用C++进行编程时,经常会遇到未声明的标识符这个问题。这种情况通常发生在使用了未定义的变量、函数或类时,导致编译器无法识别这些标识符,进而产生编译错误。本文将介绍导致未声明的标识符问题的常见原因以及如何解决这个问题。常见原因未声明的标识符问题通常由以下几种原因导致:变量、函数或类未被正确声明:在使用变量、函数或类之前,应该先声明它们。如果变量未被声明或函

Java是一种非常流行的编程语言,广泛应用于开发各种类型的软件。在Java开发中,编译和反编译技术是非常重要的环节。编译技术用于将Java代码转换成可执行文件,而反编译技术则允许人们将可执行文件重新转换回Java代码。本文将介绍Java中的编译和反编译技术。一、编译技术编译是将高级语言(如Java)代码转换为机器语言的过程。在Java

近年来,Go语言已经成为了越来越多开发者的选择。但是,相比其他编程语言而言,Go语言的编译速度却不够快。很多开发者在编译Go程序时都会遇到这样的问题:为什么我的Go程序需要更长时间来编译?本文将会从几个方面探讨这个问题。Go语言的编译器架构Go语言的编译器架构采用的是三阶段设计,分别是前端、中间层和后端。前端负责将源代码翻译成Go语言的中间代码,中间层则将中

原因:1、Linux发型版本众多,但是每个版本采用的软件或者内核版本都不一样,而二进制包所依赖的环境不一定能够正常运行,所以大部分软件直接提供源码进行编译安装。2、方便定制,满足不同的需求。3、方便运维、开发人员维护;源码是可以打包二进制的,但是对于这个软件的打包都会有一份代价不小的额外工作,包括维护,所以如果是源码的话,软件产商会直接维护。

<p><strong>HaloInfinite(Campaign)</strong>是一款第一人称射击视频游戏,于2021年11月推出,可供单人和多用户使用。该游戏是Halo系列的延续,适用于Windows、XboxOne和Xbox系列的用户X|S。最近,它还在PC版XboxGamePass上发布,以提高其可访问性。大量玩家报告在尝试使用WindowsPC上的<strong>Xbox应

C++编译错误:函数参数列表太长,应该怎么解决?在使用C++编写程序时,有时候会遇到这样的编译错误:函数参数列表太长。对于C++初学者来说,这可能是一个很头疼的问题。接下来,我们将介绍这个问题的原因和解决方法。首先,让我们来看一下C++函数参数的基本规定。在C++中,函数参数必须在函数名和左括号之间声明。当你传递函数参数时,告诉函数要做什么。这些参数可以是任

我们深知MicrosoftWindows11是一个功能齐全且设计吸引人的操作系统。但是,用户一直要求Windows11Lite版本。尽管它提供了重大改进,但Windows11是一个资源匮乏的操作系统,它可能很快就会使旧机器混乱到无法顺利运行的地步。本文将解决您最常问的关于是否有Windows11Lite版本以及是否可以安全下载的问题。跟着!有Windows11Lite版本吗?我们正在谈论的Windows11Lite21H2版本是由Neelkalpa的T


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
