标签:xml 1.6 1.2 server Mycat Mysql docker mycat
搭建Mycat环境
1.2 搭建Mycat环境
1.2.1 获取资源
#先获取mycat包
mkdir -p /data/mycat cd /data/mycat wget http://dl.mycat.org.cn/1.6.7.1/Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz
1.2.2 编写Dockerfile
FROM java:8 USER root COPY Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz / RUN tar -zxf /Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz ENV MYCAT_HOME=/mycat ENV PATH=$PATH:${MYCAT_HOME}/bin WORKDIR $MYCAT_HOME/bin RUN chmod u+x ./mycat EXPOSE 8066 9066 CMD ["./mycat", "console"]
1.2.3 获取配置文件
tar -zxvf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz mv mycat/conf/ conf
目录结构如下:
1.2.4 修改mycat配置文件
真正需要修改的只有三个文件,具体官方文档写的很详细;
(1):schema.xml ,(2):server.xml,(3):rule.xml;
现在搭建的是Mysql读写分离,修改schema.xml、server.xm即可。rule.xml用于分表分库配置文件。
schema.xml文件代码:
<?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="mycat" checkSQLschema="false" sqlMaxLimit="100"> <table name="user" primaryKey="ID" dataNode="dn1,dn2" /> </schema> <dataNode name="dn1" dataHost="localhost1" database="demo2" /> <dataNode name="dn2" dataHost="localhost1" database="demo3" /> <dataHost name="localhost1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="hostM1" url="172.18.0.10:3306" user="root" password="root"> <readHost host="hostM1" url="172.18.0.11:3306" user="root" password="root"> </readHost> </writeHost> </dataHost> </mycat:schema>
server.xm文件代码:
<?xml version="1.0" encoding="UTF-8"?> <!-- - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. --> <!DOCTYPE mycat:server SYSTEM "server.dtd"> <mycat:server xmlns:mycat="http://io.mycat/"> <!-- 读写都可用的用户 --> <user name="root" defaultAccount="true"> <property name="password">123456</property> <property name="schemas">mycat</property> <!-- 表级 DML 权限设置 --> <!-- <privileges check="false"> <schema name="TESTDB" dml="0110" > <table name="tb01" dml="0000"></table> <table name="tb02" dml="1111"></table> </schema> </privileges> --> </user> <!-- 只读用户 --> <user name="user"> <property name="password">user</property> <property name="schemas">mycat</property> <property name="readOnly">true</property> </user> </mycat:server>
1.2.5 执行Dockerfile生成镜像
cd /data/mycat/ docker build -t mycat:1.6 .
1.2.6 编写mycat启动脚本
docker run -d -p:8066:8066 --name mysql-mycat --net docker-network --ip 172.18.0.20 -p 9066:9066 -v $PWD/logs:/mycat/logs -v $PWD/conf:/mycat/conf mycat:1.6
效果如下:
1.2.7 验证效果
标签:xml,1.6,1.2,server,Mycat,Mysql,docker,mycat 来源: https://www.cnblogs.com/-mrl/p/13269458.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。