MySQL Proxy 小記

來源:互聯網
上載者:User

記錄一下搭建MySQL Proxy的過程:

配置:

共3台Ubuntu伺服器分別為:

MySQL Proxy: 192.168.1.101 (ununtua)

MySQL 1:  192.168.1.104 (ubuntub)

MySQL 2:  192.168.1.103 (ubuntuc)

在ubuntu-a:上安裝MySQL Proxy:

參考官方文檔:http://dev.mysql.com/doc/refman/5.1/en/mysql-proxy-install-binary.html

安裝lua

ununtua@ununtua:~$ sudo apt-get install lua5.1


安裝MySQL Proxy

ununtua@ununtua:/usr/local$ sudo tar zxf mysql-proxy-0.8.1-linux-glibc2.3-x86-32bit.tar.gz
ununtua@ununtua:/usr/local/mysql-proxy-0.8.1-linux-glibc2.3-x86-32bit$ PATH=$PATH:/usr/local/mysql-proxy-0.8.1-linux-glibc2.3-x86-32bit/bin/

在ubuntu-b 和 ubuntu-c上

安裝MySQL配置為可以遠端存取.

分別建立資料庫 database 'rep'

分別建立表:

mysql> desc user;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(30) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+

 

 在ubuntu-b: 

mysql> insert into user(name) values('B');

 

 在ubuntu-c:

 mysql> insert into user(name) values('C');

回到ubuntu-a,啟動mysql-proxy:

ununtua@ununtua:~$ mysql-proxy --proxy-read-only-backend-addresses=192.168.1.104:3306 --proxy-backend-addresses=192.168.1.102:3306 --admin-lua-script=/usr/local/mysql-proxy-0.8.1-linux-glibc2.3-x86-32bit/share/doc/mysql-proxy/rw-splitting.lua --admin-username=root --admin-password='' 

 

在另外一台電腦上串連MySQL Proxy:

操作方式和操作普通的資料庫一樣,只是連接埠號碼不同

localhost:~ admin$ mysql -uroot -p -h 192.168.1.101 -P 4040

mysql> use rep;

Database changed

mysql> select * from user;

多開幾個串連,多進行一些添加和查詢操作,看操作是否被分配到了不同的資料庫上。有的文章說,需要串連足夠多的時候才會真正的做負載平衡,不知道是什麼規則。我在本地操作的過程中,資料庫的操作結果都被實際上是通過proxy-backend-addresses來做的, --proxy-read-only-backend-addresses是被忽略了?為什嗎? 還需要繼續研究一下。

參考文章:

http://blog.csdn.net/yueliangdao0608/article/details/2398655

http://forums.mysql.com/read.php?146,192274,192274#msg-192274

http://jan.kneschke.de/2007/8/1/mysql-proxy-learns-r-w-splitting/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.