MyCat 之路 | Linux 下的安装配置

Mycat 是一个开源的分布式数据库系统,是一个实现了 MySQL 协议的的Server,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用MySQL 原生(Native)协议与多个 MySQL 服务器通信,也可以用 JDBC 协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为 N 个小表,存储在后端 MySQL 服务器里或者其他数据库里。

参考:MySQL分布式中间件:MyCAT

一、下载并解压

下载地址:1、https://github.com/MyCATApache/Mycat-download。2、http://dl.mycat.io/

[root@mycat-server-01 /]# cd /usr/local/src/
[root@mycat-server-01 src]# wget https://raw.githubusercontent.com/MyCATApache/Mycat-download/master/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

[root@mycat-server-01 src]# tar zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local/
二、编辑MyCat的核心配置文件:schema.xml

[root@mycat-server-01 src]# vim /usr/local/mycat/conf/schema.xml

<?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" />
        <dataNode name="dn1" dataHost="host01" database="mldn" />
        <dataHost name="host01" 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="10.73.150.91:3306" user="root"
                                   password="888888">
                </writeHost>
        </dataHost>
</mycat:schema>
三、编辑MyCat的系统配置文件:server.xml

主要为了后边连接MyCat。

[root@mycat-server-01 src]# vim /usr/local/mycat/conf/server.xml

<user name="root">
        <property name="password">123456</property>
        <property name="schemas">TESTDB</property>
</user>

四、启动MyCat

启动MyCat之前要先启动Mysql。

[root@mycat-server-01 src]#  /usr/local/mycat/bin/mycat console

jvm 1    | 2017-11-27 18:16:22,503 [INFO ][WrapperSimpleAppMain] init result :finished 10 success 10 target count:10  (io.mycat.backend.datasource.PhysicalDBPool:PhysicalDBPool.java:319)
jvm 1    | 2017-11-27 18:16:22,503 [INFO ][WrapperSimpleAppMain] localhost1 index:0 init success  (io.mycat.backend.datasource.PhysicalDBPool:PhysicalDBPool.java:265)
jvm 1    | MyCAT Server startup successfully. see logs in logs/mycat.log

可以看到启动成功的信息。


MyCat操作命令:

  • 启动MyCat: mycat start ;
  • 停止MyCat: mycat stop ;
  • 前台运行: mycat console ;
  • 重启服务: mycat restart ;
  • 暂停: mycat pause ;
  • 查看启动状态: mycat status ;
五、连接MyCat

目前 mycat 有两个端口,8066 数据端口,9066 管理端口。在这里我们使用命令行的方式登录。

连接管理端口:

[root@mysql-server-01 /]#  /usr/local/mysql/bin/mysql -uroot -p123456 -h 192.168.1.16 -P9066 -D TESTDB

# 查看所有的可用命令:
mysql> show @@help;
+------------------------------------------+--------------------------------------------+
| STATEMENT                                | DESCRIPTION                                |
+------------------------------------------+--------------------------------------------+
| show @@time.current                      | Report current timestamp                   |
| show @@time.startup                      | Report startup timestamp                   |
| show @@version                           | Report Mycat Server version                |
| show @@server                            | Report server status                       |
| show @@threadpool                        | Report threadPool status                   |
| show @@database                          | Report databases                           |
| show @@datanode                          | Report dataNodes                           |


# 查看所有的逻辑数据库:
mysql> show @@database;
+----------+
| DATABASE |
+----------+
| TESTDB   |
+----------+
1 row in set (0.01 sec)

# 查看所有的数据节点:
mysql> show @@datanode;
+------+-----------------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+
| NAME | DATHOST         | INDEX | TYPE  | ACTIVE | IDLE | SIZE | EXECUTE | TOTAL_TIME | MAX_TIME | MAX_SQL | RECOVERY_TIME |
+------+-----------------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+
| dn1  | localhost1/mldn |     0 | mysql |      0 |   10 | 1000 |     161 |          0 |        0 |       0 |            -1 |
+------+-----------------+-------+-------+--------+------+------+---------+------------+----------+---------+---------------+
1 row in set (0.01 sec)

连接数据操作端口:

[root@mysql-server-01 /]#  /usr/local/mysql/bin/mysql -uroot -p123456 -h 192.168.1.16 -P8066 -D TESTDB

# 可以看见的都是逻辑数据库:
mysql> show databases;
+----------+
| DATABASE |
+----------+
| TESTDB   |
+----------+
1 row in set (0.00 sec)

# 使用指定的逻辑数据库:
mysql> use TESTDB;
Database changed

# 查看所有的数据表:
mysql> show tables;
+----------------+
| Tables_in_mldn |
+----------------+
| member         |
+----------------+
1 row in set (0.01 sec)

参数说明:

  • -h 后面是主机,即当前 mycat 安装的主机地址,本地可用 127.0.0.1 远程需要远程 ip;
  • -u Mycat server.xml 中配置的逻辑库用户;
  • -p Mycat server.xml 中配置的逻辑库密码;
  • -P 后面是端口 默认 9066,注意 P 是大写;
  • -d Mycat server.xml 中配置的逻辑库。
附:其他问题

1、修改 MyCat 运行时的 JDK (指定 JDK 运行 MyCat )

修改文件/data/software/mycat/mycat/conf/wrapper.conf中的参数

#修改wrapper.java.command=java 为JDK的存放路径
#wrapper.java.command=java
wrapper.java.command=/data/software/jdk/jdk1.7.0_80/bin/java
wrapper.working.dir=..
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值