下载zip包直接解压:
我想要的是通过mycat将数据分流,放在三个子表,最后的数据库样式
解压后,我们需要修改的文件都在 conf 文件夹里面,主要有
????????schema.xml(配置数据库表之间的关联关系)
? ? ? ? server.xml(配置可识别的数据库库名)
? ? ? ? wrapper.xml(配置Java环境)
首先需要配置系统变量
schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<!-- 数据库库名 -->
<schema name="razer_sn" checkSQLschema="TRUE" sqlMaxLimit="100">
<!-- 库下子表,需要在本地提前创建 -->
<table name="serial_number" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
<table name="obound_serial_number" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
</schema>
<!-- 上面表的数据来源 -->
<dataNode name="dn1" dataHost="localhost1" database="sn1" />
<dataNode name="dn2" dataHost="localhost2" database="sn2" />
<dataNode name="dn3" dataHost="localhost3" database="sn3" />
<!-- 初始化本地 dn1,dn2,dn3 ,填写本地的url、user、password -->
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="localhost:3306" user="root"
password="mima123">
</writeHost>
</dataHost>
<dataHost name="localhost2" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM2" url="localhost:3306" user="root"
password="mima123">
</writeHost>
</dataHost>
<dataHost name="localhost3" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM3" url="localhost:3306" user="root"
password="mima123">
</writeHost>
</dataHost>
</mycat:schema>
server.xml
<user name="root">
<property name="password">123456</property>
<!-- 这里的内容和scheme中的name一样 -->
<property name="schemas">razer_sn</property>
</user>
<user name="user">
<property name="password">user</property>
<!-- 这里的内容和scheme中的name一样 -->
<property name="schemas">razer_sn</property>
<property name="readOnly">true</property>
</user>
wrapper.conf
//这里是jdk的路径,mycat1.6支持jdk8,不支持jdk17
wrapper.java.command=D:\Program Files\Java\jdk\bin\java.exe
在回到bin目录下,双击 startup_nowrap.bat 后,cmd =>? jps 出现 MycatStartup 就成功了。
使用Navicat 连接mycat ,默认端口 8806 ,默认user = root,默认password = 123456。
以上是我的windows 部署mycat的全部流程。
记录一下遇到的问题:
? ? ? ? 1.启动mycat时候,提示“mycat 不是内部或外部命令,也不是可运行的程序”
? ? ? ? ? ? ? ? 解决办法:
? ? ? ? ? ? ? ? ? ? ? ? 将 mycat 的 bin 目录作为系统变量
? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? 2.mycat 启动服务总是报错 The Mycat-server service was launched...
? ? ? ? ? ? ? ? 解决办法:
? ? ? ? ? ? ? ? ? ? ? ? win + R , 输入 jps? ,出现 MycatStartup ,则启动成功
? ? ? ? ? ? ? ? ? ? ? ? 错误是 mycat已经启动,但是还想启动时,报的错
? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? 3.Unrecognized VM option 'MaxPermSize=64M'
? ? ? ? ? ? ? ? 解决办法:
? ? ? ? ? ? ? ? ? ? ? ? ?mycat 1.6 不支持 MaxPermSize,只需要在?wrapper.conf 配置文件删除 java.MaxPermSize 即可
? ? ? ? 4.mycat can`t get connection for sql:select user()
? ? ? ? ? ? ? ? 解决办法:
? ? ? ? ? ? ? ? ? ? ? ? MySQL 8.0 配置mysql_native_password
? ? ? ? 5.columnNumber:43;必须为元素类型 "user" 声明属性 "defaultAccount"
? ? ? ? ? ? ? ?解决办法:
????????????????????????根据?schema.xml 配置文件,必须生成相对应的表
? ? ? ? 6.each process allocated socket buffer pool bytes,a page size:2...
? ? ? ? ? ? ? ? 解决办法:
? ? ? ? ? ? ? ? ? ? ? ? 查看?wrapper.conf 配置文档中的 Java 版本,我是使用 17 版本报的错,因为版本太高
|