zoukankan      html  css  js  c++  java
  • 虚拟机CentOS6.8下安装mycat

    安装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连接后就可以操作表了。万分感谢!


  • 相关阅读:
    是否可以从一个静态(static)方法内部发出对非静态 (non-static)方法的调用?
    是否可以继承 String 类?
    如何实现字符串的反转及替换?
    String s = new String(“xyz”);创建了几个字符串对象?
    Serial 与 Parallel GC 之间的不同之处?
    SVG是什么?
    阐述静态变量和实例变量的区别?
    Java 中 ++ 操作符是线程安全的吗?
    什么是 REST / RESTful 以及它的用途是什么?
    WebSQL是HTML 5规范的一部分吗?
  • 原文地址:https://www.cnblogs.com/llhhll/p/9261115.html
Copyright © 2011-2022 走看看