前言
我们知道在linux中安装软件有四种方式:
1、rpm方式
应用.rpm安装包,按顺序安装
2、yum方式
需要连接网络
3、解压后即可使用
4、解压后编译安装(比较麻烦,不建议使用)
而我们的mycat就属于第三种,我们下载安装包放到linux上,解压就可以使用了,是不是非常方便。
准备:
mycat安装包
两个mysql服务器,且两台数据库服务器中要有相同的数据库和表信息(便于测试)
安装
软件下载:
1、可以去官网自行下载最新版本 官网
2、我网盘上也保存了,分享下
链接:https://pan.baidu.com/s/1ILyP9q_5KzbG_tz1QfjC-g
提取码:re2s
步骤
1、将文件上传到linux中的 /opt 目录下
2、解压
tar -zxvf Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz
3、解压后文件拷贝到 /usr/local/下
cp -r mycat /usr/local/
我们进入mycat,查看目录结构:
bin:命令文件
catlet:空的,扩展
conf:配置文件(server.xml,schema.xml,rule.xml等)
lib:依赖的jar包
进入conf目录,查看配置文件
4、修改配置文件
有三个非常重要的配置文件,需要我们进行修改:
①schema.xml:定义逻辑库,表、分片节点等内容
② rule.xml: 定义分片规则
③server.xml:定义用户以及系统相关变量,如端口等
(1)修改server.xml配置文件
vim server.xml
(2)修改schema.xml
vim schema.xml
里面很多都是mycat对应的测试表,我们并没有用到,可以删除。
显示行号:
:set nu
删除第6行到第32行的内容,光标放在第6行,执行:d 27 d ,删除不需要的内容
同时在<schema>中添加上默认节点dn1:
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
</schema>
按照上面的操作,同理删除没用的信息,<dataNode>标签只留一个:
<dataNode name="dn1" dataHost="host1" database="testdb" />
<dataHost>标签只留一个:
<dataHost name="host1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<writeHost><readHost>只留一对,我们先只配置一个写主机和一个读主机,标识url地址:
<writeHost host="hostM1" url="192.168.237.137:3306" user="root"
password="123456">
<!-- can have multi read hosts -->
<readHost host="hostS1" url="192.168.237.135:3306" user="root" password="123456" />
</writeHost>
最终文件全部内容如下:
<?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>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="192.168.237.137:3306" user="root"
password="123456">
<!-- can have multi read hosts -->
<readHost host="hostS1" url="192.168.237.135:3306" user="root" password="123456" />
</writeHost>
</dataHost>
</mycat:schema>
5、验证数据库访问情况
Mycat 作为数据库中间件要和数据库部署在不同机器上,所以要验证远程访问情况。
mysql -uroot -p123456 -h 192.168.237.141 -P 3306
mysql -uroot -p123456 -h 192.168.237.135 -P 3306
保证能够访问成功。
6、启动mycat
①控制台启动 :去 mycat/bin 目录下执行 ./mycat console
②后台启动 :去 mycat/bin 目录下 ./mycat start
为了能第一时间看到启动日志,方便定位问题,我们选择①控制台启动。
启动MyCat:
./mycat start
查看启动状态:
./mycat status
停止:
./mycat stop
重启:
./mycat restart
7、登录mycat
(1)登录管理窗口,端口号9066
mysql -umycat -p123456 -P 9066 -h 192.168.140.128
我们一般不会去做管理用,一般是登录数据窗口。
(2)登录数据窗口,端口号8066
此登录方式用于通过 Mycat 查询数据,我们选择这种方式访问 Mycat
mysql -umycat -p123456 -P 8066 -h 192.168.237.142
查看里面的数据,会发现只有一个数据库
进入我们定义好的逻辑库,并查看库中的表
可以看到我们之前在两个数据库服务器上已经定义好的数据库和表。