mysql proxy代理安裝和配置


mysql proxy代理安裝和配置

 

服務器說明:

192.168.1.219   mysql主庫(主從復制)

192.168.1.177   mysql從庫(主從復制)

192.168.1.202   mysql proxy代理(實現讀寫分離)

 

安裝需要的基礎組件,基本系統都可以滿足lua的組件版本要求

安裝lua(確定是否需要安裝)

    yum -y install gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libmc rypt* libtool* flex* 

pkgconfig*

 

Mysql Proxy的安裝

    下載mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz

 

    注:若是你安裝的軟件包是已編譯的,則無需安裝lua

 

    a、解壓安裝

    cd /usr/local/software

    tar -zxvf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz

    cp mysql-proxy-0.8.5-linux-el6-x86-64bit /usr/local/mysql-proxy

 

    b、授權

    chmod -R 775 /usr/local/mysql-proxy

    chown -R mysql:mysql /usr/local/mysql-proxy

 

    c、環境變量的設置

    vim /etc/profile   //打開此文件,在文件尾部加上以下內容

 

    LUA_PATH="/usr/local/mysql-proxy/share/doc/mysql-proxy/?.lua"    // lua環境變量的設置

    export LUA_PATH

    export PATH=$PATH:/usr/local/mysql-proxy/bin     //mysql proxy 環境變量的設置

 

    保存並退出后執行下面命令

    source /etc/profile  // 使變量立即生效

 

    d、修改mysql proxy的讀寫分離腳本的配置

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

    默認最小4個(最大8個)以上的客戶端連接才會實現讀寫分離, 現改為最小1個最大2個,便於讀寫分離的測試

    -- connection pool

    if not proxy.global.config.rwsplit then

            proxy.global.config.rwsplit = {

                    min_idle_connections = 1,  // 改為1

                    max_idle_connections = 2,  // 改為2

 

                    is_debug = false

            }

    end

 

    這是因為mysql-proxy會檢測客戶端連接, 當連接沒有超過min_idle_connections預設值時,

    不會進行讀寫分離, 即查詢操作會發生到Master上.

 

    e、開啟防火牆端口設置

    vim /etc/sysconfig/iptables    //打開防火牆配置文件,加入以下內容

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 4040 -j ACCEPT

    注:mysql-proxy的服務端口默認為4040

 

    f、主庫和從庫給代理服務器創建登錄用戶並授權

    登錄主庫192.168.1.219,給主機192.168.1.202創建登錄用戶並授權

       ssh root@192.168.1.219  // 登錄主數據庫服務器

       mysql -uroot -p321321   // 連接mysql數據庫

       mysql>grant all on *.* to 'test'@'192.168.1.202' identified by '321321';  // 創建登錄用戶並授權

       mysql>flush privileges;   // 刷新MySQL的系統權限相關表

 

    登錄從庫192.168.1.177,給主機192.168.1.202創建登錄用戶並授權,操作步驟和主庫一樣,

    注意:主庫和從庫給代理服務器創建登錄用戶並密碼應該一致

 

    g、啟動mysql-proxy

    vim /usr/local/mysql-proxy/mysql-proxy.sh   // 新建一個shell文件,加入以下內容

 

    #!/bin/sh

    mysql-proxy --daemon --log-level=debug --log-file=/var/log/mysql-proxy.log 

        --plugins=proxy -b 192.168.1.219:3306 -r 192.168.1.177:3306 

        --proxy-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua" --plugins=admin

        --admin-username="test" --admin-password="321321" 

        --admin-lua-script="/usr/local/mysql-proxy/share/doc/mysql-proxy/admin.lua"

 

    保存並退出

    chmod 775 /usr/local/mysql-proxy/mysql-proxy.sh  // 授予執行權限

 

    ./mysql-proxy.sh   // 啟動mysql-proxy

 

 

查看mysql-proxy服務端口

netstat -tupln |grep mysql

 

監控啟動日志

tail -f /var/log/mysql-proxy.log

 

 

測試mysql proxy讀寫分離

    在讀寫分離測試時,需要開啟多個客戶端窗口連接mysql-proxy

    a、打開主庫的mysql 日志

    tail -f /usr/local/mysql/my.log

 

    b、打開從庫的mysql 日志

    tail -f /usr/local/mysql/my.log

 

    c、開啟多個客戶端窗口連接mysql-proxy

    mysql -h192.168.1.202 -P4040 -utest -p321321

 

    插入數據   查詢數據進行測試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM