【mycat】mycat在windows環境下的安裝和啟動
1、下載
從如下地址下載mycat的安裝包:
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) |
+-----------+----------------------------------------------------------------------------------------------+
3 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) |
+-----------+----------------------------------------------------------------------+
3 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)) |
+-----------+--------------------------------------------------------------------------+
3 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') |
+-----------+--------------------------------------------------+
1 row in set
可以登入到資料庫分別檢視,三個資料庫中都建立了travelrecord的資料表,但是僅db1(dn1對應的資料庫)中插入了資料。相關文章
- Mycat 安裝配置
- docker中安裝mycatDocker
- HMMer在Windows環境下的安裝HMMWindows
- 白話MyCat——MyCat部署執行(Linux環境)與使用步驟詳解Linux
- Windows 環境下 Python 環境安裝WindowsPython
- Windows 環境下安裝 LaravelWindowsLaravel
- Windows 環境下安裝 RedisWindowsRedis
- Windows環境下安裝RabbitMQWindowsMQ
- Windows環境下的Oracle Data Guard安裝和配置WindowsOracle
- Windows環境下安裝LinuxWindowsLinux
- Windows環境下安裝NexusWindows
- windows下配置安裝YAF環境Windows
- windows環境下安裝seleniumWindows
- Mycat監控工具Mycat-webWeb
- WINDOWS環境下ORACLE啟動的問題WindowsOracle
- 【Mycat】Mycat核心開發者帶你輕鬆掌握Mycat路由轉發!!路由
- zookeeper安裝和使用 windows環境Windows
- Windows環境下Redis啟動多例項WindowsRedis
- MyCat入門篇-什麼是MyCat
- React Native在Windows下的安裝及環境配置(Android)React NativeWindowsAndroid
- 【Mycat】Mycat核心開發者帶你看盡Mycat三大核心配置檔案
- Windows環境下phpMyAdmin的安裝配置方法WindowsPHP
- 【mycat】mycat中配合mysql自增主鍵的使用MySql
- Clojure執行環境在windows上安裝Windows
- 【Mycat】Mycat故障轉移之writetype與switchtype
- 在Ubuntu環境下安裝eclipseUbuntuEclipse
- 在linux環境下安裝MysqlLinuxMySql
- 在Linux環境下安裝JBOSSLinux
- (轉)Windows下安裝Docker, GitBash環境配置WindowsDockerGit
- windows 下 MongoDB 的安裝與啟動WindowsMongoDB
- 【Windows】Apache的下載、安裝、啟動WindowsApache
- windows下mongodb的安裝及啟動WindowsMongoDB
- MyCat的快速搭建
- Windows環境啟動RocketMQWindowsMQ
- Windows 環境安裝LdapWindowsLDA
- Windows環境安裝ScrapyWindows
- [Windows環境]nvm工具的介紹和安裝Windows
- 【Mycat】作為Mycat核心開發者,怎能不來一波Mycat系列文章?