安装mycat前,首先安装jdk1.7及以上版本

安装可参照 https://www.cnblogs.com/llhhll/p/9260913.html

下载mycat 1.6版本

wget   https://raw.githubusercontent.com/MyCATApache/Mycat-download/master/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

解压
tar -xzvf 
Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz 解压后直接到 mycat 文件夹下
拷贝到/usr/local下
cp -r /root/mycat /usr/local

设置环境变量

1.第一种方式

输入以下命令
vim /usr/local/mycat/.bash_profile
编辑保存以下
export MYCAT_HOME=/usr/local/mycat PATH=$PATH:$MYCAT_HOME/bin

令修改生效,执行以下命令 source .bash_profile
测试是否配置成功

执行以下命令
echo $MYCAT_HOME 
输出结果为
/usr/local/mycat


2.第二种方式

输入vim /etc/profile  编辑 参考如下:

保存后 输入mycat 查看是否生效


...................................................................................................................................................................

mycat配置可以参考 https://www.cnblogs.com/llhhll/p/9261248.html 

开始配置mycat配置文件

执行以下命令进行配置
vim $MYCAT_HOME/conf/server.xml 
(按i或a键进入 编辑,按esc退出 输入:再输入wq!保存执行退出)
vim $MYCAT_HOME/conf/schema.xml 

再配置

修改wrapper.conf文件

执行以下命令
cd /usr/local/mycat/conf 
vim wrapper.conf

或
vim $MYCAT_HOME/conf/wrapper.conf

修改下面节点

# Java Application

wrapper.java.command=/usr/java/jdk1.8.0_65/bin/java
我的路径为
wrapper.java.command=/usr/local/java/bin/java


配置完成后

启动mycat
输入  /usr/local/mycat/bin/mycat start  linux环境下常见命令: 
 /usr/local/mycat/bin/mycat start 启动 

 /usr/local/mycat/bin/mycat stop 停止 

 /usr/local/mycat/bin/mycat console 前台运行 

 /usr/local/mycat/bin/mycat restart 重启服务 

 /usr/local/mycat/bin/mycat pause  暂停 

 /usr/local/mycat/bin/mycat status  查看启动状态

查看启动状态:

s -ef | grep mycat 或者 netstat -ntpl | grep 8066      【8066是mycat数据库的访问端口,记住此处不是3306】

........................................................................................................................................................................................................................................................

常见问题:

 一.首先保证两台数据库服务器上的mysql已经正常启动

二.错误: 代理抛出异常 : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: 你的主机名: 你的主机名

解决办法:

1.修改network

vi /etc/sysconfig/network

追加一行:

 HOSTNAME=你的主机名(XXXX)

如果有,请直接进行下一步

2.接着修改: HOSTS

 vi /etc/hosts

添加这句后面添加 你的主机名

127.0.0.1  localhost.localdomain localhost 你的主机名(XXXX)
::1   localhost.localdomain localhost 你的主机名(XXXX)

保存

重新启动mycat

三.检查linux是否允许端口远程访问开放端口

1.修改防火墙配置文件 ,检查mycat8066是否开放 并 增加
# vi /etc/sysconfig/iptables

wq保存退出,重启防火墙

service iptables restart

这样6379端口就可以远程访问了

2.linux命令开放端口

添加一个开放端口如80端口

 # sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

保存设置

/etc/rc.d/init.d/iptables save

重启服务即可生效

/etc/init.d/iptables restart

查看开放端口是否生效

/sbin/iptables -L -n

输出以下内容80端口已开放

ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 
四.mycat连接管理数据库,操作表时报ERROR 3009 (HY000): java.lang.IllegalArgumentException: Invalid DataSource:0

1.检查mysql是否正常启动

2.检查以下
Mycat安装后,一直报错ERROR 3009 (HY000): Java.lang.IllegalArgumentException: Invalid DataSource:0 错误,明显是链接后面的MYSQL有问题,但是MYSQL配置也没错,后来发现MYSQL新安装以后是不能用-h 127.0.0.1来登录,只能sock登录,所以登录mysql后修改ROOT用户,update user set host = '%' where user = 'root'; ,重启服务后一切正常了
果断把mysql中的mysql.user表中的root 用户的 host改为%后,重启mysql,mycat连接后就可以操作表了。万分感谢!

mycat连接管理数据库,操作表时报ERROR 3009 (HY000): java.lang.IllegalArgumentException: Invalid DataSource:0

这类错误最常见是一些配置问题例如schema.xml中的dataNode的配置和实际不符合,请先仔细检查配置项,确保配置没有问题。如果不是配置问题,分析具体日志看出错原因,常见的有: 
如果是应用连:在某些版本的Mysql驱动下连接Mycat会报错,可升级最新的驱动包试下。 
如果是服务端控制台连,确认mysql是否开启远程连接权限,或防火墙是否设置正确,或者数据库database是否配置,或用户名密码是否正确。


我确实检查了好多遍,肯定不是schema.xml错误,mysql开启了远程连接权限,防火墙也设置正确,用户名和密码正确

最后在网上看到了

