my cat windows 환경 에서 의 설치 및 시작

1.다운로드
아래 주소 에서 my cat 설치 패 키 지 를 다운로드 합 니 다:
http://www.mycat.io/
2.스트레스 해소
압축 해제 다운로드 패키지
3.설치
my cat 를 설치 하기 전에 jdk 와 my sql 을 설치 해 야 합 니 다.my cat 1.6 버 전 은 jdk 를 1.7 이상 사용 하 는 것 을 권장 하 며,my sql 은 5.6 버 전 을 사용 하 는 것 을 권장 합 니 다.jdk 와 my sql 을 설치 한 후 my cat 압축 해제 디 렉 터 리 에 있 는 bin 디 렉 터 리 에 들 어 갑 니 다.본 고의 경 로 는 다음 과 같 습 니 다.

D:\Program Files (x86)\mycat\bin 
shift 키 를 설치 하고 마우스 오른쪽 단 추 를 누 르 고'명령 창 을 엽 니 다'를 선택 하여 명령 행 창 을 엽 니 다(관리자 계 정 로그 인 이 필요 합 니 다.그렇지 않 으 면 관리자 신분 으로 cmd 를 실행 하여 명령 행 창 을 엽 니 다).열 린 명령 행 창 에서 다음 명령 을 실행 하여 my cat 를 설치 합 니 다.

mycat.bat install 
4.시작 과 정지
다음 명령 으로 my cat 서 비 스 를 시작 할 수 있 습 니 다.

mycat.bat start 
시작 후 다음 명령 을 통 해 my cat 의 운행 상 태 를 볼 수 있 습 니 다.

mycat.bat status 
다음 명령 으로 my cat 서 비 스 를 중단 할 수 있 습 니 다.

mycat.bat stop 
5.테스트
5.1 mycat 와 mysql 의 링크 정보 수정
우 리 는 my cat 설치 디 렉 터 리 를 열 고 conf 디 렉 터 리 에 들 어가 schema.xml 설정 파일 을 엽 니 다.schema.xml 설정 파일 은 my cat 에서 중요 한 설정 파일 중 하나 입 니 다.이것 은 my cat 의 논리 라 이브 러 리,표,분할 규칙,분할 노드 와 데이터 소스 를 포함 합 니 다.기본 schema.xml 에 대해 간단 한 설정 수정(원본 프로필 백업 주의)을 진행 합 니 다.주로 이 컴퓨터 의 mysql 링크 정 보 를 설정 합 니 다.dataHost 노드 를 찾 아 현재 my sql 설정 정보 에 따라 설정 을 수정 합 니 다.다음 과 같이 수 정 된 이 부분 설정:

<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> 
나 는 주로 hostM 1 의 링크 비밀 번 호 를 수정 하 였 으 며,동시에 hostS 2 라 는 이름 의 읽 기 전용 탭 과 이름 이 hostM 2 인 탭 을 주석 하 였 다.
5.2,데이터베이스 생 성
schema.xml 설정 의 예제 에 따라 db1,db2,db3 라 는 데이터 베 이 스 를 만들어 야 합 니 다.my sql 을 연결 하여 관련 데이터 베 이 스 를 만 듭 니 다:

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
사용자 이름과 비밀 번 호 는 my cat conf 디 렉 터 리 의 server.xml 의 정 의 를 볼 수 있 습 니 다.본 고 는 기본 루트,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); 
copany 는 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 
그 후에 우 리 는 my sql 서버 에 직접 로그 인하 여 각각 db1,db2,db3 세 개의 데이터 베 이 스 를 볼 수 있 습 니 다.데이터 베이스 에 모두 copany 라 는 데이터 시트 를 만 들 었 고 표 에 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 에 대응 하 는 데이터베이스)에 만 데 이 터 를 삽입 하 였 습 니 다.

좋은 웹페이지 즐겨찾기