代理一般位于客户端和服务器之间,代理服务器接受到客户端的请求后通过判断后转发到后端数据库,有二个代表性程序 ◆MySQL-Proxy。 ----MySQL的开源项目,通过自带的lua脚本进行SQL判断,MySQL官方不建议用这个在生产环境中 ◆Amoeba(变形虫) ----由陈思儒开发,曾就职于阿里巴巴,该程序由Java语言开发,阿里将其用于生产环境 但是它不支持事物和存储过程。
!接着前面的·主从复制的实验继续,只有主从复制能成功实现了,才能进行读写分离的操作。
##配置MySQL读写分离. 20.0.0.19 ##
java -version //java版本 1.8.0_181的 有点高 openjdk version “1.8.0_181” OpenJDK Runtime Environment (build 1.8.0_181-b13) OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
rpm -qa |grep java //把关于java环境的文件过滤出来并且删除
上传JDK到opt目录 cd /opt [root@localhost opt]# tar xzvf jdk-8u144-linux-x64.tar.gz [root@localhost opt]# cp -rv jdk1.8.0_144/ /usr/local/java
[root@localhost opt]# vi /etc/profile //主配置文件 export JAVA_HOME=/usr/local/java export JRE_HOME=/usr/local/java/jre export PATH=$PATH:/usr/local/java/bin export CLASSPATH=./:/usr/local/java/lib:/usr/local/java/jre/lib
source /etc/profile //刷新 java -version //查看版本
yum -y install unzip
[root@localhost opt]# unzip amoeba-mysql-3.0.5-RC-distribution.zip -d /usr/local/ [root@localhost opt]# mv /usr/local/amoeba-mysql-3.0.5-RC/ /usr/local/amoeba [root@localhost opt]# chmod -R 755 /usr/local/amoeba/
[root@localhost opt]#vi /usr/local/amoeba/jvm.properties
cd /opt vi /etc/init.d/amoeba
chmod +x /etc/init.d/amoeba chkconfig --add amoeba
service amoeba start ctrl + c netstat -anpt | grep 8066 //默认监听在8066端口
##登录20.0.0.20终端## [root@localhost ~]# mysql -u root -p ####输入密码abc123 mysql> create database test; Query OK, 1 row affected (0.01 sec) mysql> GRANT ALL ON . TO test@‘20.0.0.%’ IDENTIFIED BY ‘abc123’; mysql> FLUSH PRIVILEGES; mysql> quit
##登录20.0.0.21终端## [root@localhost ~]# mysql -u root -p ####输入密码abc123 mysql> GRANT ALL ON . TO test@‘20.0.0.%’ IDENTIFIED BY ‘abc123’; mysql> FLUSH PRIVILEGES; mysql> quit
##登录20.0.0.22终端## [root@localhost ~]# mysql -u root -p ####输入密码abc123 mysql> GRANT ALL ON . TO test@‘20.0.0.%’ IDENTIFIED BY ‘abc123’; mysql> FLUSH PRIVILEGES; mysql> quit
再回到amoeba 服务器 cd /usr/local/amoeba
[root@localhost amoeba]# vi conf/amoeba.xml
28行:设置客户端连接amoeba前端服务器时使用的用户名和密码 30行:配置用于客户端连接用户名密码
83行去掉注释,同时把默认的server1改成master 85行把默认的servers改为slaves
[root@localhost amoeba]# vi conf/dbServers.xml //进去
[root@localhost amoeba]# service amoeba restart //重启 [root@localhost amoeba]# netstat -anpt | grep java //过滤