解析MySQL Proxy Lua安裝配置

來源:互聯網
上載者:User

MySQL Proxy Lua安裝配置是本文要介紹的內容,關於MySQL Proxy的二進位版本的安裝相對簡單,無需多言,下面介紹的是原始碼安裝:

安裝pkg-config:

 
  1. tar zxvf pkg-config-0.23.tar.gz  
  2. cd pkg-config-0.23  
  3. ./configure  
  4. make  
  5. make install 

確保PKG_CONFIG_PATH環境變數包含了相關的pkg-config設定檔路徑:

 
  1. export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 

安裝libevent:

 
  1. tar zxvf libevent-1.4.10-stable.tar.gz  
  2. cd libevent-1.4.10-stable  
  3. ./configure  
  4. make  
  5. make install 

安裝glib:

 
  1. tar zxvf glib-2.20.0.tar.gz  
  2. cd glib-2.20.0  
  3. ./configure  
  4. make  
  5. make install 

安裝lua:

 
  1. tar zxvf lua-5.1.4.tar.gz  
  2. cd lua-5.1.4 

如果你的伺服器是64位的,這時要調整一下Makefile:vi src/Makefile,在CFLAGS裡加上-fPIC,否則會出錯:

 
  1. /usr/bin/ld: /usr/local/lib/liblua.a(lapi.o):  
  2. relocation R_X86_64_32 against `luaO_nilobject_' can not be used when making a shared object;  
  3. recompile with -fPIC  
  4. /usr/local/lib/liblua.a: could not read symbols: Bad value 

接下來不用執行常見的configure,直接make:

 
  1. make linux  
  2. make install 

安裝pkg-config設定檔,以便編譯MySQL Proxy時能找到lua:

 
  1. cp etc/lua.pc /usr/local/lib/pkgconfig/lua5.1.pc 

如果沒有執行此步驟的話,在後面編譯安裝MySQL Proxy的時候,會得到類似下面的錯誤資訊:

 
  1. Package lua5.1 was not found in the pkg-config search path.  
  2. Perhaps you should add the directory containing `lua5.1.pc'  
  3. to the PKG_CONFIG_PATH environment variable  
  4. No package 'lua5.1' found 

安裝mysql:

這裡介紹的是完整安裝mysql,其實你只要安裝mysql開發包即可。

 
  1. tar zxvf mysql-5.1.33.tar.gz  
  2. cd tar zxvf mysql-5.1.33  
  3. ./configure  
  4. make  
  5. make install  
  6. cp support-files/mysql.server /etc/init.d/mysql  
  7. chown +x /etc/init.d/mysql  
  8. cp support-files/my-[small|medium|large|huge|innodb-heavy-4G].cnf /etc/my.cnf 

如果my.cnf裡有skip-federated選項,就注釋它,否則安裝資料庫的時候會出現類似下面的錯誤:

 
  1. [ERROR] /usr/local/libexec/mysqld: unknown option '--skip-federated'  
  2.  
  3. /usr/local/bin/mysql_install_db --user=mysql 
  4. /usr/local/bin/mysqld_safe --user=mysql & 

保證系統能找到mysql_config,後面編譯MySQL Proxy會用到它:

 
  1. export PATH=$PATH:/usr/local/bin 

還要保證系統能找到mysql庫檔案:

vi /etc/ld.so.conf 加入/usr/local/lib目錄

執行:/sbin/ldconfig /etc/ld.so.conf

安裝MySQL Proxy:

 
  1. tar zxvf MySQL Proxy-0.7.0.tar.gz  
  2. cd MySQL Proxy-0.7.0  
  3. ./configure  
  4. make  
  5. make install 

按照官方介紹做好啟動指令碼/etc/init.d/MySQL Proxy和參數指令碼/etc/sysconfig/MySQL Proxy,並設定:

 
  1. chmod +x /etc/init.d/MySQL Proxy  
  2. chkconfig --add MySQL Proxy 

搞定了,測試一下:/usr/local/sbin/MySQL Proxy -V。官方論壇裡有很多討論,可以參閱。

注意:你的作業系統式32位還是64位

我在32位伺服器上使用MySQL Proxy,感覺非常不穩定,時不時出錯:

 
  1. Lost connection to server during query,MySQL server has gone away 

此時,MySQL Proxy進程往往會掛掉,同時也會報類似下面的錯誤:

 
  1. network-mysqld-proxy.c.3318: COM_(0x03), packet 4 should not be (NULL|EOF), got: fffffffe 

換到64位伺服器後,穩定性大大提高。所以如果想在產品環境上使用MySQL Proxy,強烈建議使用64位。

至於MySQL Proxy版本的選擇,最好各個版本的MySQL Proxy都裝上試試看,不一定是版本越高越穩定。如果把MySQL Proxy用於讀寫分離目的的話,以我自己的測試結果來看,目前最穩定的版本是64位伺服器下的0.6.X版本和0.7.X比較),當然,這個結論不一定適用於你,最好自己實際動手測試看看。

補充:官方網站好像只保留MySQL Proxy的最新版本,如果需要曆史版本的話,可以去下載。

小結:關於解析MySQL Proxy Lua安裝配置的內容介紹完了,希望通過本文的學習能對你有所協助!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.