MyCat環(huán)境搭建詳細(xì)教程
一、準(zhǔn)備工作
1、確保jdk已安裝成功,并且jdk版本選用1.7以上版本
2、準(zhǔn)備一臺(tái)新的主機(jī)mysql_mycat放到master的前面做代理
mycat ip 192.168.232.13
3、將三臺(tái)機(jī)器互做本地解析
192.168.232.11 mysql_master 192.168.232.12 mysql_slave1 192.168.232.13 mysql_slave2 192.168.232.14 mysql_mycat
架構(gòu):
二、下載安裝mycat
我們通過(guò)本地上傳mycat包來(lái)安裝mycat
[root@mysql_mycat ~]# tar xf Mycat-server-1.6.5-release-linux.tar.gz -C /usr/local/
cd 到/usr/local目錄下,多了一個(gè)mycat文件夾
三、編輯配置文件
[root@mysql_mycat conf]# cd mycat/conf [root@mysql_mycat conf]# vim server.xml
1.server.xml
<user name="mycat" defaultAccount="true">
<property name="password">Qf@12345!</property>
<property name="schemas">testdb</property>
<!-- 表級(jí) DML 權(quán)限設(shè)置 -->
<!--
<privileges check="false">
<schema name="TESTDB" dml="0110" >
<table name="tb01" dml="0000"></table>
<table name="tb02" dml="1111"></table>
</schema>
</privileges>
-->
</user>
<!--只讀用戶(hù)-->
<user name="mycat_read">
<property name="password">Qf@12345!</property>
<property name="schemas">TESTDB</property>
<property name="readOnly">true</property>
</user>
2.編輯schema.xml
[root@mysql_mycat conf]# vim schema.xml
<?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="testdb" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema> <dataNode name="dn1" dataHost="localhost1" database="testdb"/> <dataHost name="localhost1" maxCon="1000" minCon="10" balance="3" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="mysql_master" url="192.168.232.11:3306" user="mycat" password="Qf@12345!" > <readHost host="mysql_slave1" url="192.168.232.12:3306" user="mycat" password="Qf@12345!" /> </writeHost> </dataHost> </mycat:schema>
注意:一定要嚴(yán)格遵守標(biāo)簽開(kāi)始和結(jié)尾格式,否則會(huì)報(bào)錯(cuò)導(dǎo)致mycat啟動(dòng)后自動(dòng)關(guān)閉
3.在mysql_mycat上創(chuàng)建庫(kù)
? mysql> create database testdb; mysql> use testdb; mysql> create table testdb.t1(id int); mysql> insert into testdb.t1 values(1); ?
4.在master上給用戶(hù)授權(quán)
[root@mysql_master ~]# mysql -uroot -p mysql> grant all on testdb.* to mycat@'%' identified by 'Qf@12345!'; mysql> flush privileges;
5.在mycat機(jī)器上測(cè)試mycat用戶(hù)登錄master
[root@mysql_mycat ~]# mysql -umycat -p'Qf@12345!' -h mysql_master
登錄上之后不進(jìn)行任何操作,直接退出
6.在wrapper.conf中添加
[root@mycat mycat]# cd conf/ [root@mysql_mycat conf]# vim wrapper.conf
#在設(shè)置JVM哪里添加如下內(nèi)容
wrapper.startup.timeout=300 //超時(shí)時(shí)間300秒
啟動(dòng):
[root@mysql_mycat mycat]# bin/mycat start Starting Mycat-server... [root@mysql_mycat mycat]# jps 3814 Jps 3801 WrapperSimpleApp
再次啟動(dòng)jps查看,如果進(jìn)程丟失一個(gè),則是因?yàn)閖dk版本問(wèn)題,更換jdk
四、卸載重新安裝jdk
1.卸載原有jdk版本
[root@mysql_mycat mycat]# java -version
查看jdk所有包
[root@mysql_mycat ~]# rpm -qa | grep openjdk
卸載:[root@mysql_mycat ~]# rpm -qa | grep openjdk |xargs rpm -e --nodeps
再查看:[root@mysql_mycat ~]# rpm -qa | grep openjdk
發(fā)現(xiàn)jdk已全部刪除
2.安裝新jdk1.8
(1)從本地上傳jdk文件壓縮包

