關(guān)于Mysql Proxy LUA實現(xiàn)Mysql讀寫分離
關(guān)于Mysql Proxy LUA讀寫分離是本文要介紹的內(nèi)容,主要是來了解Mysql Proxy LUA的學(xué)習(xí)內(nèi)容,具體內(nèi)容來看本文詳解,先來下載匹配的版本:
- http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/
下載***版的二進(jìn)制版本以mysql-proxy-0.8.0-linux-glibc2.3-x86-32bit為例。www.lua.org 下載lua。
1.通過mysql代理mysql-proxy來實現(xiàn)mysql的讀寫分離。
MySQL Proxy 安裝地址:192.168.0.234(寫,也可將mysql-proxy安裝在第三臺服務(wù)器上)
MySQL 服務(wù)器地址:192.168.0.235(讀)
2.安裝mysql-proxy
- apt-get install mysql-proxy
這樣安裝好之后在/usr/lib/mysql-proxy/lua/proxy/里面是沒有rw-splitting.lua文件的,將下載導(dǎo)的lua二進(jìn)制版本里面share/doc/mysql-proxy/下面的rw-splitting.lua這個文件拷貝到/usr/lib/mysql-proxy/lua/proxy/
3.啟動mysql-proxy
若不存在則創(chuàng)建mysql-proxy日志目錄 mkdir /var/log/mysql-proxy/
啟動mysql-proxy命令:
- mysql-proxy --proxy-read-only-backend-addresses=192.168.0.235:3306
- --proxy-backend-addresses=192.168.0.234:3306
- --proxy-lua-script=/usr/lib/mysql-proxy/lua/proxy/rw-splitting.lua > /var/log/mysql-proxy/mysql-proxy.log &
啟動狀態(tài):
- root@ubuntu:~# mysql-proxy --proxy-read-only-backend-addresses=192.168.0.235:3306
- --proxy-backend-addresses=192.168.0.234:3306
- --proxy-lua-script=/usr/lib/mysql-proxy/lua/proxy/rw-splitting.lua > /var/log/mysql-proxy/mysql-proxy.log &
- [1] 1584
- root@ubuntu:~# 2010- 03-11 01:53:36: (warning) g_set_prgname() called multiple times
- 2010-03-11 01:53:36: (critical) chassis.c:980: could not raise RLIMIT_NOFILE to 8192,
- Invalid argument (22). Current limit still 13214421558589654016.
然后查看端口,mysql-proxy默認(rèn)端口是4040和4041
- lsof -i:4040
- root@ubuntu:~# lsof -i:4040
- COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
- mysql-pro 1584 root 7u IPv4 6018 0t0 TCP *:4040 (LISTEN)
這樣就表示mysql-proxy已經(jīng)啟動成功。
亂碼處理在配置文件my.conf里server-id下面加入
- skip-character-set-client-handshake
- init-connect='SET NAMES utf8'
- default-character-set=utf8
小結(jié):關(guān)于Mysql Proxy LUA實現(xiàn)Mysql讀寫分離的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助!