环境准备

  • 安装JDK1.8(必须JDK1.7及更高版本)
  • 安装MySQL

服务安装与说明

  • 下载 MyCAT 编译好的安装包,下载地址为 http://dl.mycat.io/1.6-RELEASE/ 选择 1.6-release 版本,执行如下命令:

    # wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

  • 解压缩下载包

    # tar -xvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /opt

  • 创建 Mycat 用户设置目录权限

    # useradd Mycat

    # chown -R Mycat.Mycat /opt/mycat

  • 修改 Mycat 用户密码

    # passwd Mycat

  • 目录说明:
    • bin:存放了mycat 的程序,也提供了nowrap的shell脚本命令
    • conf:存放了相关配置文件
      • server.xml是Mycat服务器参数调整和用户授权的配置文件
      • schema.xml是逻辑库定义和表以及分片定义的配置文件
      • rule.xml是分片规则的配置文件,分片规则的具体一些参数信息单独存放为文件,也在这个目录下,配置文件修改,需要重启 Mycat或者通过9066 端口reload.
    • lib:主要存放mycat依赖的一些jar文件
    • logs:日志存放在logs/mycat.log 中,每天一个文件,日志的配置是在conf/log4j.xml中,根据自己的需要,可以调整输出级别为debug,debug级别下,会输出更多的信息,方便排查问题

服务启动

首先需要在Linux系统的环境变量中配置 MYCAT_HOME,操作方式如下:

在系统环境变量文件中增加 MYCAT_HOME=/opt/mycat

# vi /etc/profile

执行命令,使环境变量生效。

# source /etc/profile

如果是在多台Linux系统中组建的 MyCAT集群,那需要在MyCAT Server所在的服务器上配置对其他ip和主机名的映射,配置方式如下:

# vi /etc/hosts

例如:我有4 台机器,配置如下:

IP 主机名:

192.168.100.2 sam_server_1

192.168.100.3 sam_server_2

192.168.100.4 sam_server_3

192.168.100.5 sam_server_4

编辑完后,保存文件。

经过以上两个步骤的配置,就可以到/usr/local/Mycat/bin 目录下执行:

# ./mycat start

Q&A

Q:使用MyCAT的时候会提示找不到表的错误!

A:由于部署安装 MySQL,默认不忽略表名大小写,需要手动到 /etc/my.cnf 下配置 lower_case_table_names=1 使Linux环境下MySQL忽略表名大小写

Q:启动 mycat 出现错误,异常信息 Error Caused by: io.mycat.config.util.ConfigException:SelfCheck###  schema testdb refered byuser test is not exist!

A:Server.xml 不要写小写的 testdb,要写大写的TESTDB;或者是由于用户 test 的逻辑库 testdb 不存在。

Q:启动 mycat 出现错误,日志信息如下:

jvm 1 | 2018-02-11 23:58:26,213 [WARN ][$_NIOREACTOR-0-RW] can't connect to mysql server ,errmsg:Access denied for user 'drsoft'@'%' to database 'TEMPDB' MySQLConnection [id=230, lastTime=1518364706200, user=drsoft, schema=TEMPDB, old shema=TEMPDB, borrowed=false, fromSlaveDB=true, threadId=3594, charset=latin1, txIsolation=3, autocommit=true, attachment=null, respHandler=null, host=192.168.2.235, port=3306, statusSync=null, writeQueue=0, modifiedSQLExecuted=false] (io.mycat.backend.mysql.nio.MySQLConnectionAuthenticator:MySQLConnectionAuthenticator.java:91)

A:确认用户登陆信息没有问题,那需要确认连接的数据库配置了表名大小写,需要手动到 /etc/my.cnf 下配置 lower_case_table_names=1 使Linux环境下MySQL忽略表名大小写

