a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > 文庫 > 正文

mycat在windows環境下的安裝和啟動

2020-10-29 21:46:49
字體:
來源:轉載
供稿:網友

 1、下載

從如下地址下載mycat的安裝包:

http://www.mycat.io/

2、解壓

解壓下載的安裝包

3、安裝

安裝mycat前需要先安裝jdk和mysql。mycat1.6版本建議使用的jdk是1.7以上版本,mysql建議使用5.6版本。安裝玩jdk和mysql后,進入mycat解壓目錄下的bin目錄,如本文的路徑如下:

D:/Program Files (x86)/mycat/bin 

安裝shift鍵,點擊鼠標右鍵,選擇"在此處打開命令窗口"打開命令行窗口(注意需要管理員賬戶登錄,如果不是請使用管理員身份運行cmd打開命令行窗口)。在打開的命令行窗口中執行如下命令安裝mycat:

mycat.bat install 

4、啟動和停止

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

mycat.bat start 

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

mycat.bat status 

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

mycat.bat stop 

5、測試

5.1、修改mycat與mysql的鏈接信息

我們打開mycat安裝目錄,并進入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的寫標簽。

5.2、創建數據庫

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

mysql -uroot -proot; create database db1 character set utf8; create database db2 character set utf8; create database db3 character set utf8; 

5.3、鏈接數據庫

使用數據庫鏈接工具或命令。本文使用navicat鏈接數據庫。使用navicat鏈接數據庫時的主要參數配置如下:

端口號:8066

用戶名和密碼可以查看mycat conf目錄中的server.xml中的定義,本文使用的是默認的root,123456來連接,連接成功后只能操作名為TESTDB的數據庫;

5.4、全局表的測試

使用navicat打開命令列界面。輸入如下命令創建數據表:

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

之后使用如下命令查看創建表命令的執行狀態:

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

因為company在schema.xml中北定義為了全局表,所以正常情況下可以看到如下類似結果:

+-----------+----------------------------------------------------------------------------------------------+ | DATA_NODE | SQL                                             | +-----------+----------------------------------------------------------------------------------------------+ | dn1    | create table company(id int not null primary key,name varchar(100),sharding_id int not null) | | dn2    | create table company(id int not null primary key,name varchar(100),sharding_id int not null) | | dn3    | create table company(id int not null primary key,name varchar(100),sharding_id int not null) | +-----------+----------------------------------------------------------------------------------------------+  rows in set 

緊接著我們嘗試執行如下命令執行一條插入數據的操作:

insert into company(id,name,sharding_id) values(1,'leader us',10000); 

然后類似執行explain命令查看insert命令的執行狀態:

explain insert into company(id,name,sharding_id) values(1,'leader us',10000); 

正常情況下我們會看到如下結果:

+-----------+----------------------------------------------------------------------+ | DATA_NODE | SQL                                 | +-----------+----------------------------------------------------------------------+ | dn1    | insert into company(id,name,sharding_id) values(1,'leader us',10000) | | dn2    | insert into company(id,name,sharding_id) values(1,'leader us',10000) | | dn3    | insert into company(id,name,sharding_id) values(1,'leader us',10000) | +-----------+----------------------------------------------------------------------+  rows in set 

之后我們直接登錄到mysql服務器分別查看db1、db2、db3三個數據庫,可以看到數據庫中都創建了名為company的數據表,同時表中都插入了名為leader us的數據。

5.5、水平分表測試

如5.4中的操作。我們在navicat的命令列窗口中執行如下命令創建travelrecord表:

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

之后使用explain查看:

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

結果如下:

+-----------+--------------------------------------------------------------------------+ | DATA_NODE | SQL                                   | +-----------+--------------------------------------------------------------------------+ | dn1    | create table travelrecord(id int not null primary key,name varchar(100)) | | dn2    | create table travelrecord(id int not null primary key,name varchar(100)) | | dn3    | create table travelrecord(id int not null primary key,name varchar(100)) | +-----------+--------------------------------------------------------------------------+  rows in set 

然后執行如下命令插入一條數據:

insert into travelrecord(id,name) values(1,'hp'); 

執行explain查看執行結果:

explain insert into travelrecord(id,name) values(1,'hp'); 

結果如下:

+-----------+--------------------------------------------------+ | DATA_NODE | SQL                       | +-----------+--------------------------------------------------+ | dn1    | insert into travelrecord(id,name) values(1,'hp') | +-----------+--------------------------------------------------+  row in set 

可以登錄到數據庫分別查看,三個數據庫中都創建了travelrecord的數據表,但是僅db1(dn1對應的數據庫)中插入了數據。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲日本aⅴ片在线观看香蕉 | 亚洲狠狠| 亚洲一级在线观看 | 国产精品理论片 | 欧洲成人在线视频 | 91.com在线 | 日韩大片在线观看 | 国产精品国产精品国产专区不片 | 日韩和的一区二区 | 国产ts余喵喵和直男多体位 | 欧美高清在线观看 | 国产精品国产三级国产普通话99 | 久久三区 | 日本久久99 | 久久人人爽爽爽人久久久 | 一区在线播放 | 黄色免费av网站 | 国产精品污www在线观看 | 国产欧美日韩精品一区 | 亚洲美女性视频 | 91av久久| 你懂的在线网址 | 91精品久久久久久久久久入口 | 91在线综合 | 欧美一区二区视频在线观看 | 日韩欧美在线视频播放 | 99免费观看视频 | 久久久久亚洲一区二区三区 | 久久久久久久国产 | 日韩一区免费观看 | 特级黄一级播放 | 中文字幕久久精品 | 伊人久久一区二区三区 | 久久黄色网 | 羞羞在线视频 | 手机看片福利视频 | 青青草视频免费观看 | 日韩精品一区二区三区在线观看 | 久久久久久免费 | 免费一区二区 | 亚洲国产精品人人爽夜夜爽 |