標籤:altas mysql-proxy
Altas software is a upgrade version of mysql-proxy, whose function is the same as mysql-proxy.
Where can you get it ?
Altas 2.2.1
RPM:
https://github.com/Qihoo360/Atlas/releases/download/2.2.1/Atlas-2.2.1.el5.x86_64.rpm
https://github.com/Qihoo360/Atlas/releases/download/2.2.1/Atlas-2.2.1.el6.x86_64.rpm
Source code:
https://github.com/Qihoo360/Atlas/archive/2.2.1.zip
How do you install alts 2.2.1?
For rpm:
rpm -ivh Altas-2.2.1.el6x86_64.rpm
For source code:
./configure --prefix=/usr/local/mysql-proxy
make && make install
How to configure it.
1. Edit altas mysql-proxy configuration file which locates at /usr/local/mysql-proxy/conf
cat test.cnf | grep -v ‘^#‘ | grep -v ‘^$‘ > mysql-proxy.cnf
vim mysql-proxy.cnf[mysql-proxy]#帶#號的為非必需的設定項目#管理介面的使用者名稱admin-username = user#管理介面的密碼admin-password = pwd#Atlas後端串連的MySQL主庫的IP和連接埠,可設定多項,用逗號分隔proxy-backend-addresses = 127.0.0.1:3306#Atlas後端串連的MySQL從庫的IP和連接埠,@後面的數字代表權重,用來作負載平衡,若省略則預設為1,可設定多項,用逗號分隔#proxy-read-only-backend-addresses = 127.0.0.1:[email protected]#使用者名稱與其對應的加密過的MySQL密碼,密碼使用PREFIX/bin目錄下的加密程式encrypt加密,下行的user1和user2為樣本,將其替換為你的MySQL的使用者名稱和加密密碼!pwds = user1:+jKsgB3YAG8=, user2:GS+tr4TPgqc=#設定Atlas的運行方式,設為true時為守護進程方式,設為false時為前台方式,一般開發調試時設為false,線上運行時設為true,true後面不能有空格。daemon = true#設定Atlas的運行方式,設為true時Atlas會啟動兩個進程,一個為monitor,一個為worker,monitor在worker意外退出後會自動將其重啟,設為false時只有worker,沒有monitor,一般開發調試時設為false,線上運行時設為true,true後面不能有空格。keepalive = true#背景工作執行緒數,對Atlas的效能有很大影響,可根據情況適當設定event-threads = 8#記錄層級,分為message、warning、critical、error、debug五個層級log-level = message#日誌存放的路徑log-path = /usr/local/mysql-proxy/log#SQL日誌的開關,可設定為OFF、ON、REALTIME,OFF代表不記錄SQL日誌,ON代表記錄SQL日誌,REALTIME代表記錄SQL日誌且即時寫入磁碟,預設為OFF#sql-log = OFF#慢日誌輸出設定。當設定了該參數時,則日誌只輸出執行時間超過sql-log-slow(單位:ms)的日誌記錄。不設定該參數則輸出全部日誌。#sql-log-slow = 10#執行個體名稱,用於同一台機器上多個Atlas執行個體間的區分#instance = test#Atlas監聽的工作介面IP和連接埠proxy-address = 0.0.0.0:1234#Atlas監聽的管理介面IP和連接埠admin-address = 0.0.0.0:2345#分表設定,此例中person為庫名,mt為表名,id為分表欄位,3為子表數量,可設定多項,以逗號分隔,若不分表則不需要設定該項#tables = person.mt.id.3#預設字元集,設定該項後用戶端不再需要執行SET NAMES語句#charset = utf8#允許串連Atlas的用戶端的IP,可以是精確IP,也可以是IP段,以逗號分隔,若不設定該項則允許所有IP串連,否則只允許清單中的IP串連#client-ips = 127.0.0.1, 192.168.1#Atlas前面掛接的LVS的物理網卡的IP(注意不是虛IP),若有LVS且設定了client-ips則此項必須設定,否則可以不設定#lvs-ips = 192.168.1.1
2. How to start altas mysql-proxy
Execute the command which is "/usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/mysql-proxy.cnf".
3.Configure altas mysql-proxy engine startting shell.
vim /etc/init.d/mysql-proxyd#!/bin/bash## altas mysql-proxy This script starts and stops the mysql-proxy daemon## chkconfig: - 78 30# processname: mysql-proxy# description: altas mysql-proxy is a proxy daemon to mysql# config: /usr/local/mysql-proxy/conf/mysql-proxy.cnf# pidfile: /usr/local/mysql-proxy/mysql-proxy.pid#DAEMON="/usr/local/mysql-proxy/bin/mysql-proxy"CONFIGFILE="/usr/local/mysql-proxy/conf/mysql-proxy.cnf"PIDFILE="/usr/local/mysql-proxy/mysql-proxy.pid"LOCKFILE="/var/lock/subsys/mysql-proxy"PROG=`basename $DAEMON`RETVAL=0start() {echo -n $"Starting ${PROG}......"[ -x $DAEMON ] || exit 5[ -f $CONFIGFILE ] || exit 6${DAEMON} --defaults-file=${CONFIGFILE} || echo -n "${PROG} already running"RETVAL=$?echo[[ $RETVAL -eq 0 ]] && touch $LOCKFILEreturn $RETVAL}stop() {echo -n $"Stopping ${PROG}......"if [[ `ps aux | grep bin/mysql-proxy | grep -v grep | wc -l` -gt 0 ]]; thenkill -TERM `ps -A -oppid,pid,cmd | grep bin/mysql-proxy | grep -v grep | awk ‘{print $2}‘`fiRETVAL=$?echo[[ $RETVAL -eq 0 ]] && rm -f $LOCKFILE $PIDFILEreturn $RETVAL}restart() {stopsleep 1start}case "$1" instart)start;;stop)stop;;restart)restart;;condrestart)[[ -e $LOCKFILE ]] && restart;;*)echo "Usage: $0 {start|stop|restart|condrestart}"RETVAL=1;;esacexit $RETVALchmod u+x /etc/init.d/mysql-proxyd
本文出自 “DBA的天空” 部落格,請務必保留此出處http://kevinora.blog.51cto.com/9406404/1854952
altas mysql-proxy 配置讀寫分離