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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

docker安装mycat_分布式数据库中间件 MyCat 搞起来!

發(fā)布時(shí)間:2024/10/14 数据库 79 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker安装mycat_分布式数据库中间件 MyCat 搞起来! 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

關(guān)于 MyCat 的鋪墊文章已經(jīng)寫(xiě)了三篇了:

  • MySQL 只能做小項(xiàng)目?松哥要說(shuō)幾句公道話!

  • 北冥有 Data,其名為鯤,鯤之大,一個(gè) MySQL 放不下!

  • What?Tomcat 竟然也算中間件?

  • 今天終于可以迎接我們的大 Boss 出場(chǎng)了!

    MyCat 簡(jiǎn)介

    前面文章我們提到,如果數(shù)據(jù)量比較大的話,我們需要對(duì)數(shù)據(jù)進(jìn)行分庫(kù)分表,分完之后,原本存在一個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù),現(xiàn)在就存在多個(gè)數(shù)據(jù)庫(kù)中了,就像下面這樣:

    那么此時(shí) MyCat 所扮演的角色就是分布式數(shù)據(jù)庫(kù)中間件!

    MyCat 是一個(gè)開(kāi)源的分布式數(shù)據(jù)庫(kù)中間件,它實(shí)現(xiàn)了 MySQL 協(xié)議,在開(kāi)發(fā)者眼里,他就是一個(gè)數(shù)據(jù)庫(kù)代理,我們甚至可以使用 MySQL 的客戶端工具以及命令行來(lái)訪問(wèn) MyCat 。

    MyCat 現(xiàn)在已經(jīng)不僅僅只支持 MySQL 了,同時(shí)也支持 MSSQL、Oracle、DB2、以及 PostgreSQL等主流數(shù)據(jù)庫(kù)。甚至像 MongoDB 這種 NoSQL 也支持。

    快速入門(mén)

    搭建讀寫(xiě)分離

    要搞 MyCat ,一般要先搭建好 MySQL 的讀寫(xiě)分離,MySQL 的讀寫(xiě)分離可以參考松哥之前的這篇文章:

  • 提高性能,MySQL 讀寫(xiě)分離環(huán)境搭建(二)

  • MyCat 安裝

    環(huán)境:

    • CentOS7

    • JDK1.8

    MyCat 使用 Java 開(kāi)發(fā),因此,運(yùn)行 MyCat ,一定要具備 Java 環(huán)境,配置 Java 運(yùn)行環(huán)境這個(gè)比較容易,網(wǎng)上資料也很多,我就不詳細(xì)介紹了。

    Java 環(huán)境安裝好之后,首先下載 MyCat:

    wget http://dl.mycat.io/1.6.7.1/Mycat-server-1.6.7.1-release-20190213150257-linux.tar.gz

    下載完成后,對(duì)下載文件進(jìn)行解壓。

    tar -zxvf Mycat-server-1.6.7.1-release-20190213150257-linux.tar.gz

    解壓成功后,會(huì)出現(xiàn)一個(gè) mycat 目錄,進(jìn)入到 mycat/conf 目錄,對(duì) mycat 進(jìn)行配置:

    首先來(lái)配置 schema.xml 文件:

  • 首先在?schema?中指定邏輯庫(kù)的名字,邏輯庫(kù)是指?MyCat?中的庫(kù),這個(gè)庫(kù)不存儲(chǔ)數(shù)據(jù),數(shù)據(jù)存儲(chǔ)在?MySQL?中的物理庫(kù)中。

  • 邏輯庫(kù)中配置邏輯表,配置邏輯表時(shí),需要指定?dataNode?節(jié)點(diǎn),?dataNode?就是指數(shù)據(jù)庫(kù)存儲(chǔ)的位置

  • 配置?dataNode?,?dataNode?指定?dataHost?和物理庫(kù)的名字。

  • dataHost?則配置?MySQL?的主機(jī)和從機(jī)的位置,登錄密碼等。主機(jī)和從機(jī)都可以配置多個(gè)。

  • 配置完 schema.xml 后 ,接下來(lái)配置 server.xml。

    server.xml 中主要配置 MyCat 的登錄用戶名和密碼,以及需要操作的邏輯庫(kù)。

    配置完成后,接下來(lái)就可以啟動(dòng) MyCat 了 。

    執(zhí)行 MyCat 解壓目錄下的 bin 目錄下的 mycat 命令,可以啟動(dòng) MyCat

    ./bin/mycat start

    如果啟動(dòng)后,提示無(wú)法創(chuàng)建 mycat.pid 文件,就自己手動(dòng)創(chuàng)建一個(gè) mycat.pid 文件。啟動(dòng)成功之后,就可以在本地連接 MyCat 了,連接方式和 MySQL 一樣,唯一的區(qū)別在于端口號(hào)不同。

    在連接 MyCat 之前,先在 MySQL 物理庫(kù)中創(chuàng)建 db1、 db2 以及 db3 三個(gè)數(shù)據(jù)庫(kù)。

    使用 SQLyog 連接:

    也可以在 cmd 命令行登錄 MyCat :

    登錄成功后 ,在 MyCat 的窗口中,執(zhí)行如下命令,創(chuàng)建表:

    create table t_user (id integer primary key,username varchar(255))

    執(zhí)行成功后,我們會(huì)發(fā)現(xiàn)物理庫(kù)中出現(xiàn)了相應(yīng)的表。接下來(lái),手動(dòng)往各個(gè)物理庫(kù)的物理表中存儲(chǔ)一條數(shù)據(jù),然后在 MyCat 窗口中查詢:

    這樣就可以查詢到 三個(gè)庫(kù)中的三個(gè)表中的數(shù)據(jù)。

    問(wèn)題分析

    整個(gè)過(guò)程不難,但是有的小伙伴在第一次配置的過(guò)程中還是容易出錯(cuò),因此我這里還是來(lái)說(shuō)兩句,出錯(cuò)了要如何定位。

    一般來(lái)說(shuō),配置 MyCat 出錯(cuò),問(wèn)題可能發(fā)生在兩個(gè)階段。第一個(gè)階段就是客戶端連接 MyCat 出錯(cuò),第二個(gè)階段就是 MyCat 連接 MySQL 出錯(cuò)。

    無(wú)論你是使用 SQLyog 還是 Navicat ,我們?cè)谶B接數(shù)據(jù)庫(kù)的過(guò)程中,都可以先測(cè)試連接,很多人卡在這一步。

    如果在測(cè)試連接的時(shí)候就連接不通,說(shuō)明是 MyCat 的問(wèn)題,這個(gè)時(shí)候檢查步驟如下:

  • 首先當(dāng)然是查看日志信息,看能不能找出端倪

  • 通過(guò) jps 命令查看 mycat 是否成功啟動(dòng)

  • 檢查 server.xml 中配置是否正確,用戶名密碼是否輸入正確

  • 這是第一種可能的問(wèn)題,第二種問(wèn)題就是測(cè)試連接沒(méi)問(wèn)題,但是測(cè)試完后,卻連接不上。反映到 Navicat 上,就是測(cè)試連接沒(méi)問(wèn)題,測(cè)完之后,點(diǎn)擊連接名要打開(kāi)連接時(shí),Navicat 就崩了,出現(xiàn)這個(gè)問(wèn)題一般是 MyCat 在連接 MySQL 出問(wèn)題了,這個(gè)時(shí)候就要去檢查 schema.xml 文件中關(guān)于 MySQL 主機(jī)和從機(jī)的配置是否正確,數(shù)據(jù)庫(kù)地址是否正確,用戶名密碼是否正確。

    結(jié)語(yǔ)

    好了,本文主要簡(jiǎn)單介紹了下 MyCat 的安裝問(wèn)題,下篇文章我們來(lái)看 MyCat 中的分片規(guī)則問(wèn)題。

    參考資料:

  • MyCat 官方文檔

  • 如果小伙伴覺(jué)得松哥自己寫(xiě)的技術(shù)文章還過(guò)得去的話,歡迎積極轉(zhuǎn)發(fā),松哥每隔 15 天會(huì)根據(jù)微信后臺(tái)數(shù)據(jù),選一個(gè)分享轉(zhuǎn)發(fā)最多的一位小伙伴+精選評(píng)論最多的小伙伴,各送一本松哥自己的簽名書(shū)或者 Java 領(lǐng)域的經(jīng)典書(shū)籍,歡迎大家積極參與,下一次開(kāi)獎(jiǎng)時(shí)間在下周。

    ●松哥整理了 15 道 Spring Boot 高頻面試題,看完當(dāng)面霸!

    ●想讓自己的項(xiàng)目6666,可是 Chrome 不答應(yīng)!

    ●干貨|最新版 Spring Boot2.1.5 教程+案例合集

    ●極簡(jiǎn) Spring Boot 整合 Thymeleaf 頁(yè)面模板

    ●另一種緩存,Spring Boot 整合 Ehcache

    ●Spring Boot 整合 Shiro ,兩種方式全總結(jié)!

    ●Docker 入門(mén)及安裝[Docker 系列-1]

    ●Nginx 極簡(jiǎn)入門(mén)教程!

    ●Spring Boot 一個(gè)依賴搞定 session 共享,沒(méi)有比這更簡(jiǎn)單的方案了!

    ●Spring Boot 操作 Redis,三種方案全解析!

    你點(diǎn)的每個(gè)在看,我都認(rèn)真當(dāng)成了喜歡

    總結(jié)

    以上是生活随笔為你收集整理的docker安装mycat_分布式数据库中间件 MyCat 搞起来!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。