下载安装文件

下载tar安装包,以及对应的jar包

wget http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.19.zip
wget http://dl.mycat.org.cn/2.0/1.20-release/mycat2-1.19-jar-with-dependencies.jar

解压缩并安装

将jar包放到解压后的lib目录中

unzip mycat2-install-template-1.19.zip
mv mycat2-1.19-jar-with-dependencies.jar mycat/lib

创建mycat使用的账号

# 先直连mysql创建账号
CREATE USER mycat identified by '123456';
GRANT XA_RECOVER_ADMIN ON *.* TO 'mycat'@'%';
# 根据需要给mycat账号授权
GRANT ALL ON *.* to mycat;

更改mycat配置

配置mycat连接方式

# 带注释的为重要内容,其余都是配置文件中的默认信息
[root@mycat ~]# vi mycat/conf/server.json
  "loadBalance":{
    "defaultLoadBalance":"BalanceRandom",
    "loadBalances":[]
  },
  "mode":"local",
  "properties":{},
  "server":{
    "bufferPool":{

    },
    "idleTimer":{
      "initialDelay":3,
      "period":60000,
      "timeUnit":"SECONDS"
    },
    "ip":"10.0.0.133", #IP地址
    "mycatId":1, # 必须配置
    "port":8066, # 端口号
    "ServerVersion":"8.0.19-mycat-1.9", #注意设置模拟的MySQL版本,与后端,客户端版本对应
    "reactorNumber":1,
    "tempDirectory":null,
    "timeWorkerPool":{
      "corePoolSize":0,
      "keepAliveTime":1,
      "maxPendingLimit":65535,

      "maxPoolSize":2,
      "taskTimeout":5,
      "timeUnit":"MINUTES"
    },
    "workerPool":{
      "corePoolSize":1,
      "keepAliveTime":1,
      "maxPendingLimit":65535,
      "maxPoolSize":1024,
      "taskTimeout":5,
      "timeUnit":"MINUTES"
    }
  }
}
~

配置mycat连接账号

默认用户名是root,密码是123456,安全起见,建议更改为复杂密码

[root@mycat ~]# vi mycat/conf/users/root.user.json 
{
        "dialect":"mysql",
        "ip":".", # 类似mysql用户中的Host,用来限制访问客户端
        "password":"Ha.FCxsgp51", # 密码
        "transactionType":"xa",
        "username":"root" # 用户名
}

配置mycat数据源

直接修改配置文件

[root@mycat ~]# vi mycat/conf/datasources/prototypeDs.datasource.json
{
        "dbType":"mysql",
        "idleTimeout":60000,
        "initSqls":[],
        "initSqlsGetConnection":true,
        "instanceType":"READ_WRITE", #读写模式 可以设置为READ,WRITE,READ_WRITE
        "maxCon":1000,
        "maxConnectTimeout":3000,
        "maxRetryCount":5,
        "minCon":1,
        "name":"prototypeDs",
        "password":"123456", # 之前在MySQL中创建的账号密码
        "queryTimeout":30,
        "type":"JDBC",
        "url":"jdbc:mysql://10.0.0.134:3306/mysql?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true", # 连接串
        "user":"mycat", # 之前在MySQL中创建的账号
        "weight":0
}

启动mycat

cd mycat/bin
chmod +x ./*
./mycat start

连接mycat

# 直接使用mysql客户端连接mycat即可
# MySQL8.0的客户端要加上-A参数
# 加上-c参数是为了保留注释,因为mycat中一些在线配置更新是用注释的方式执行的
[root@mycat ~]# mysql -uroot -pHa.FCxsgp51 -P8066 -h10.0.0.133 -c -A

至此,一个简单的mycat就可以使用了,下一篇计划:如何通过注释在线更改mycat配置