阿里大神都在用的MySQL读写分离

1、简介当今MySQL使用相当广泛,随着用户的增多以及数据量的增大,高并发随之而来 。然而我们有很多办法可以缓解数据库的压力 。分布式数据库、负载均衡、读写分离、增加缓存服务器等等 。这里我们将采用读写分离技术进展缓解数据库的压力 。
其中实现读写分离的技术有很多方法,这里我们将采用mysql-proxy这个中间软件来实现 。这个软件中含有一个读写分离的lua文件,这也是我们使用mysql-proxy实现读写分离必用的文件,它需要lua解析器进行解析 。因此我们还需要安装一个lua解析器
2、基本环境三台linux虚拟主机
Linux版本centos6.6、MySQL 5.5
mysql-proxy-0.8.5
lua-5.1.4
ip:192.168.95.11(写)、192.168.95.12(读)、192.168.95.13(mysql-proxy)
3、配置主从复制mysql主从复制与主主复制
粗略介绍一下数据库的主从复制的配置:
第一步:
在192.168.95.11中创建一个192.168.95.12主机中可以登录的MySQL用户
用户:mysql12
密码:mysql12
mysql>GRANT REPLICATION SLAVE ON *.* TO ‘mysql12’@’192.168.95.12’ IDENTIFIED BY ‘mysql12’;mysql>FLUSH PRIVILEGES;第二步:
查看192.168.95.11MySQL服务器二进制文件名与位置
mysql>SHOW MASTER STATUS;

阿里大神都在用的MySQL读写分离

文章插图
 
第三步:
告知二进制文件名与位置
在192.168.95.12中执行:
mysql> change master to-> master_host='192.168.95.11',-> master_user='mysql12',->master_password='mysql12',->master_log_file='mysql-bin.000124',-> master_log_pos=586;第四步:
在192.168.95.12中
mysql>SLAVE START; #开启复制
mysql>SHOW SLAVE STATUSG #查看主从复制是否配置成功
阿里大神都在用的MySQL读写分离

文章插图
 
主从复制配置成功!
(注意:上面Relicate_Do_DB:aa表示主从复制只针对数据库aa【这是我之前设置的就没改了】,这里就不讲这个了,要想去了解学医这个的话可以参考文章http://www.cnblogs.com/phpstudy2015-6/p/6485819.html#_label7)
4、MySQL读写分离配置百度云下载:链接:https://pan.baidu.com/s/1FBW-76Ew-fOfNb0fW878ZQ 密码:?
4.1、安装lua官网下载:http://www.lua.org/download.html
Lua 是一个小巧的脚本语言 。Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行 。
一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的 。这一切都决定了Lua是作为嵌入式脚本的最佳选择 。
1)、安装lua需要依赖很多软件包 。
可以通过rpm -qa | grep name检查以下软件是否安装:
gcc*、gcc-c++*、autoconf*、automake*、zlib*、libxml*、ncurses-devel*、libmcrypt*、libtool*、flex*、pkgconfig*、libevent*、glib*
若缺少相关的软件包,可通过yum -y install方式在线安装,或直接从系统安装光盘中找到并通过rpm -ivh方式安装 。(我的话一般是直接在系统光盘软件库中找到直接rpm安装的,有些找不到,则先在网上下载然后在ftp传给linux再进行安装)
2)、依赖软件安装完毕后则进行编译安装lua
MySQL-Proxy的读写分离主要是通过rw-splitting.lua脚本实现的,因此需要安装lua 。
官网下载:http://www.lua.org/download.html(下载源码包)
# wget http://www.lua.org/ftp/lua-5.1.4.tar.gz# tar zxvf lua-5.1.4.tar.gz # cd lua-5.1.4# make linux# make install# export LUA_CFLAGS="-I/usr/local/include" LUA_LIBS="-L/usr/local/lib -llua -ldl" LDFLAGS="-lm" (我安装的时候是直接在光盘软件库中找到,直接rpm安装)4.2、安装mysql-proxy1)、首先查看linux版本确认是32位还是64为系统
查看linux内核版本
# cat /etc/issue
查看linux版本
# cat /proc/version
2)、按系统位数下载(上面百度云链接64位的文件)
3)、安装
# tar –zxvf mysql-proxy-0.8.5- linux-rhel5-x86-64bit.tar.gz# mkdir /usr/local/mysql-proxy# cp ./ mysql-proxy-0.8.5-linux-rhel5-x86-64bit/* /usr/local/mysql-proxy# cd /usr/local/mysql-proxy
阿里大神都在用的MySQL读写分离

文章插图
 
安装成功
5、MySQL读写分离测试1)、修改rw-splitting.lua文件修改默认连接,进行快速测试,不修改的话要达到连接数为4时才启用读写分离
#cp /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua ./
阿里大神都在用的MySQL读写分离


推荐阅读