MyCat配置與使用

  MyCat主機上也要安裝Mysql。mysql

1、讀寫分離配置:linux

  1. 上傳或下載:sql

wget http://dl.mycat.io/1.6.7.1/Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz

  2. 解壓:數據庫

tar xzvf /srv/ftp/Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz -C /usr/local/

  3. 打開配置文件「conf/schema.xml」,進行配置:vim /usr/local/mycat/conf/schema.xml vim

    》處理關係:「<schema>」定義dataNode --> <dataNode>定義數據主機 --> <dataHost>測試

<?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"/>
        <dataNode name="dn1" dataHost="localhost1" database="yootk" />
        <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="hostM1" url="192.168.28.224:3306" user="root"
                                   password="123456">
                        <readHost host="hostS2" url="192.168.28.225:3306" user="root" password="123456" />
                </writeHost>
        </dataHost>
</mycat:schema>

  4. 啓動MyCat,啓動以前要保證全部的MySQL服務已經正常開啓,並配置好主從關係:url

/usr/local/mycat/bin/mycat start

  5. 查看MyCat鏈接帳戶:vim /usr/local/mycat/conf/server.xmlspa

<user name="root" defaultAccount="true">
                <property name="password">123456</property>
                <property name="schemas">TESTDB</property>
</user>

  6. 登陸控制檯:mysql -uroot -p123456 -P9066 -DTESTDB -h127.0.0.1code

    控制檯的默認端口爲:9066,然後須要使用的邏輯數據庫爲:TESTDBserver

  7. 使用操做命令:

show @@help ;            //查看操做命令
show @@database ;        //查看全部的數據庫信息 ,此時返回MyCat定義的邏輯數據庫
show @@datasource ;      //查看全部的主機鏈接信息

  8. 若是此時要想進行數據操做,那麼確定沒法在控制檯中完成,則應用登陸數據控制端口(8066):

mysql -uroot -p123456 -P8066 -DTESTDB -h192.168.28.223

  9. 若是要想測試讀寫分離操做機制,那麼像數據庫裏面存儲一些數據信息:

    》MySQL主機增長腳本:

/usr/local/mysql/bin/mysqld_safe --user=root > /dev/null 2>&1 &
mysql -h127.0.0.1 -uroot -p123456
DROP DATABASE IF EXISTS yootk ;
CREATE DATABASE yootk CHARACTER SET UTF8 ;
use yootk ;
CREATE TABLE member(
   mid VARCHAR(50) ,
   name VARCHAR(50) ,
   age INT ,
   salary DOUBLE ,
   birthday DATE ,
   note  TEXT ,
   CONSTRAINT pk_mid PRIMARY KEY(mid)
) ;
INSERT INTO member(mid,name,age,salary,birthday,note) VALUES ('lee','hello',10,2000.0,'2005-11-11','very good') ;
INSERT INTO member(mid,name,age,salary,birthday,note) VALUES ('admin','administrator',10,2000.0,'2005-11-11','very good') ;
INSERT INTO member(mid,name,age,salary,birthday,note) VALUES ('guest','administrator',10,2000.0,'2005-11-11','very good') ;

    》MyCat上執行sql:

use yootk ;
INSERT INTO member(mid,name,age,salary,birthday,note) VALUES ('lee-1','hello',10,2000.0,'2005-11-11',@@hostname) ;
INSERT INTO member(mid,name,age,salary,birthday,note) VALUES ('lee-2','hello',10,2000.0,'2005-11-11',@@hostname) ;
INSERT INTO member(mid,name,age,salary,birthday,note) VALUES ('lee-3','hello',10,2000.0,'2005-11-11',@@hostname) ;
INSERT INTO member(mid,name,age,salary,birthday,note) VALUES ('lee-4','hello',10,2000.0,'2005-11-11',@@hostname) ;
INSERT INTO member(mid,name,age,salary,birthday,note) VALUES ('lee-5','hello',10,2000.0,'2005-11-11',@@hostname) ;

  》在MyCat上執行數據查詢操做:select * from member ;

  若是要想讓wirteHost和readHost都參與讀取操做,那麼能夠將「conf/schema.xml 」配置文件裏的balance="0"修改成2,隨後從新啓動mycat。

    關閉:/usr/local/mycat/bin/mycat stop

    啓動:/usr/local/mycat/bin/mycat start

相關文章
相關標籤/搜索