解析MySQL Proxy Lua安裝配置
MySQL Proxy Lua安裝配置是本文要介紹的內容,關于MySQL Proxy的二進制版本的安裝相對簡單,無需多言,下面介紹的是源代碼安裝:
安裝pkg-config:
- tar zxvf pkg-config-0.23.tar.gz
- cd pkg-config-0.23
- ./configure
- make
- make install
確保PKG_CONFIG_PATH環境變量包含了相關的pkg-config配置文件路徑:
- export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
安裝libevent:
- tar zxvf libevent-1.4.10-stable.tar.gz
- cd libevent-1.4.10-stable
- ./configure
- make
- make install
安裝glib:
- tar zxvf glib-2.20.0.tar.gz
- cd glib-2.20.0
- ./configure
- make
- make install
安裝lua:
- tar zxvf lua-5.1.4.tar.gz
- cd lua-5.1.4
如果你的服務器是64位的,這時要調整一下Makefile:vi src/Makefile,在CFLAGS里加上-fPIC,否則會出錯:
- /usr/bin/ld: /usr/local/lib/liblua.a(lapi.o):
- relocation R_X86_64_32 against `luaO_nilobject_' can not be used when making a shared object;
- recompile with -fPIC
- /usr/local/lib/liblua.a: could not read symbols: Bad value
接下來不用執行常見的configure,直接make:
- make linux
- make install
安裝pkg-config配置文件,以便編譯MySQL Proxy時能找到lua:
- cp etc/lua.pc /usr/local/lib/pkgconfig/lua5.1.pc
如果沒有執行此步驟的話,在后面編譯安裝MySQL Proxy的時候,會得到類似下面的錯誤信息:
- Package lua5.1 was not found in the pkg-config search path.
- Perhaps you should add the directory containing `lua5.1.pc'
- to the PKG_CONFIG_PATH environment variable
- No package 'lua5.1' found
安裝mysql:
這里介紹的是完整安裝mysql,其實你只要安裝mysql開發包即可。
- tar zxvf mysql-5.1.33.tar.gz
- cd tar zxvf mysql-5.1.33
- ./configure
- make
- make install
- cp support-files/mysql.server /etc/init.d/mysql
- chown +x /etc/init.d/mysql
- cp support-files/my-[small|medium|large|huge|innodb-heavy-4G].cnf /etc/my.cnf
如果my.cnf里有skip-federated選項,就注釋它,否則安裝數據庫的時候會出現類似下面的錯誤:
- [ERROR] /usr/local/libexec/mysqld: unknown option '--skip-federated'
- /usr/local/bin/mysql_install_db --user=mysql
- /usr/local/bin/mysqld_safe --user=mysql &
保證系統能找到mysql_config,后面編譯MySQL Proxy會用到它:
- export PATH=$PATH:/usr/local/bin
還要保證系統能找到mysql庫文件:
vi /etc/ld.so.conf 加入/usr/local/lib目錄
執行:/sbin/ldconfig /etc/ld.so.conf
安裝MySQL Proxy:
- tar zxvf MySQL Proxy-0.7.0.tar.gz
- cd MySQL Proxy-0.7.0
- ./configure
- make
- make install
按照官方介紹做好啟動腳本/etc/init.d/MySQL Proxy和參數腳本/etc/sysconfig/MySQL Proxy,并設置:
- chmod +x /etc/init.d/MySQL Proxy
- chkconfig --add MySQL Proxy
搞定了,測試一下:/usr/local/sbin/MySQL Proxy -V。官方論壇里有很多討論,可以參閱。
注意:你的操作系統式32位還是64位
我在32位服務器上使用MySQL Proxy,感覺非常不穩定,時不時出錯:
- Lost connection to server during query,MySQL server has gone away
此時,MySQL Proxy進程往往會掛掉,同時也會報類似下面的錯誤:
- 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安裝配置的內容介紹完了,希望通過本文的學習能對你有所幫助!