读写分离是在主从复制的基础上实现的
一:安装MyCat
MyCat下载完解压就能用,但是我们需要进行我们的配置
下载地址 http://dl.mycat.io
下载完成上传并解压就ok了
如果启动失败的的话可以查看logs/wrapper.log文件里的错误信息,百度一搜就可以解决了
我的MyCat安装在mysql主机上ip地址为192.168.118.4
二:配置MyCat
主要配置两个文件
servvice.xml里的东西备份之后,替换成下面的
<mycat:server xmlns:mycat="http://io.mycat/">
<!-- 添加user -->
<user name="mycat_master" defaultAccount="true">
<property name="password">mycat_master</property>
<property name="schemas">hehe</property>
</user>
<!-- 添加user -->
<user name="mycat_slave">
<property name="password">mycat_slave</property>
<property name="schemas">hehe</property>
<property name="readOnly">true</property>
</user>
</mycat:server>
schema.xml里的东西备份之后,替换成下面的
<mycat:schema xmlns:mycat="http://io.mycat/">
<!--name 逻辑库名称 checkSQLschema忽略表前的数据名称-->
<schema name="hehe" checkSQLschema="true" sqlMaxLimit="100" >
<!--name 表的名称 primaryKey主键 dataNode来自哪个数据库(并非真实数据库名称)-->
<table name="t_users" primaryKey="user_id" dataNode="dn1"/>
<table name="t_message" type="global" primaryKey="messages_id" dataNode="dn1" />
</schema>
<!--一个dataNode代表一个数据库-->
<dataNode name="dn1" dataHost="jdbchost" database="weibo_simple" />
<dataHost name="jdbchost" maxCon="1000" minCon="10" balance="3"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!--主从机配置-->
<writeHost host="hostMaster" url="192.168.118.4:3306" user="root" password="root"/>
<writeHost host="hostSlave" url="192.168.118.5:3306" user="root" password="root"/>
</dataHost>
</mycat:schema>
修改为启动mycat,位于安装路径的/bin目录下
./mycat start #启动 ./mycat stop #停止 ./mycat restart #重启
使用连接工具进行连接主机


使用连接工具进行连接从机

执行添加语句,报错

来源:https://www.cnblogs.com/yjc1605961523/p/12345283.html