ubuntu 下基于mycat的mysql读写分离配置
2017-12-05 16:17
609 查看
日常唠叨
上两篇博客我配置了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
上面两个配置文件夹都在mycat的安装目录的conf目录中可以找到
配置server.xml
我的server.xml路径 /usr/local/mycat/mycat/conf 打开server.xml vim /usr/local/mycat/mycat/conf/server.xml server.xml配置 ------------ <user name="hjr" > <property name="password">123456</property> <property name="schemas">info_schema</property> </user>
配置说明:删除server.xml中原本的user属性,都是例子来的,删除掉配上自己的就行了
属性:schemas:自己配逻辑库的名字,接下来schema.xml配置可以用
schema.xml
如图是我的schema.xml配置文件<?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://io.mycat/"> <!-- 定义Mycat的逻辑库 --> <schema name="info_schema" checkSQLschema="false" sqlMaxLimit="100" dataNode="infoNode"> </schema> <!--定义Mycat的数据节点 --> <dataNode name="infoNode" dataHost="infoHost" database="info"/> <dataHost name="infoHost" maxCon="500" minCon="20" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <!-- 心跳检测 --> <heartbeat>select user()</heartbeat> <!--配置后台数据库的ip地址和端口号,还有账号密码--> <writeHost host="hostMaster" url="127.0.0.1:3306" user="hjr" password="123456"> <readHost host="hostSlave" url="127.0.0.1:3302" user="hjr" password="123456"/> </writeHost> </dataHost> </mycat:schema>
配置说明:
4000
<dataNode> 对应我们的在mysql中需要配置读写分离的数据库 <writeHost> 和<readHost> 配置写服务器和读服务器 url:服务器的ip地址和端口 user:服务器上mysql的用户名 password:服务器上mysql的用户密码 心跳检测,方便我们查看读写分离情况
log4j2.xml配置
文件在mycat安装目录下的logs目录里面我这里是
/usr/local/mycat/mycat/logs
配置说明
就修改一个属性,将它的日志级别修改为debug,方便我们检测读写分离
如图,将level属性改为debug即可
最后几步
启动mycat在mycat的安装目录下面
./mycat start
在mysql中登录mycat
mysql -u hjr -h127.0.0.1 -P8066 -p123456
登录说明
-h mycat服务器的ip
-u mycat用户名
-p mycat用户密码
注意-P8066,P是大写,后面接mycat的启动端口,默认是8066,如果你没改的话
验收配置
查看mycat日志cd /usr/local/mycat/mycat/logs/mycat.log tail -f mycat.log
如图
如图可以看到我们刚才配置的读写分离服务器,3306是写服务器,3302是读服务器
测试数据
在mysql中登录mycat,然后插入一条数据
如图插入成功,插入到写服务器,3306实例刚才配置的是写服务器
查询一条数据
查询成功,3302配置的是读服务器,这里查询节点显示时从3302实例进行读操作
至此,ubuntu 下基于mycat的mysql读写分离配置完毕
相关文章推荐
- 基于MYCAT的MYSQL主从与读写分离配置详解与示例
- 基于MYCAT的MYSQL主从与读写分离配置
- 基于MYCAT的MYSQL主从与读写分离配置详解与示例
- 基于数据库中间件Mycat的MySQL主从与读写分离配置详解与示例
- 基于MySQL-Proxy的读写分离配置
- 基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
- 【备忘】基于MyCat的MySQL高可用读写分离集群实战课程下载
- 利用mycat实现基于mysql5.5主从复制的读写分离
- 基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
- 用mycat做读写分离:基于 MySQL主从复制
- linux 安装mysql和主从配置 + Spring 基于注解配置mysql读写分离
- 基于linux 的mysql的主从同步配置读写分离
- mysql基于amoeba配置读写分离
- springmvc配置mysql数据库读写分离(基于注解aop)加上(搭建mysql主从同步)
- mysql主从配置以及基于amoeba实现读写分离
- 用mycat做读写分离:基于 MySQL主从复制
- 基于MyCAT实现MySQL读写分离
- 利用mycat实现基于mysql5.5主从复制的读写分离
- mycat配置mysql简单的读写分离
- 用mycat做读写分离:基于 MySQL主从复制