windows安裝Mycat並測試


相關文章:

 

1、下載系統安裝包

選擇相應的版本進行下載,地址:http://dl.mycat.io/ 。Mycat數據庫分庫分表中間件介紹 http://www.mycat.io/

2、安裝

安裝mycat前需要保證系統已安裝過jdk和mysql,將下載好的mycat安裝包解壓到某個目錄下,然后進入mycat解壓目錄下的bin目錄(打開cmd控制台確保是以管理員身份運行),執行安裝命令:

D:\develop\Mycat\bin>mycat.bat install

3、常用命令

可以使用如下命令啟動mycat服務

mycat.bat start

啟動后可以通過如下命令查看mycat的運行狀態:

mycat.bat status

可以使用如下命令停止mycat服務

mycat.bat stop

重啟服務命令

mycat.bat restart

4、測試

4.1 配置文件修改

進入conf目錄,打開schema.xml配置文件,schema.xml配置文件是mycat中重要的配置文件之一,它涵蓋了mycat的邏輯庫、表、分片規則、分批按節點及數據源。

對默認的schema.xml進行簡單的修改配置,主要配置本機的mysql連接信息。找到dataHost節點,按照當前自己mysql的配置信息來修改配置。如下:

<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
              writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
        <heartbeat>select user()</heartbeat>
        <!-- can have multi write hosts -->
        <writeHost host="hostM1" url="localhost:3306" user="root"
                   password="root">
            <!-- can have multi read hosts -->
            <!--<readHost host="hostS2" url="192.168.1.200:3306" user="root" password="xxx" />-->
        </writeHost>
        <!--
        <writeHost host="hostS1" url="localhost:3316" user="root"
                   password="123456" />
        -->
        <!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
    </dataHost>

修改了hostM1的連接密碼,注釋了名稱為hostS2的只讀標簽和名稱為hostM2的寫標簽

4.2 mycat連接

和mysql連接一樣,就是端口改為8066,用戶名和密碼可以查看mycat conf目錄中的server.xml中的定義,本次使用的是默認的root,123456來連接,連接成功后只能操作名為TESTDB的數據庫。

4.3 在mysql中創建數據庫

按照schema.xml配置中的示例,我們需要建立分別名為db1、db2、db3的數據庫。連接mysql,建立相關的數據庫:

create database db1 character set utf8;
create database db2 character set utf8;
create database db3 character set utf8;

4.4 在mycat中創建全局表測試

create table company(id int not null primary key,name varchar(100),sharding_id int not null);

company表示全局表,使用explain create table company(id int not null primary key,name varchar(100),sharding_id int not null);查看執行計划。如圖:

在mysql中可以看到db1,db2,db3數據庫中出現company表

接着插入一條測試數據

mysql> insert into company(id,name,sharding_id) values(1,'hello, mycat',10000);

查看執行狀態如下:

查看mysql中company表的數據:

 

可以看到三個庫的company表都有插入數據

 4.5 水平表測試

mysql> create table travelrecord(id int not null primary key,name varchar(100));

查看執行計划如下圖:

查看mysql的db1,db2,db3數據庫:

接着插入一條數據:

mysql> insert into travelrecord(id,name) values(1,'mycat');

查看執行計划如下圖:

從上面可以看到只用dn1節點插入了數據,查看mysql的db1,db2,db3三個數據庫的travelrecord表的數據

可以看到只有db1中的travelrecord表有插入數據 

5、問題

5.1 啟動服務是報錯 The Mycat-server service was launched, but failed to start。解決:

修改mycat下的\conf\wrapper.conf文件中的

wrapper.java.command=java

改成

wrapper.java.command=C:\Java\jdk1.7.0_21\bin\java.exe

指定java

5.2 啟動失敗 The specified size exceeds the maximum representable size。解決:

修改mycat下的\conf\wrapper.conf文件中的

wrapper.java.additional.10=-Xmx4G
wrapper.java.additional.11=-Xms1G

改為:

wrapper.java.additional.10=-Xmx512M
wrapper.java.additional.11=-Xms64M

重新啟動即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM