环境准备

  • 安装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. 集成电路883和883b有什么区别

    根据用途,元器件的质量等级可分为:用于元器件生产控制.选择和采购的质量等级和用于电子设备可靠性预计的质量等级两类,两者有所区别,又相互联系. 用于元器件生产控制.选择和采购的质量等级 元器件的质量等级 ...

  2. Linux以GB显示内存大小

    Linux以GB显示内存大小 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ free -g total used free shared buffers ca ...

  3. directX枚举系统设备类

    void CSysEnumDlg::DisplayFullCategorySet(void){    USES_CONVERSION;    HRESULT hr;    IEnumMoniker * ...

  4. 芝麻HTTP: Scrapy小技巧-MySQL存储

    这两天上班接手,别人留下来的爬虫发现一个很好玩的 SQL脚本拼接. 只要你的Scrapy Field字段名字和 数据库字段的名字 一样.那么恭喜你你就可以拷贝这段SQL拼接脚本.进行MySQL入库处理 ...

  5. sourcetree的使用

    sourcetree的使用 仓库 使用source tree自带的clone,用source tree生成密钥对进行免登录. 分支 从master出发,新建一个分支/从远程获取一个分支.在这个分支做开 ...

  6. freemarker定义一个连续的序列(十九)

    1.简易说明 定义一个连续的序列,并打印出序列中的元素 2.实现源码 <#--freemarker定义了一个连续的序列--> <#assign nums=1..100/> &l ...

  7. jquery自带的方法

    5.1,$.trim $.trim("   Hello, chinaren_1123 & 摆渡浮桥!   "); //去掉前后空格后->Hello, chinaren ...

  8. 浅谈js中null和undefined的区别

    在JS中,null和undefined是经常让人摸不着头脑的东西,尤其是在数据初始化以及处理的过程中,经常稍微不注意,就会让页面在渲染时出现报错,下面来细说下,这两者之间的区别: null 表示一个对 ...

  9. RAM

    1.     前记 我们知道,不同的计算机结构对RAM 的使用方式是有区别的,典型的计算机结构有两个,冯诺依曼结构和哈佛结构,而两大阵营的领军人物就是传说中的Intel X86系列的8086和51单片 ...

  10. Android集成百度地图详细步骤和错误问题

    先看要实现的效果 第一步, 下载SDK,基础配置,百度开发文档很详细,直接附上链接http://lbsyun.baidu.com/index.php?title=androidsdk/guide/cr ...