日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

如何使用Docker安装Mycat中间件 | 实现主从的读写分离,搭建属于你的Mysql 集群 | 来看看这篇吧

發布時間:2025/3/19 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使用Docker安装Mycat中间件 | 实现主从的读写分离,搭建属于你的Mysql 集群 | 来看看这篇吧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上一篇寫了如何使用Docker搭建Mysql的主從復制,這篇文章是在已經搭建好Mysql的主從復制的基礎上實現讀寫分離的。

直接CV也能搭建起來,莫慌。

我們一起加油!!!

只要有docker的環境就歐克了。

一、創建Mycat文件夾

mkdir /usr/local/mycat/conf -p

二、創建Docker文件夾

mkdir /usr/local/docker/mycat/ -p

然后cd到/usr/local/docker/mycat 目錄下

cd /usr/local/docker/mycat


三、下載Mycat并解壓

在這個目錄下(/usr/local/docker/mycat)下載 Mycat

wget http://dl.mycat.org.cn/1.6.7.1/Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz

將Mycat-server-1.6.7.1-release-20190627191042-linux重命名為mycat

mv Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz mycat.tar.gz

將mycat.tar.gz進行解壓

tar -zxvf mycat.tar.gz

此時目錄結構:

為了不破壞原來的文件,我們將mycat的配置文件復制到/usr/local/mycat下。

cp -r mycat/conf/ /usr/local/mycat # 當前文件夾下mycat/conf/ 復制到 /usr/local/mycat 目錄下

可以看到已經復制成功了。

四、編寫Dockerfile文件

依舊是在/usr/local/docker/mycat目錄下進行操作:

vim dockerfile

dockerfile文件內容:

#基于openjdk:8 創建鏡像, #如果是基于centos或其他的,必須保證已安裝了JDK,否則就需要在Dockerfile文件中也ADD進來 FROM openjdk:8#將宿主機目錄下的文件拷貝進鏡像且ADD命令會自動處理URL和解壓tar壓縮包 #將mycat解壓到/usr/local目錄中,得到 /usr/local/mycat ADD mycat.tar.gz /usr/local#容器數據卷,用于數據保存和持久化工作 #將mycat的配置文件的地址暴露出映射地址,啟動時直接映射宿主機的文件夾 VOLUME /usr/local/mycat WORKDIR /usr/local/mycat#用來在構建鏡像過程中設置環境變量 ENV MYCAT_HOME=/usr/local/mycat#暴露出MyCat的所需端口 EXPOSE 8066 9066#以前臺進程的方式啟動MyCat服務 CMD ["/usr/local/mycat/bin/mycat", "console","&"]

五、打包鏡像

docker build -t mycat:1.6 . #注意最后的小數點 . 點代表dockerfile文件在執行打包命令的目錄下

六、編寫Mycat配置文件

跳轉到/usr/local/mycat/conf/ 目錄下(就是我們之前將配置文件復制去的那個目錄)

cd /usr/local/mycat/conf/ ls #展示文件

重點文件就是標紅的三個

  • schema.xml、server.xml :用于讀寫分離,在我們這個小Demo中,只對schema.xml做了編輯。
  • rule.xml:用于分表分庫配置文件。
  • 詳情請查詢相關官方文檔。

編輯schema.xml文件:

vim schema.xml

默認文件內容:

刪除不必要的,改成下面這樣的即可。

<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"> </schema><dataNode name="dn1" dataHost="localhost1" database="testdb" /> <dataHost name="localhost1" maxCon="1000" minCon="10" balance="3" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="hostM1" url="47.113.227.254:3310" user="root" password="123456"> <readHost host="hostS2" url="47.113.227.254:3311" user="root" password="123456" /> </writeHost> </dataHost> </mycat:schema>

