日常唠叨
上两篇博客我配置了mysql多实例(相当于有两台mysql服务器,虽然都在本机……..)
还配置了mysql 的主从复制,也就是说具备了配置mysql读写分离的条件。
博客链接
这两篇是我写的,是配置基于mycat的mysql读写分离的基础
ubuntu下配置mysql启动多实例
ubuntu下配置mysql主从复制
为什么要配置数据库读写分离
下面说说我自己的理解
当读操作很频繁,而此时的写操作显得很闲置时,比如用户的登录和个人信息查看,这些在日常是频繁的(读操作),然而用户的注册或者更改信息(写操作),这些相对于读操作,就显得不那么频繁了。假设有5台mysql数据库服务器,它们读写是不分离的,每台服务器都可以读和写,这显然对于读操作来说很不公平,这就好比男女厕所,女厕所老是需要排队,女厕所数量和男的一样,这明显设计不行。所以读操作应该享受更多的资源,比如独享整台服务器,所以我们分配一台服务器给写操作,4台服务器给读操作。分家的另外一个好处是,读写都有各自的生存空间,不会排挤,我们也可以根据服务器性质进行相应的性能提升配置。
我的环境
系统:
ubuntu 12.04.5
数据库
mysql 5.5.4
端口1:3306(模拟主数据库服务器)
端口2:3302(模拟从数据库服务器)
数据库说明:我是在一台mysql开两个实例,所以我的ip都是配置127.0.0.1
mycat
mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
一些说明
mycat中有逻辑库和数据节点两个概念
我的理解是数据节点对应就是我们的在mysql中真实存在的数据库,而逻辑库则用来统筹这些数据节点
配置需要用到得两个配置文件
schema.xml
server.xml
log4j2.xml
上面两个配置文件夹都