Mycat 安装与启动的更多相关文章

  1. mycat在windows环境下安装和启动

    1.下载从如下地址下载mycat的安装包: http://www.mycat.io/ eg:Mycat-server-1.6.6.1-release-20181031195535-win.tar.gz ...

  2. MyCat 安装部署,实现数据库分片存储

    一.安装MySQL或MariaDB(本文以MariaDB为例) MySQL手动安装方法:点击查看 MariaDB安装: 1.下载MariaDB的repo $ vi /etc/yum.repos.d/M ...

  3. Mycat安装与使用

      1.下载:   https://github.com/MyCATApache/Mycat-download 具体下载哪个版本以发布为准,推荐1.4,1.5.   2.安装:   安全前,在Linu ...

  4. mycat 安装 分表 分库 读写分离

    简单的 理解 一下 mycat :如图 mycat 是一个 连接数据库的中介.一个独立安装的 工具,他连接着真实的数据库,并且 把自己伪装成一个数据库. 程序连接 mycat ,mycat 连接 到真 ...

  5. Mycat安装教程

      1.下载:   https://github.com/MyCATApache/Mycat-download 具体下载哪个版本以发布为准,推荐1.4,1.5.   2.安装:   安全前,在Linu ...

  6. MyCat安装配置

    Mycat : 数据库分库分表中间件 http://www.mycat.io/ mycat运行需要JVM,所以先安装java环境,JDK1.7以上.数据库采用mysql5.7,或者8.0 下载 下载地 ...

  7. MyCat安装与测试教程 超详细!

    MyCat安装与测试教程 超详细! MyCat基础知识 一.什么是MYCAT? 1. 一个彻底开源的,面向企业应用开发的大数据库集群 2. 支持事务.ACID.可以替代MySQL的加强版数据库 3. ...

  8. mycat安装和测试

    mycat安装和测试 一.  环境准备 本机环境是三台centos6.5 IP 主机名 数据库名 安装软件 192.168.17.4 master db1 mycat,mysql 192.168.17 ...

  9. Linux下Mycat安装配置和使用

    mysql安装下载mysql[百度云]tar -zxvf mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz 解压把mysql文件夹移动到 /usr/local/ 下m ...

随机推荐

  1. V4L2驱动的移植与应用(三)

    三.V4L2的demo capture.c是官方示例程序. capture.c 程序中的 process_image 函数: capture.c 程序主要是用来演示怎样使用 v4l2 接口,并没有对采 ...

  2. Linux忘记开机密码怎么办?

    Linux忘记开机密码怎么办?1. 开机ESC/Shift,在出现grub画面时,用上下键选中你平时启动linux的那一项,然后按e键2. 再次用上下键选中你平时启动linux的那一项(类似于kern ...

  3. freemarker自定义标签报错(二)

    freemarker自定义标签 1.错误描述 freemarker.core.ParseException: Unexpected end of file reached. at freemarker ...

  4. app_offline.htm的作用

    如果你要COPY站点,进行站点维护,部署,和进行大量修改,有可能要停掉你的WEB应用程序了,而以一个友好的方式提示给用户,比如什么"本网站正在更新"等等的信息可以建立一个叫app_ ...

  5. Java中的throw和throws的区别

    Java中的throw和throws的区别 1.throw关键字用于方法体内部,而throws关键字用于方法体部的方法声明部分: 2.throw用来抛出一个Throwable类型的异常,而throws ...

  6. 芝麻HTTP:Python爬虫入门之URLError异常处理

    1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的服务器 服务器不存在 在代码中,我们需要用try-except语句来包围并捕获相应的异常.下 ...

  7. 慢慢人生路,学点Jakarta基础-JavaDoc标记

    本文对使用Maven工程构建Jenkinsjob时遇到的问题进行一下分析汇总. JavaDoc标记使用问题 一般Maven项目都有配置产生Java DOC,但是在Jenkins里面产生DOC会有一些严 ...

  8. [SPOJ]DISUBSTR:Distinct Substrings&[SPOJ]SUBST1:New Distinct Substrings

    题面 Vjudge Vjudge Sol 求一个串不同子串的个数 每个子串一定是某个后缀的前缀,也就是求所有后缀不同前缀的个数 每来一个后缀\(suf(i)\)就会有,\(len-sa[i]+1\)的 ...

  9. [BZOJ4542] [Hnoi2016] 大数 (莫队)

    Description 小 B 有一个很大的数 S,长度达到了 N 位:这个数可以看成是一个串,它可能有前导 0,例如00009312345.小B还有一个素数P.现在,小 B 提出了 M 个询问,每个 ...

  10. 【linux之链接,函数,随机数】

    一.链接 硬链接(hard link):同一个文件使用了多个别名.新建文件是已经存在的一个别名,,当原文件删除时,新建的文件仍然可以使用.硬链接和原来的文件没有什么区别,而且共享一个inode号.通过 ...