mysql主从利用proxy实现读写分离

编译安装代理服务

安装依赖
yum update -y nss curl libcurl
yum group install "Development tools"
yum install gcc make libcurl-devel openssl-devel gmp-devel tar libffi-devel gettext-devel -y
yum install -y tcpdump net-tools jemalloc-devel libevent-devel glib2-devel lua-devel lua mysql-devel git
#yum install glib2
#yum install jemalloc

cd /opt && git clone https://github.com/Qihoo360/Atlas
cd Atlas

需要先修改源代码
vim /opt/Atlas/src/network-conn-pool-lua.c
220行:char tmp[] = {to_write - 4, 0, 0, 1, 0x85这行代码
将0x85修改成0x87之后,保存退出

./bootstrap.sh
make clean
make && make install

配置项添加或变更这几项:
daemon=true
event-threads=2
charset=utf8mb4
sql-log=ON
max_conn_for_a_backend=0
wait-timeout=60

编辑配置文件vi /usr/local/mysql-proxy/conf/config.cnf

[mysql-proxy]
admin-username=admin ###管理接口的用户名
admin-password=admin123 ###管理接口的密码
#admin-lua-script=/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua
log-level=debug ####日志级别
log-path=./log #####日志路径
#plugin-dir=./lib
event-threads=2 ##工作线程数,对Atlas的性能有很大影响,可根据情况适当设置
instance=config ####配置文件的名字
proxy-address=0.0.0.0:1234 #Atlas监听的工作接口IP和端口
admin-address=0.0.0.0:2345 #Atlas监听的管理接口IP和端口

####Atlas后端连接的MySQL主库的IP和端口,可设置多项,用逗号分隔
proxy-backend-addresses=192.168.50.199:3306

###Atlas后端连接的MySQL从库的IP和端口,@后面的数字代表权重,用来作负载均衡,若省略则默认为1,可设置多项,用逗号分隔
proxy-read-only-backend-addresses=192.168.0.206:3306

###用户名与其对应的加密过的MySQL密码,密码使用PREFIX/bin目录下的加密程序encrypt加密,下行的user1和user2为示例,将其替换为你的MySQL的用户名和加密密码!
pwds=saybot:Ze2h****

daemon=true #####设置Atlas的运行方式,设为true时为守护进程方式,设为false时为前台方式,一般开发调试时设为false,线上运行时设为true,true后面不能有空格
keepalive=true ####设置Atlas的运行方式,设为true时Atlas会启动两个进程,一个为monitor,一个为worker,monitor在worker意外退出后会自动将其重启,设为false时只有worker,没有monitor,一般开发调试时设为false,线上运行时设为true,true后面不能有空格。

charset=utf8mb4 ###默认字符集
sql-log=ON ###########日志开关,
max_conn_for_a_backend=0
wait-timeout=60

配置完成后启动服务
cd /usr/local/mysql-proxy/bin/ ####进入启动文件目录
./mysql-proxyd config start ####启动服务

主从后续会追加。。。。。。。

参考文章
https://www.cnblogs.com/yyhh/p/5084844.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章