Rdis整合MySQL主从集群
、用Dockr搭建MySQL主从集群.拉取mysql镜像.创建配置文件夹.编写主服务器的配置文件信息.4启动mysql主服务器的容器.5观察主服务器状态.6配置mysql从服务器.7启动mysql从服务器.8确认主从关系、准备数据.创建数据库.创建studnt数据表.向studnt表插入几条数据、用Java代码读写MySQL集群和Rdis.引入dis和mysql依赖.代码整合4、MySQL主从集群整合Rdis主从集群4.搭建Rdis主从复制集群4..创建dis-mastr容器4..创建sis-slav容器4..查看dis服务器的ip4..4主从配置4.、代码整合
Rdis作为承担缓存作用的数据库,一般会应用在高并发的场景里,而在这些高并发应用场景的数据库层面还会用到其他数据库的组件或集群以提升性能,比如用MySQL主从集群实现读写分离效果、用MyCAT组件实现分库分表的功能。另外,Rdis本身会以集群的形式对外提供缓存服务。
、用Dockr搭建MySQL主从集群
这里用Dockr容器搭建如下图所示的MySQL主从集群。
在主MySQL服务器里操作的动作会自动同步到从nysql服务器,比如在主服务器里发起的“建数据库”“通过insrt语句插入数据”和“通过dlt语句删除数据”的动作都会同步到从服务器,并且这些操作都会在从服务器上被执行。通过这种同步的动作能确保主从数据库间的数据一致性。在项目里,一般是向“主服务器”里写数据,从“从服务器”里读数据,用这种“读写分离”的操作方式提升数据库性能。具体搭建的步骤如下:
.拉取mysql镜像
开启一个命令窗口,在其中运行dockrpullmysql:latst,下载最新的mysql镜像。下载完成后,通过dockrimagsmysql能看到如下图所示的镜像i信息。
.创建配置文件夹
新建/root/disconf/mastrMySQL/conf和/root/disconf/mastrMySQL/data两个目录,在其中将会保存主mysql服务器的配置信息和数据。同时新建/root/disconf/slavMySQL/conf和/root/disconf/slavMySQL/data两个目录,在其中将会保存从MySQL服务器的配置信息和数据。当然,目录可自行更改。
.编写主服务器的配置文件信息
在/root/disconf/mastrMySQL/conf目录里新建一个my.cnf文件,在其中编写针对主mysql服务器的配置信息,主mysql服务器在启动时会读取其中的配置,具体代码如下所示:
[mysqld]pid-fil=/var/run/mysqld/mysqld.pidsockt=/var/run/mysqld/mysqld.sockdatadir=/var/lib/mysqlsrvr-id=log-bin=mysql-mastr-bin
第二行到第四行给出了MYSQL运行时的参数,在第五行里定义了该服务器的id(这个id需要和之后编写的从MySQL服务器的srvr-id不一样,否则会出错),在第6行里制定了二进制文件的名字(为了搭建主从集群,建议加上这行配置)
.4启动mysql主服务器的容器
dockrrun-itd--privilgd=tru-p06:06\--nammyMastrMysql-MYSQL_ROOT_PASSWORD=\-v/root/disconf/mastrMySQL/conf:/tc/mysql/conf.d\-v/root/disconf/mastrMySQL/data:/var/lib/mysqlmysql:latst
-p06:06参数指定Dockr容器里MySQL的工作端口06映射到主机的06端口-itd参数指定该容器以后台交互模式的方式启动--nam参数指定该容器的名字通过-MYSQL_ROOT_PASSWORD=参数指定该容器运行时的环境变量,具体到这个场景,配置以用户名root登录到MySQL服务器时所用到的密码.两个-v参数指定外部主机和Dockr容器间映射的目录。由于在第三步把MySQL启动时需要加载的my.cnf文件放在了/root/disconf/mastrMySQL/conf目录里,因此这里需要把/root/disconf/mastrMySQL/conf目录映射成容器内部MYSQL服务器的相关路径。通过mysql:latst参数指定该容器是基于这个镜像生成的。
查看启动的容器:dockrps由此能确认myMastrMysql启动成功。查看该Dockr容器的IP