久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql中間件mycat怎么用

127次閱讀
沒有評論

共計 4211 個字符,預計需要花費 11 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章將為大家詳細講解有關 mysql 中間件 mycat 怎么用,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一,什么是 mycat

一個徹底開源的,面向企業應用開發的大數據庫集群

支持事務、ACID、可以替代 MySQL 的加強版數據庫

一個可以視為 MySQL 集群的企業級數據庫,用來替代昂貴的 Oracle 集群

一個融合內存緩存技術、NoSQL 技術、HDFS 大數據的新型 SQL Server

結合傳統數據庫和新型分布式數據倉庫的新一代企業級數據庫產品

一個新穎的數據庫中間件產品

以上是官方說明。其實就是數據庫的連接池。mysql proxy 也是一種連接池,但是效率很低。

二,mycat 安裝

1,下載地址 mycat

http://dl.mycat.io/

2,安裝 mycat

# tar zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local/

三,配置 mycat

1,配置 server.xml

# vim /usr/local/mycat/conf/server.xml // 添加以下內容
  user name= user  //mycat 用戶名
  property name= password user /property  //mycat 密碼
  property name= schemas mytest /property  //mycat 虛擬數據庫名
  property name= readOnly true /property  // 只讀
  /user 
  user name= tankzhang 
  property name= password admin /property 
  property name= schemas mytest /property 
  /user

在這里要注意,默認的虛擬數據名是 TESTDB,如果 schema.xml 里面沒有配置 testdb,那就要把 testdb 改成 schema.xml 里面有的虛擬數據名。這里定義的用戶名和密碼,虛擬數據庫名,并不是在 mysql 中真實存在的。

2,配置 schema.xml

# cat schema.xml
 ?xml version= 1.0 ? 
 !DOCTYPE mycat:schema SYSTEM  schema.dtd 
 mycat:schema xmlns:mycat= http://io.mycat/ 
 schema name= mytest  checkSQLschema= false  sqlMaxLimit= 100  dataNode= my1  / // 定義虛擬數據庫名 mytest
 dataNode name= my1  dataHost= test1  database= test  /  // 真實數據庫名 test
 dataHost name= test1  maxCon= 1000  minCon= 10  balance= 1  writeType= 0  dbType= mysql  dbDriver= native   
 heartbeat select user() /heartbeat 
 writeHost host= hostM1  url= 192.168.5.213:3306  user= tank  password= 123456    // 真實數據庫的連接方式
  readHost host= hostS1  url= 192.168.5.214:3306  user= tank  password= 123456  /  // 同上
  /writeHost 
  /dataHost 
 /mycat:schema

mycat 的配置參數,相當的多。重點說一下 balance= 1 與 writeType= 0

a. balance 屬性負載均衡類型,目前的取值有 4 種:

1. balance= 0 , 不開啟讀寫分離機制,所有讀操作都發送到當前可用的 writeHost 上。

2. balance= 1,全部的 readHost 與 stand by writeHost 參與 select 語句的負載均衡,簡單的說,當雙主雙從模式 (M1 – S1,M2- S2,并且 M1 與 M2 互為主備),正常情況下,M2,S1,S2 都參與 select 語句的負載均衡。

3. balance= 2,所有讀操作都隨機的在 writeHost、readhost 上分發。

4. balance= 3,所有讀請求隨機的分發到 wiriterHost 對應的 readhost 執行,writerHost 不負擔讀壓力,注意 balance=3 只在 1.4 及其以后版本有,1.3 沒有。

b. writeType 屬性

負載均衡類型,目前的取值有 3 種:

1. writeType= 0 , 所有寫操作發送到配置的第一個 writeHost,第一個掛了切到還生存的第二個

writeHost,重新啟動后已切換后的為準,切換記錄在配置文件中:dnindex.properties .

2. writeType= 1,所有寫操作都隨機的發送到配置的 writeHost。

3. writeType= 2,沒實現。

具體參數:http://mycat.io/document/Mycat_V1.6.0.pdf

3,配置主從服務器,就不在這兒說了,博客中有

4,添加真實用戶

grant all privileges on test.* to tank@ 192.168.%  identified by  123456 
flush privileges

在 213,214 二臺機器上添加用戶。

5,測試真實用戶連接,確保 schema.xml 中配置的真實用戶,能連上真實的數據庫。注意防火墻。

四,啟動 mycat

1,常用參數
./mycat start 啟動
./mycat stop 停止
./mycat console 前臺運行
./mycat restart 重啟服務
./mycat pause 暫停
./mycat status 查看啟動狀態

2,啟動,并查看 mycat

# ./mycat start
Starting Mycat-server...
# netstat -tpnl |grep 8066
tcp 0 0 :::8066 :::* LISTEN 31728/java 
# ./mycat status
Mycat-server is running (31726).

五,測試讀寫分離

# mysql -u tankzhang -p -P 8066 -h 127.0.0.1 // 一定要帶上 127.0.0.1
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.29-mycat-1.6-RELEASE-20161028204710 MyCat Server (OpenCloundDB)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type  help;  or  \h  for help. Type  \c  to clear the current input statement.
mysql  show databases;
+----------+
| DATABASE |
+----------+
| mytest | // 虛擬數據庫
+----------+
1 row in set (0.00 sec)
mysql  use mytest;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
mysql  CREATE TABLE IF NOT EXISTS `user` ( -  `id` int(11) unsigned NOT NULL DEFAULT  0  COMMENT  ID ,
 -  `name` varchar(20) NOT NULL DEFAULT   COMMENT  姓名 ,
 -  `create_time` int(10) NOT NULL DEFAULT  0  COMMENT  創建時間 ,
 -  PRIMARY KEY (`id`)
 -  ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Query OK, 0 rows affected (0.08 sec)
Database changed
mysql  show tables;
+----------------+
| Tables_in_test |
+----------------+
| user |
+----------------+
1 row in set (0.01 sec)
mysql  INSERT INTO `user` (`id` ,`name`)VALUES ( 1 ,  tank 
Query OK, 1 row affected (0.00 sec)
mysql  select * from user; // 修改從數據庫的 user 表中的 name, 會發現讀是從從數據庫讀取的
+----+-----------+-------------+
| id | name | create_time |
+----+-----------+-------------+
| 1 | tankzhang | 0 |
+----+-----------+-------------+
1 row in set (0.01 sec)

關于“mysql 中間件 mycat 怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向 AI 問一下細節

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-16發表,共計4211字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 烟台市| 五华县| 浑源县| 云南省| 类乌齐县| 六盘水市| 安图县| 侯马市| 巴青县| 即墨市| 青海省| 海安县| 正宁县| 嘉善县| 米脂县| 永和县| 长汀县| 桂阳县| 新源县| 吉林市| 鄱阳县| 天门市| 东兴市| 延安市| 夏河县| 尼玛县| 县级市| 兰州市| 浠水县| 光山县| 义乌市| 潜山县| 宜昌市| 长宁区| 府谷县| 永修县| 西畴县| 潞西市| 神池县| 社会| 周宁县|