(2)解壓縮
[root@mysql_mycat ~]# tar xzf jdk-8u162-linux-x64.tar.gz -C /usr/local/ [root@mysql_mycat ~]# cd /usr/local/ [root@mysql_mycat local]# mv jdk1.8.0_162/ java
(3)設(shè)置環(huán)境變量
[root@mysql_mycat ~]# vim /etc/profile export JAVA_HOME=/usr/local/java export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
然后使之生效:
[root@mysql_master local]# source /etc/profile
(4)查看java版本
[root@mysql_mycat ~]# java -version java version "1.8.0_162" Java(TM) SE Runtime Environment (build 1.8.0_162-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
五、開(kāi)啟mycat
[root@mysql_mycat mycat]# bin/mycat start [root@mysql_mycat mycat]# jps 7173 WrapperSimpleApp 7189 Jps 查看8066端口 [root@mysql_mycat ~]# netstat -lntp | grep java
(1)將master當(dāng)做mycat的客戶(hù)端
[root@mysql_master ~]# mysql -umycat -hmysql_mycat -p'Qf@12345!' -P 8066
六、常見(jiàn)問(wèn)題
1.在master上登錄:mysql -umycat -hmysql_mycat -p'Qf@12345!' -P 8066
2.若出現(xiàn)連接失敗,大概率是mycat未啟動(dòng)
3.cd到/mycat/bin/mycat目錄,start啟動(dòng)
4.查看jps,有兩個(gè)進(jìn)程,啟動(dòng)成功
5.多行注釋?zhuān)?<![CDATA[---內(nèi)容---]]>
6.mycat配置的密碼是Qf@12345! 7.插入數(shù)據(jù)操作在mycat端
七、show tables報(bào)錯(cuò)
如果在show table報(bào)錯(cuò):
mysql> show tables;
ERROR 3009 (HY000): java.lang.IllegalArgumentException: Invalid DataSource:0
解決方式:
登錄master服務(wù)將mycat的登錄修改為%
mysql> update user set Host = '%' where User = 'mycat' and Host = 'localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
或者在授權(quán)用戶(hù)mycat權(quán)限為*.*
到此這篇關(guān)于MyCat環(huán)境搭建詳細(xì)教程的文章就介紹到這了,更多相關(guān)MyCat環(huán)境搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL主從復(fù)制的原理圖解及Java語(yǔ)言示例使用
這篇文章主要介紹了MySQL的主從復(fù)制原理詳細(xì)分析,讀寫(xiě)分離是基于主從復(fù)制來(lái)實(shí)現(xiàn)的。文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08
論一條select語(yǔ)句在MySQL是怎樣執(zhí)行的
本文將建立一套建立一套MySQL的知識(shí)框架,通過(guò)討論select語(yǔ)句在MySQL是怎樣執(zhí)行的來(lái)展開(kāi)內(nèi)容,感興趣的小伙伴一起來(lái)看下文吧2021-08-08
MySQL統(tǒng)計(jì)今日生成create_time的數(shù)據(jù)量的方法小結(jié)
create_time通常是一個(gè)用于表示某個(gè)實(shí)體或事件創(chuàng)建時(shí)間的字段,在數(shù)據(jù)庫(kù)設(shè)計(jì)、日志記錄或許多軟件系統(tǒng)中常見(jiàn),它存儲(chǔ)的是一個(gè)日期或時(shí)間戳,記錄了數(shù)據(jù)首次被創(chuàng)建的具體時(shí)刻,本文介紹了MySQL統(tǒng)計(jì)今日生成create_time的數(shù)據(jù)量的方法,需要的朋友可以參考下2024-08-08
導(dǎo)致sql執(zhí)行速度慢的幾種情況盤(pán)點(diǎn)(生產(chǎn)環(huán)境踩過(guò)的坑)
盤(pán)點(diǎn)分析MySQL執(zhí)行速度慢可以幫助我們進(jìn)行優(yōu)化MySQL數(shù)據(jù)庫(kù)的效率,這篇文章主要給大家盤(pán)點(diǎn)介紹了關(guān)于導(dǎo)致sql執(zhí)行速度慢的幾種情況,文中介紹的這些主要是生產(chǎn)環(huán)境踩過(guò)的坑,需要的朋友可以參考下2023-03-03
MySQL中Innodb的事務(wù)隔離級(jí)別和鎖的關(guān)系的講解教程
這篇文章主要介紹了MySQL中Innodb的事務(wù)隔離級(jí)別和鎖的關(guān)系講解教程,來(lái)自于美團(tuán)技術(shù)團(tuán)隊(duì)的經(jīng)驗(yàn)實(shí)際經(jīng)驗(yàn)分享,需要的朋友可以參考下2015-11-11
Windows Server2019安裝MySQL5.7.25的方法
這篇文章主要介紹了Windows Server2019安裝MySQL5.7.25,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09
navicat 連接數(shù)據(jù)庫(kù)隔段時(shí)間后自動(dòng)斷開(kāi)連接的解決方案
這篇文章主要介紹了navicat 連接數(shù)據(jù)庫(kù)隔段時(shí)間后自動(dòng)斷開(kāi)連接的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12

