mysql主从读写分离简介及搭建,仆人级教程,弄不成打我。

目录

前言:

一,mysql读写分离

1,基本原理

MySQL读写分离基本原理是让master数据库处理写操作,slave数据库处理读操作。master将写操作的变更同步到各个slave节点。2,优点

3,引入amoeba

二,mysql读写分离搭建

1,环境:

2,安装jdk

3,测试jdk

4,安装amoeba

5,配置amoeba

6,启动

7,测试


前言:

继本专栏上一篇博文mysql主从备份之后的读写分离,实验过程中请先保证主从复制已成功完成。

一,mysql读写分离

1,基本原理

MySQL读写分离基本原理是让master数据库处理写操作,slave数据库处理读操作。master将写操
作的变更同步到各个slave节点。
2,优点

进一步提高读写性能,增加冗余,提高可用性,主从只负责各自的读写,节约开销,slave可以单独设置一些参数来提升其读的性能

3,引入amoeba

mysql是通过amoeba(变形虫)实现读写分离的,amoeba对客户端透明,具有负载均衡,高可用性,读写分离,可并发操作。

二,mysql读写分离搭建

1,环境:

主从复制是两台主机,而读写分离需要新增加一台服务器作为主从服务器的代理服务器,也就是再加一台服务器,一共三台服务器,安装mysql

第三台代理服务器同样也需要安装mysql服务,请参照Mysql主从备份数据库服务器搭建

2,安装jdk

上传

mysql主从读写分离简介及搭建,仆人级教程,弄不成打我。_第1张图片

解码

rpm -ivh jdk-8u181-linux-x64.rpm

mysql主从读写分离简介及搭建,仆人级教程,弄不成打我。_第2张图片

配置环境变量

vi /etc/profile

在末尾添加如下

export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64

export PATH=$PATH:$JAVA_HOME/bin

3,测试jdk

加载环境变量

source /etc/profile
java -version

如图所示成功

mysql主从读写分离简介及搭建,仆人级教程,弄不成打我。_第3张图片

4,安装amoeba

上传

mysql主从读写分离简介及搭建,仆人级教程,弄不成打我。_第4张图片

解压

下载解压工具

yum -y install unzip

mysql主从读写分离简介及搭建,仆人级教程,弄不成打我。_第5张图片

unzip unzip amoeba-mysql-3.0.5-RC-distribution.zip

mysql主从读写分离简介及搭建,仆人级教程,弄不成打我。_第6张图片

5,配置amoeba

修改配置文件

cd /root/amoeba-mysql-3.0.5-RC/conf/
vi dbServers.xml










                



        

                

                        ${defaultManager}

                        64

                        128



                        

                        3306



                        

                        jpz



                        

                        root



                        000000

                



                

                        500

                        500

                        1

                        600000

                        600000

                        true

                        true

                        true

                

        



        

                

                        

                        192.168.100.140

                

        



        

                

                        

                        192.168.100.150

                

        



        

                

                        

                        1



                        

                        slave

                

        



保存退出

vi amoeba.xml










        



                

                

                        

                        8066



                        

                        



                        

                                

                                        128

                                        64

                                

                        



                        

                                



                                        root



                                        000000



                                        

                                                

                                                        ${amoeba.home}/conf/access_list.conf

                                                

                                        

                                

                        



                



                



                        

                        128



                        

                        500



                        

                        utf8



                        

                        60

                



        



        

        

                

                        com.meidusa.toolkit.net.AuthingableConnectionManager

                

        



                

        

                ${amoeba.home}/conf/dbServers.xml

        



        

                

                        

                                ${amoeba.home}/conf/rule.xml

                                ${amoeba.home}/conf/ruleFunctionMap.xml

                        

                

                ${amoeba.home}/conf/functionMap.xml

                1500

                master





                master

                slave



                true

        

保存退出 

cd ..

vi jvm.properties
JVM_OPTIONS="-server -Xms1024m -Xmx1024m -Xss512k -XX:PermSize=16m -XX:MaxPermSize=96m"

6,启动

/root/amoeba-mysql-3.0.5-RC/bin/launcher

mysql主从读写分离简介及搭建,仆人级教程,弄不成打我。_第7张图片

在mysql从服务器上开启3306端口

firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

7,测试

-测试的sql --在安装amoeba的服务器上登录mysql

mysql -h192.168.150.30 -uroot -p123456 -P8066

--分别在master、slave、amoeba上登录mysql

use zq
select * from user;

mysql主从读写分离简介及搭建,仆人级教程,弄不成打我。_第8张图片

--在amoeba上插入数据 insert into user values(2,2);

--在master和slave上分别查看表中的数据

use jpz

select * from user;

mysql主从读写分离简介及搭建,仆人级教程,弄不成打我。_第9张图片 mysql主从读写分离简介及搭建,仆人级教程,弄不成打我。_第10张图片

--将master上的mysql服务停止,继续插入数据会发现插入不成功,但是能够查询

master:

systemctl stop mysqld

amoeba:

insert into user values(3,3);

--将master上的msyql服务开启,停止slave上的mysql,发现插入成功,但是不能够查询

master:

systemctl start mysqld

slave:

systemctl stop mysqld

amoeba:

insert into user values(3,3);

select * from user;

mysql主从读写分离简介及搭建,仆人级教程,弄不成打我。_第11张图片

你可能感兴趣的:(云服务,mysql)