kuwoyinlehe 2014-07-25
Mysql Scalability(2)Sharding - Thoughts
1. Amoeba
Build Codes and Installation
>svn checkout http://amoeba.googlecode.com/svn/trunk amoeba-svn
Install ant on MAC to build that.
>ant -version
Apache Ant(TM) version 1.9.4 compiled on April 29 2014
Just build it ,we will get the binary file amoeba-mysql-binary-2.2.0.tar.gz
>mkdir amoeba-mysql-binary-2.2.0
>cd amoeba-mysql-binary-2.2.0/
>tar zxvf amoeba-mysql-binary-2.2.0.tar.gz
Move to working directory
>mv amoeba-mysql-binary-2.2.0 /Users/carl/tool/amoeba-mysql-2.2.0
>sudo ln -s /Users/carl/tool/amoeba-mysql-2.2.0 /opt/amoeba-mysql-2.2.0
>sudo ln -s /opt/amoeba-mysql-2.2.0 /opt/amoeba-mysql
Add to Path /opt/amoeba-mysql
Verify the Installation is done.
>amoeba
amoeba start|stop
Configuration Basic
databases connections
conf/dbServers.xml
sharding rule
conf/rule.xml
access IP list
conf/access_list.conf
One DB node
Seems that I only can get the 2.2.0 version of the source codes, and the 2.2.0 binary is having class load problem on jdk1.6. And I do not plan to use 3.0.5 without source codes.
2. vitess
No enough document and source codes to understand that.
3. Atlas
https://github.com/Qihoo360/Atlas
Based on Mysql-Proxy, but do not support multiple DB rules, only support multiple tables.
4. Cobar
Nice code and nice document, but open source part does not support separate reads and writes.
Tips
Show the Slow Query
>sudo vi /etc/mysql/my.cnf
log_slow_queries = /var/log/mysql/mysql-slow.log long_query_time = 5 #log-queries-not-using-indexes
But when I start this mysql server I got error as follow
>sudo mysqld --verbose
2014-07-24 15:59:25 3340 [ERROR] mysqld: unknown variable 'log_slow_queries=/var/log/mysql/mysql-slow.log' 2014-07-24 15:59:25 3340 [ERROR] Aborting
Solution:
This is the right configuration for mysql 5.6
slow-query-log-file = /var/log/mysql/mysql-slow.log long_query_time = 5 #log-queries-not-using-indexes
Change the user and group
>sudo chown mysql:mysql pathname
References:
http://sillycat.iteye.com/blog/2094908 Master-Slave
http://docs.hexnova.com/amoeba/index.html
https://code.google.com/p/amoeba/source/checkout
https://www.centos.bz/2012/05/amoeba-for-mysql/
http://www.aslibra.com/blog/post/amoeba_mysql_proxy_rw_split.php
http://www.cnblogs.com/taven/archive/2012/09/11/2680282.html
http://boke.25k5.com/kan16489.html
https://github.com/vispractice/Amoeba-Plus-For-MySQL
vitess
https://github.com/youtube/vitess
https://code.google.com/p/vitess/
show slow SQL
https://www.centos.bz/2012/01/active-mysql-slow-log-mysqldumpslow/