關于schema.xml做幾點簡單說明:

  • dataHost下的balance屬性,也是通過此屬性配置讀寫分離的類型:
    • balance=“0”, 不開啟讀寫分離機制,所有讀操作都發送到當前可用的 writeHost 上。
    • balance=“1”,全部的 readHost 與 stand by writeHost 參與 select 語句的負載均衡,
    • balance=“2”,所有讀操作都隨機的在 writeHost、readhost 上分發。
    • balance=“3”,所有讀請求隨機的分發到 readhost 執行,writerHost 不負擔讀壓力
  • writeType=“0”: 所有寫操作發送到配置的第一個writeHost,第一個掛了切到還生存的第二個
  • switchType=“1”:
    • 1 默認值,自動切換。
    • -1 表示不自動切換
    • 基于 MySQL 主從同步的狀態決定是否切換。

  • 補充-命令模式下的快速刪除:

    按下insert鍵后–>再按下Esc進入命令模式。

    • 按dd即刪除光標當前所在行。
    • 按ndd(n表示你輸入的數字)表示刪除包括光標所在行開始后的n行。

    七、啟動鏡像

    docker run --name mycat -p 8066:8066 -p 9066:9066 -v /usr/local/mycat/conf/:/usr/local/mycat/conf/ -v /usr/local/mycat/logs/:/usr/local/mycat/logs/ -d mycat:1.6 docker ps -a #查看容器docker logs mycat #查看運行日志

    八、連接測試

    8.1、Navicat連接

    可使用Navicat或者CMD命令行。

    關于這里的賬號和密碼

    是在之前提到過的server.xml配置文件中。

    我的連接上是這樣的,因為我已經搭建起了主從復制,里面也有表,所以是這樣的。

    8.2、CMD連接

    mysql -uroot -p123456 -h IP地址 -P 8066

    8.3、讀寫分離測試

    我們在主機中insert一句insert into mytable values(99,@@hostname),這樣就可以看出問題了。

    從機在復制這條語句去執行的時候,和出現和主機不一樣的數據(有混合配置可以處理,我這里沒有處理,主要產生于函數),這樣我們再使用mycat去讀取數據,就可以看到是否實現讀寫分離了。

    主機

    從機

    從機取到的數據是不一樣的。

    mycat讀取

    可以看到讀取的是從機上的數據,可以說明我們確實已經實現了讀寫分離啦。

    九、自言自語

    我其實真的非常好奇,一個真正高可用的系統要用多少個服務器😂。

    寫出來蠻久了,但是這方面看的人少,就一直留著自己在玩。

    總結

    以上是生活随笔為你收集整理的如何使用Docker安装Mycat中间件 | 实现主从的读写分离,搭建属于你的Mysql 集群 | 来看看这篇吧的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产激情免费视频 | 日韩福利一区二区 | 三a大片 | 在线观看av黄色 | 精品乱子伦一区二区三区 | 欧美精品欧美精品系列 | 欧美做受xxxxxⅹ性视频 | 天天摸天天爽 | 91网在线看| 一卡二卡三卡在线视频 | 国产啊啊啊啊 | 在线一级视频 | 综合在线一区 | 亚洲区小说区图片区 | 超碰在线国产 | 一区二区三区久久 | 色久影院 | 免费黄网在线观看 | 色中色综合 | 国产激情av在线 | 99久久精品国产一区二区成人 | 精品国产乱码久久久久久久 | 午夜黄色在线观看 | 臭脚猛1s民工调教奴粗口视频 | 久久一二区 | 琪琪射| www.色悠悠| 一区二区三区有限公司 | 樱花草涩涩www在线播放 | 国产成人自拍在线 | 亚洲情热| 波多野结衣激情视频 | 色四虎| 亚洲一区二区色图 | 另类小说一区二区 | 99riav国产精品 | 日韩成人av影院 | 成人午夜在线视频 | 波多野结衣视频网站 | 免费看黄色a级片 | 污网站免费在线观看 | 一级色视频 | 国产盗摄一区二区三区在线 | 中文字幕高清av | 少妇一级淫片免费放播放 | 久久偷拍免费视频 | 欧美成人精品在线 | 国产精品久久久久久无人区 | 日韩资源| 亚洲欧美国产高清 | 亚洲国产精品成人av | 99在线国产 | 亚洲第一页综合 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产精品三级久久久久久电影 | 一级免费大片 | 91精品国产乱码久久久 | chinese hd xxxx tube麻豆tv | 影音先锋中文字幕一区二区 | 九九热九九热 | 青青在线播放 | 亚洲福利视频一区 | 亚洲免费成人在线 | 国产成a人亚洲精v品在线观看 | 九七久久 | 六月婷婷激情 | 国产91在线视频观看 | 人人澡人人澡人人澡 | 黄色正能量网站 | 丰满岳乱妇国产精品一区 | 国产美女视频91 | 国产又粗又猛视频 | 午夜激情福利在线 | 免费av视屏 | 2020av在线 | 亚洲啪啪网站 | 国产三级三级在线观看 | 国产精品免费一区二区区 | 精品在线观看视频 | 樱井莉亚av | 国产成年人网站 | 婷婷综合在线观看 | 成人免费在线网站 | 毛片高清免费 | 国产人妖在线视频 | 久久久精品免费视频 | 免费看日产一区二区三区 | 成人综合社区 | wwww黄色片| 日韩另类 | 国产日产精品一区 | 亚洲精品视频大全 | 国产精成人品免费观看 | 中文字幕av久久爽一区 | 国产福利视频一区二区三区 | 日韩一区中文 | 国产妻精品一区二区在线 | 女性裸体瑜伽无遮挡 | 91国产精品 |