目錄
文章目錄
1. 概述
mycat是MySQL中間件,前身是阿里大名鼎鼎的Cobar,Cobar在開源了一段時間後,不了了之。後來mycat對cobar的代碼進行了徹底的重構,使用NIO重構了網絡模塊,並且優化了Buffer內核,增強了聚合,Join等基本特性,同時兼容絕大多數數據庫成爲通用的數據庫中間件。
2. 環境準備
2.1 機器準備
#一臺虛擬機
hostname:myhost
ip:ip_address
2.2 系統環境
[root@myhost ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@myhost ~]# firewall-cmd --state #查看防火牆的狀態
running
[root@myhost ~]# firewall-cmd --list-ports #查看防火牆已經開放的端口
[root@myhost ~]# firewall-cmd --list-services #查看防火牆開放的服務
dhcpv6-client ssh
#mycat服務默認的數據端口是8066,允許8066/tcp端口訪問
[root@myhost ~]# firewall-cmd --zone=public --permanent --add-port=8066/tcp
success
[root@myhost ~]# firewall-cmd --reload #重新加載防火牆配置
success
[root@myhost ~]# setenforce 0 && getenforce
Permissive
[root@myhost ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux
連接管理端口的方法和連接8066端口的方法基本一樣。
2.3 安裝java
因mycat是用java語言開發的,所以需要先安裝java,官方建議jdk1.7及以上版本!我這裏已經提前安裝好了。
[root@myhost ~]# echo $JAVA_HOME
/usr/local/jdk1.8.0_131
[root@myhost ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
2.4 本機ip綁定主機名
[root@myhost logs]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
ip_address myhost
3. 下載安裝
3.1 軟件安裝約定
安裝包存放目錄:/home/tools
mycat安裝目錄:/usr/local/mycat
日誌保存位置:/usr/local/mycat/logs
3.2 下載mycat安裝包
mycat的官網地址:http://mycat.io/
mycat的下載地址:http://dl.mycat.io/1.6.7.1/Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz
[root@myhost ~]# cd /home/tools
[root@myhost tools]# wget http://dl.mycat.io/1.6.7.1/Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz
[root@myhost tools]# ll
-rw-r--r--. 1 root root 17567422 6月 27 18:04 Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz
3.3 解壓mycat安裝包
[root@myhost tools]# tar xf Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz
[root@myhost tools]# ll
drwxr-xr-x. 7 root root 79 12月 19 10:22 mycat
-rw-r--r--. 1 root root 17567422 6月 27 18:04 Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz
3.4 安裝mycat
#移動已解壓好的mycat軟件到安裝目錄並重命名爲mycat(省去做軟連接)
[root@myhost tools]# mv /home/tools/mycat /usr/local/
[root@myhost tools]# ll /usr/local/mycat/
總用量 16
drwxr-xr-x. 2 root root 4096 12月 19 10:22 bin
drwxrwxrwx. 2 root root 6 3月 21 2015 catlet
drwxrwxrwx. 2 root root 4096 12月 19 10:22 conf
drwxr-xr-x. 2 root root 4096 12月 19 10:22 lib
drwxrwxrwx. 2 root root 6 3月 21 2015 logs
-rwxrwxrwx. 1 root root 214 6月 4 2015 version.txt
3.5 創建管理mycat的用戶和組
[root@myhost tools]# useradd mycat -s /sbin/nologin -M
[root@myhost tools]# id mycat
uid=1004(mycat) gid=1004(mycat) 組=1004(mycat)
3.6 修改整個mycat目錄的權限
[root@myhost tools]# chown -R mycat:mycat /usr/local/mycat/
[root@myhost tools]# ll /usr/local/mycat/
總用量 16
drwxr-xr-x. 2 mycat mycat 4096 12月 19 10:22 bin
drwxrwxrwx. 2 mycat mycat 6 3月 21 2015 catlet
drwxrwxrwx. 2 mycat mycat 4096 12月 19 10:22 conf
drwxr-xr-x. 2 mycat mycat 4096 12月 19 10:22 lib
drwxrwxrwx. 2 mycat mycat 6 3月 21 2015 logs
-rwxrwxrwx. 1 mycat mycat 214 6月 4 2015 version.txt
3.7 設置mycat的環境變量
[root@myhost tools]# vi /etc/profile
export mycat_HOME=/usr/local/mycat
export PATH=${mycat_HOME}/bin:$PATH
[root@myhost bin]# source /etc/profile
[root@myhost bin]# echo $mycat_HOME
/usr/local/mycat
[root@myhost bin]# echo $PATH
/usr/local/mycat/bin:/usr/local/jdk1.8.0_131/bin:/usr/local/jdk1.8.0_131/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
3.8 啓動mycat
[root@myhost bin]# /usr/local/mycat/bin/mycat
Usage: /usr/local/mycat/bin/mycat { console | start | stop | restart | status | dump }
[root@myhost bin]# /usr/local/mycat/bin/mycat start
Starting mycat-server...
[root@myhost bin]# ps -ef |grep mycat
root 70513 1 0 10:34 ? 00:00:00 /usr/local/mycat/bin/./wrapper-linux-x86-64 /usr/local/mycat/conf/wrapper.conf wrapper.syslog.ident=mycat wrapper.pidfile=/usr/local/mycat/logs/mycat.pid wrapper.daemonize=TRUE wrapper.lockfile=/var/lock/subsys/mycat
root 70679 70197 0 10:36 pts/0 00:00:00 grep --color=auto mycat
# mycat監聽兩個端口,分別爲8066和9066;
# mycat服務默認的數據端口是8066,而9066端口則是mycat管理端口,用於管理mycat的整個集羣狀態。
# 監聽的端口可以在 /usr/local/mycat/conf/server.xml配置文件中修改。
[root@dscq2 ~]# netstat -lntup
tcp 0 0 127.0.0.1:32000 0.0.0.0:* LISTEN 40204/java
tcp6 0 0 :::9066 :::* LISTEN 40204/java
tcp6 0 0 :::40877 :::* LISTEN 40204/java
tcp6 0 0 :::45276 :::* LISTEN 40204/java
tcp6 0 0 :::1984 :::* LISTEN 40204/java
tcp6 0 0 :::8066 :::* LISTEN 40204/java