mycat安装配置修改以及启动检验
<h4>1.下载mycat以及介绍mycat请到网址:<a href="http://www.mycat.io/">http://www.mycat.io/</a></h4>
<p>那里有Mycat-server-1.6.6-release 版本发布
会有几个版本 找到适合自己的版本
在这前提,首先你要在具体的虚拟机安装数据库,并且将各个数据库配置成主从。
<img src="https://www.showdoc.cc/server/api/common/visitfile/sign/fc773c402685454e019429e9b8eb09d1?showdoc=.jpg" alt="" /></p>
<p>如虚拟机40是宿主机配置mycat 41,42,44,45都要安装数据库
如果是配置安装好好一台虚拟机 可以拷贝替换另一台虚拟机 更改ip地址即可
在进行主从配置 具体看主从配置
并且40,42,44,45配置成主从
<img src="https://www.showdoc.cc/server/api/common/visitfile/sign/957935eae27309fab02bea9b384c565e?showdoc=.jpg" alt="" />
将文件下载了 用ssh工具 放在/usr/loclal/src/ 下面
解压文件</p>
<h4>2.安装mycat</h4>
<p>tar zxvf Mycat-server-1.6.6.1-release-20181031195535-linux.tar.gz
然后将解压的复制到 /usr/local/mycat 目录
cp -r Mycat-server-1.6.6.1-release-20181031195535-linux.tar.gz /usr/local/mycat</p>
<h4>3.添加组和用户</h4>
<p>groupadd mycat
adduser -r -g mycat mycat
chown -R mycat.mycat /usr/local/mycat //修改mycat目录所属mycat用户</p>
<h4>4.配置mycat文件的conf的server.xml</h4>
<p>cd /usr/local/mycat/conf
vim server.xml
我们改的就是两个端口一个是9066 一个就是8066</p>
<property name="serverPort">3306</property>
<property name="managerPort">3307</property>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/ec98f0bf71e35fa4f9b758254a928776?showdoc=.jpg" alt="" />
还有用户 密码 项目名字</p>
<pre><code><user name="root">
<property name="password">kyd8899</property>
<property name="schemas">QIWUIOT</property>
<property name="readOnly">false</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></code></pre>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/65d1b2ef78dfc7c2cf67c94175f2c068?showdoc=.jpg" alt="" /></p>
<h4>5.schema.xml</h4>
<p>修改位置红色圈(table里面一样的同理,这里就不一个一个圈)
table里面的name就是每个表根据自己需要划分规则,这里统一用mod-long
<img src="https://www.showdoc.cc/server/api/common/visitfile/sign/1c1c14d3bd4e3cb0b9502fdec264e4ad?showdoc=.jpg" alt="" /></p>
<p>修改的位置已经划清楚
<img src="https://www.showdoc.cc/server/api/common/visitfile/sign/3b97d9ad9f21ff95881d3b154cead9c1?showdoc=.jpg" alt="" /></p>
<p>schema.xml中的rule是rule.xml里面众多分配规则的一种 、
这样的配置与前一个示例配置改动如下:
删除了table分配的规则,以及datanode只有一个
datahost有2台,但是writehost总添加了readhost,balance改为1,表示读写分离。
以上配置达到的效果就是102.168.1.41为主库,192.168.1.42为从库。
以上配置达到的效果就是102.168.1.44为主库,192.168.1.45为从库。</p>
<h4>6.rule.xml</h4>
<p>而rule.xml中的规则默认的mod-long是三个 也即是dataNode的数量我们这里是切分为两个修改为2
<img src="https://www.showdoc.cc/server/api/common/visitfile/sign/ee28e798c06f9cc98b03885c2ecf9430?showdoc=.jpg" alt="" /></p>
<h1>这些配置好之后</h1>
<h4>启动mycat</h4>
<p>到mycat bin下
[root@Mycat-node ~]# cd /data/mycat/bin/
[root@Mycat-node bin]#
[root@Mycat-node bin]# ./mycat start #开启
[root@Mycat-node bin]# ./mycat stop #关闭
[root@Mycat-node bin]# ./mycat restart #重启
[root@Mycat-node bin]# ./mycat status #查看启动状态
[root@Mycat-node bin]# ./mycat console #前台运行
[root@Mycat-node bin]# ./mycat pause #暂停
如果在启动时发现异常,在logs目录中查看日志。
mycat启动后,执行命令不成功,可能实际上配置有错误,导致后面的命令没有很好的执行。
如果在启动时发现异常,在logs目录中查看日志。
[root@Mycat-node ~]# cd /data/mycat/logs/
[root@Mycat-node logs]# ls
2018-07 mycat.log mycat.pid wrapper.log</p>
<ul>
<li>wrapper.log 为程序启动的日志,启动时的问题看这个</li>
<li>mycat.log 为脚本执行时的日志,SQL脚本执行报错后的具体错误内容,查看这个文件。mycat.log是最新的错误日志,历史日志会根据时间生成目录保存。
mycat启动后,执行命令不成功,可能实际上配置有错误,导致后面的命令没有很好的执行。
配置好之后输入 netstat -antpl 会有以下效果
<img src="https://www.showdoc.cc/server/api/common/visitfile/sign/a4d21d3bdfda8cb1be40472c99b7e50f?showdoc=.jpg" alt="" />
有ESTABKISHED和LISTEN是正常
如果出现 TIME_WAIT问题
编辑vim /etc/sysctl.conf
添加以下内容
net.ipv4.tcp_syn_retries=2
net.ipv4.tcp_synack_retries=2
表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为300秒
net.ipv4.tcp_keepalive_time=1200
net.ipv4.tcp_orphan_retries=3
表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间
net.ipv4.tcp_fin_timeout=30
表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_syn_backlog = 4096
表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭
net.ipv4.tcp_syncookies = 1
表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭
net.ipv4.tcp_tw_reuse = 1
表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭
net.ipv4.tcp_tw_recycle = 1
减少超时前的探测次数
net.ipv4.tcp_keepalive_probes=5
优化网络设备接收队列
net.core.netdev_max_backlog=3000
通过navtivecat去连接数据库 测试是否可以打开数据库的具体的表
<h4>那么你的真实的数据库的 那个41的 和那个44的就是做主的数据库要进行创建表要一个一个的分别与schema.xml中table的表一个个对应上</h4></li>
</ul>