Mycat安装后,一直报错ERROR 3009 (HY000): Java.lang.IllegalArgumentException: Invalid DataSource:0 错误,明显是链接后面的MYSQL有问题,但是MYSQL配置也没错,后来发现MYSQL新安装以后是不能用-h 127.0.0.1来登录,只能sock登录,所以登录mysql后修改ROOT用户,update user set host = '%' where user = 'root'; ,重启服务后一切正常了

果断把mysql中的mysql.user表中的root 用户的 host改为%后,重启mysql,mycat连接后就可以操作表了。万分感谢!


虚拟机CentOS6.8下安装mycat的更多相关文章

  1. 虚拟机CentOS6.8下安装JDK

    CentOS6.8下 首先下载JDK,执行命令如下: wget http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec24242 ...

  2. 【转载】CentOS6.5_X64下安装配置MongoDB数据库

    [转载]CentOS6.5_X64下安装配置MongoDB数据库 2014-05-16 10:07:09|  分类: 默认分类|举报|字号 订阅      下载LOFTER客户端 本文转载自zhm&l ...

  3. CentOS6.5下安装apache2.2和PHP 5.5.28

    CentOS6.5下安装apache2.2 1. 准备程序 :httpd-2.2.27.tar.gz 下载地址:http://httpd.apache.org/download.cgi#apache2 ...

  4. CentOS6.5下安装配置MySQL

    CentOS6.5下安装配置MySQL,配置方法如下: 安装mysql数据库:# yum install -y mysql-server mysql mysql-deve 查看mysql-server ...

  5. CentOS6.5下安装Apache2.4+PHP7

    CentOS6.5下安装Apache2.4+PHP7 http://blog.csdn.net/along602/article/details/42695779 http://www.th7.cn/ ...

  6. 在CentOS6.8下安装Docker

    在CentOS6.8下安装Docker 一.查看系统版本 [root@localhost opt]# uname -a Linux localhost.localdomain -.el6.x86_64 ...

  7. coreseek/sphinx CentOS6.4下安装

    一.在CentOS6.4下安装coreseek之前需要预先安装以下软件 1.打开终端 输入 su 获取管理员权限 2.输入命令 yum install make gcc g++ gcc-c++ lib ...

  8. 建站笔记1:centos6.5下安装mysql

    近期买了个域名,想要玩玩自己建站点:接下来遇到的问题都会一次记录下来.以备自己以后复习查看: 首先建站方案选择: wordPress +centos6.5 +mysql; server买的:搬瓦工最低 ...

  9. centos6.7下安装配置vnc

    vnc是一款使用广泛的服务器管理软件,可以实现图形化管理,下面简单介绍一下如何在centos6.7下安装vnc. 1.安装vncserver yum install tigervnc tigervnc ...

随机推荐

  1. 格式化日期字符串 FormatSettings使用

    如果 你想要得到 YYYY-MM/DD 这样的字符串 你肯定说这太简单了  直接 ShowMessage(FormatDateTime('YYYY-MM/DD',now)); 运行结果 YYYY-MM ...

  2. 后台通过Request取得多个含有相同name的控件的值

    string[] arrWeight = context.Request.Params.GetValues("Quantity");

  3. dos命令,jdk&jre&jvm的关系,classpath和path区别

    Day01_SHJavaTraing_4-2-2017 一.学习方法 1.独立思考 2.独立整理.总结知识点 3.整理Exception报错文档 4.莫钻牛角尖 5.敲代码,敲,猛敲,死里敲 6.写代 ...

  4. Core Animation 负责将bitmap绑定提交到 GPU-[CALayer _display]

    Core Animation 负责将bitmap绑定提交到 GPU: Core Animation一头连着CPU,一头连着GPU. ZSTest`-[ZSDTCoreTextCell drawRect ...

  5. Kattis -I Can Guess the Data Structure!

    I Can Guess the Data Structure! There is a bag-like data structure, supporting two operations: 1 x1  ...

  6. SyntaxError Generator expression must be parenthesized

    环境: Windows10 python3.7.0 Django1.11.15 异常 启动Django时抛出以下异常: Unhandled exception in thread started by ...

  7. C语言基本语法——数组

    一.一维数组 1.什么是数组 2.数组语法 3.下标 4.初始化 5.数组名和数组首地址 二.一维数组的应用 1.数组的赋值与拷贝 2.数组的正反遍历 3.随机数 4.数组乱序 5.数组的重复 三.二 ...

  8. 有效解决ajax传中文时,乱码的情况,php处理接收到的值

    在抽奖环节时,需把获奖名单通过ajax的post方式传输给php后台进行储存,但是php接收到的值确是乱码.在百度之后并没有找到合适的解决方法. 则使用js的encodeURI函数可以有效解决,但不知 ...

  9. 线性回归(regression)

    简介 回归分析只涉及到两个变量的,称一元回归分析.一元回归的主要任务是从两个相关变量中的一个变量去估计另一个变量,被估计的变量,称因变量,可设为Y:估计出的变量,称自变量,设为X. 回归分析就是要找出 ...

  10. java中 flush()方法的作用

    flush() 是清空,而不是刷新啊.一般主要用在IO中,即清空缓冲区数据,就是说你用读写流的时候,其实数据是先被读到了内存中,然后用数据写到文件中,当你数据读完的时候不代表你的数据已经写完了,因为还 ...