安裝mycat前,首先安裝jdk1.7及以上版本css
安裝可參照 https://www.cnblogs.com/llhhll/p/9260913.htmlhtml
下載mycat 1.6版本java
wget https://raw.githubusercontent.com/MyCATApache/Mycat-download/master/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gzmysql
Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
解壓後直接到 mycat 文件夾下解壓
tar -xzvf
拷貝到/usr/local下
cp -r /root/mycat /usr/local
1.第一種方式linux
輸入如下命令
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
vim /etc/profile 編輯 參考以下:
2.第二種方式
輸入
保存後 輸入mycat 查看是否生效nginx
...................................................................................................................................................................
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
或
wrapper.confvim $MYCAT_HOME/conf/
修改下面節點git
wrapper.java.command=/usr/java/jdk1.8.0_65/bin/java# Java Application
個人路徑爲
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 查看啓動狀態
查看啓動狀態:github
s -ef | grep mycat 或者 netstat -ntpl | grep 8066 【8066是mycat數據庫的訪問端口,記住此處不是3306】sql
........................................................................................................................................................................................................................................................數據庫
錯誤: 代理拋出異常 : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: 你的主機名: 你的主機名常見問題:
一.首先保證兩臺數據庫服務器上的mysql已經正常啓動
二.
解決辦法:
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是否容許端口遠程訪問開放端口
# vi /etc/sysconfig/iptables
wq保存退出,重啓防火牆
service iptables restart
這樣6379端口就能夠遠程訪問了
添加一個開放端口如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鏈接後就能夠操做表了。萬分感謝!