一、什么是MyCat(官网)
- 开源的面向企业应用开发的大数据库集群;
- 支持事务、ACID、可以替代MySql的加强版数据库
- 可视为MySql集群的企业级数据库,用来替代昂贵的Oracle集群
- 融合内存缓存技术、NoSql技术、HDFS大数据的新型SQL Server
- 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
- 数据库中间件产品
二、安装
1、环境准备
- mysql 5.7
- jdk 1.80
- mycat 1.6.7
2、下载并解压
wget http://dl.mycat.org.cn/1.6.7.4/Mycat-server-1.6.7.4-release/Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz
tar -xf Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz
3、修改环境配置文件
vim /etc/profile
#以下为profile文件的内容
MYCAT_HOME=/usr/local/mycat
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$ZOOK_HOME/bin:$MYCAT_HOME/bin
三、配置
server.xml
<user name="mycat">
<property name="password">123456</property>
<property name="schemas">TESTDB</property>
</user>
schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
</schema>
<dataNode name="dn1" dataHost="host1" database="testdb" />
<dataHost name="host1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="192.168.157.133:3306" user="root"
password="root">
<readHost host="hostS1" url="192.168.157.135:3306" user="root" password="root"/>
</writeHost>
</dataHost>
</mycat:schema>
四、运行
mycat console
五、常见错误
1)、Startup failed: Timed out waiting for a signal from the JVM.
JVM did not exit on request, terminated
解决方案
在wrapper.conf中添加
wrapper.startup.timeout=300 //超时时间300秒
wrapper.ping.timeout=120
2)、Caused by: io.mycat.config.util.ConfigException: schema TEST didn't config tables,so you must set dataNode property!
解决方案
schema 标签中的dataNode 属性与可嵌套的table 标签有依赖关系 。如果不设置table标签,就必须设置dataNode属性。(二选一)
<schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1" >
<table name="test" dataNode="dn1"/>
</schema>
六、连接mycat数据库
linux版:
mysql -umycat -p123456 -h 192.168.157.133 -P 8066
win版: