国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從

這篇具有很好參考價值的文章主要介紹了搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

mycat2官網(wǎng):MyCat2

前言:mycat2下載地址無法訪問,不知道是不是被DNS污染了,還是需要搭梯子訪問,所以我只能找到1.21的版本進(jìn)行安裝。搭建mycat2的前提是搭建數(shù)據(jù)庫主從復(fù)制。

架構(gòu):雙主雙從

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從,數(shù)據(jù)庫,中間件,mycat2

配置:3臺服務(wù)器,4臺數(shù)據(jù)庫;其中2臺服務(wù)器為數(shù)據(jù)庫各裝主從配置,1臺服務(wù)器為數(shù)據(jù)庫中間件。

版本信息:mycat1.21,mysql8.0.16

下載地址:

安裝程序包:http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.21.zip

Jar包:http://dl.mycat.org.cn/2.0/1.21-release/mycat2-1.21-release-jar-with-dependencies.jar

一、配置雙主雙從數(shù)據(jù)庫

1、使用docker創(chuàng)建mysql數(shù)據(jù)庫

安裝mysql,安裝4臺數(shù)據(jù)庫,名稱和端口要區(qū)分開:

docker run -d --restart=always --name mysql-master?-p 3306:3306 -v /home/apps/mysql-master/conf:/etc/mysql/conf.d -v /home/apps/mysql-master/data:/var/lib/mysql -v /etc/localtime:/etc/localtime:ro --security-opt seccomp=unconfined -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.16 --lower_case_table_names=1

2、配置mysql數(shù)據(jù)庫:需要注意的是服務(wù)器id是唯一的,第一臺可以設(shè)置5,第二臺6,以此類推。

創(chuàng)建配置文件:vim /home/apps/mysql-master/conf/my.cnf

[mysqld]
# 服務(wù)器唯一id,默認(rèn)值1
server-id=6
# 設(shè)置日志格式,默認(rèn)值ROW
binlog_format=STATEMENT
# 二進(jìn)制日志名,默認(rèn)binlog
# log-bin=binlog
# 設(shè)置需要復(fù)制的數(shù)據(jù)庫,默認(rèn)復(fù)制全部數(shù)據(jù)庫
#binlog-do-db=mytestdb
# 設(shè)置不需要復(fù)制的數(shù)據(jù)庫
binlog-ignore-db=mysql
binlog-ignore-db=infomation_schema
binlog-ignore-db=sys
binlog-ignore-db=performance_schema
# 跳過緩存,解決連接數(shù)據(jù)庫緩慢
skip-host-cache
skip-name-resolve

在主從配置完成前,請不要操作數(shù)據(jù)庫寫入,否則日志會更新,此時同步數(shù)據(jù)會不全,當(dāng)然也可以用工具進(jìn)行同步。

3、配置主從:

先配置master1和slave1之間的主從同步。在master1中查看日志名和postition

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從,數(shù)據(jù)庫,中間件,mycat2

在slave1中修改好master1的ip、用戶名、密碼、端口等,分別執(zhí)行以下語句,配置后開啟同步,查看顯示同步狀態(tài)。

-- 在主機(jī)master1中查詢狀態(tài)
SHOW MASTER STATUS;

slave1執(zhí)行:
-- 配置主從同步
CHANGE MASTER TO MASTER_HOST='192.168.16.71', MASTER_USER='root',MASTER_PASSWORD='數(shù)據(jù)庫密碼', MASTER_PORT=3306,MASTER_LOG_FILE='binlog.000005',MASTER_LOG_POS=155;
-- 開啟主從同步
START SLAVE;
-- 顯示同步狀態(tài)
SHOW SLAVE STATUS
-- 停止主從同步
stop slave; 
-- 重置同步配置,在從機(jī)上執(zhí)行。功能說明:用于刪除SLAVE數(shù)據(jù)庫的relaylog日志文件,并重新啟用新的relaylog文件。
reset slave all;

?配置完成后查看同步狀態(tài),IO和SQL狀態(tài)均為YES,表示同步成功。顯示為NO,表示失敗,下方有失敗原因。

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從,數(shù)據(jù)庫,中間件,mycat2

4、配置主-主之間的同步

其實(shí)兩臺主機(jī)之間的同步,和主從同步配置一樣,把master1當(dāng)做master2的從機(jī),把master2當(dāng)做master1的從機(jī)。

例如:在master1中配置:將ip換成master2的ip信息,相當(dāng)于master2是master1的從機(jī)。以此配置master2。

master1執(zhí)行:
-- 配置主從同步
CHANGE MASTER TO MASTER_HOST='192.168.16.72', MASTER_USER='root',MASTER_PASSWORD='數(shù)據(jù)庫密碼', MASTER_PORT=3306,MASTER_LOG_FILE='binlog.000005',MASTER_LOG_POS=155;
-- 開啟主從同步
START SLAVE;
-- 顯示同步狀態(tài)
SHOW SLAVE STATUS
-- 停止主從同步
stop slave; 
-- 重置同步配置,在從機(jī)上執(zhí)行。功能說明:用于刪除SLAVE數(shù)據(jù)庫的relaylog日志文件,并重新啟用新的relaylog文件。
reset slave all;

當(dāng)所有主從配置完成后,數(shù)據(jù)庫的架構(gòu)就可以了。?

二、配置mycat2

參考文檔:Mycat2安裝配置(窗外流星) · 語雀

官網(wǎng):http://www.mycat.org.cn/
資源地址:http://dl.mycat.org.cn/2.0/
安裝程序包:http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.21.zip
Jar包:http://dl.mycat.org.cn/2.0/1.21-release/mycat2-1.21-release-jar-with-dependencies.jar

下載安裝程序包后解壓,把jar包放到lib文件夾中,然后上傳至中間件服務(wù)器/usr/local/目錄中。mycat2依賴組件有:mysql8數(shù)據(jù)庫,java8

1、安裝mysql數(shù)據(jù)庫

在數(shù)據(jù)庫中間服務(wù)器中,需要安裝mysql數(shù)據(jù)庫當(dāng)做邏輯庫

配置yum源:

下載鏈接:https://dev.mysql.com/downloads/repo/yum/

# 下載mysql8 yum源

wget?https://repo.mysql.com//mysql80-community-release-el8-9.noarch.rpm

# 安裝mysql8 yum源

rpm -ivh?mysql80-community-release-el8-9.noarch.rpm

# 安裝mysql8社區(qū)版

yum -y install mysql-community-server

# 啟動mysql并加入開機(jī)自啟

systemctl enable mysqld --now

tips:

# 找到mysql初始密碼
grep "password" /var/log/mysqld.log
# 修改mysql密碼,密碼要強(qiáng)密碼,不然會提示不符合規(guī)則
ALTER USER 'root'@'%' IDENTIFIED BY '密碼' PASSWORD EXPIRE NEVER;

mysql8.0.35授權(quán)遠(yuǎn)程登錄
use mysql;
update user set user.Host='%'where user.User='root';
flush privileges;?

2、安裝java8

參考資料:Jenkins安裝多個jdk版本,并在項(xiàng)目中選擇對應(yīng)jdk版本_jenkins指定編譯項(xiàng)目的jdk版本-CSDN博客

安裝好后,解壓到/usr/local,并配置vim /etc/profile,在最后加上java環(huán)境變量

export JAVA_HOME=/usr/local/jdk1.8.0_291
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

驗(yàn)證:java -version

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從,數(shù)據(jù)庫,中間件,mycat2

3、配置mycat2

配置邏輯梳理:

a、先做基本默認(rèn)結(jié)構(gòu),連通mycat2的8066端口,可以訪問成功;

b、配置schemas邏輯庫;

c、配置clusters集群;

d、配置datasources數(shù)據(jù)源。

mycat2命令:

后臺啟動MyCat:./mycat start
查看啟動狀態(tài):./mycat status
停止:./mycat stop
重啟:./mycat restart
前臺啟動并在控制臺打印日志(ctrl+c停止):./mycat console

目錄結(jié)構(gòu)如下:

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從,數(shù)據(jù)庫,中間件,mycat2

1).配置數(shù)據(jù)源datasources

cd?/usr/local/mycat/conf/datasources

vim prototypeDs.datasource.json

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從,數(shù)據(jù)庫,中間件,mycat2

然后進(jìn)入bin目錄,啟動mycat2,./mycat console

本地網(wǎng)絡(luò)主機(jī)使用數(shù)據(jù)庫連接軟件,如navicat,地址是中間件服務(wù)器地址,端口為8066,連接成功即可創(chuàng)建成功。

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從,數(shù)據(jù)庫,中間件,mycat2

2).創(chuàng)建邏輯庫schemas

連接到8066端口mysql數(shù)據(jù)庫,創(chuàng)建項(xiàng)目所需要的數(shù)據(jù)庫,這個是邏輯庫的名稱,創(chuàng)建的名稱和實(shí)際數(shù)據(jù)庫名稱一樣即可。其他條件不用加,例如特定字符集。

CREATE DATABASE database_name;

在此路徑下schemas,就可以看到以數(shù)據(jù)庫名自動建立的邏輯庫json文件。?

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從,數(shù)據(jù)庫,中間件,mycat2

編輯新增的邏輯庫json文件:

新增:"targetName":"wms",

這是集群名稱,后面會和cluster對應(yīng),注意這是json文件,增加一行后面要加逗號,

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從,數(shù)據(jù)庫,中間件,mycat2

3).創(chuàng)建clusters集群

回到conf文件目錄,進(jìn)入clusters文件夾。復(fù)制默認(rèn)集群配置文件prototype.cluster.json為新名稱的集群

cp?prototype.cluster.json?wms.cluster.json

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從,數(shù)據(jù)庫,中間件,mycat2

編輯文件wms.cluster.json,其中masters和replicas是配置主從數(shù)據(jù)庫服務(wù)器的,名稱和后續(xù)數(shù)據(jù)源配置統(tǒng)一。注意故障自動切換需要搭配timer時間配置,否則無效。

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從,數(shù)據(jù)庫,中間件,mycat2

{
        "clusterType":"MASTER_SLAVE",
        "heartbeat":{
                "heartbeatTimeout":1000,
                "maxRetry":3,
                "minSwitchTimeInterval":300,
                "slaveThreshold":0
        },
        "masters":[
                "master1",
                "master2"
        ],
        "maxCon":200,
        "name":"wms",
        "readBalanceType":"BALANCE_ALL",
        "switchType":"SWITCH",
        "replicas":[
                "master2",
                "slave1",
                "slave2"
        ],
        "timer":{
        "initialDelay": 30,
        "period":5,
        "timeUnit":"SECONDS"
        }
}

4).配置datasources數(shù)據(jù)源

進(jìn)入datasources目錄,復(fù)制默認(rèn)的prototypeDs.datasource.json文件,分別為主從數(shù)據(jù)庫,以此文件名為master1,master2,slave1,slave2開頭。

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從,數(shù)據(jù)庫,中間件,mycat2

依次編輯數(shù)據(jù)源文件:?

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從,數(shù)據(jù)庫,中間件,mycat2

以master1為例:vim master1.datasource.json

{
        "dbType":"mysql",
        "idleTimeout":60000,
        "initSqls":[],
        "initSqlsGetConnection":true,
        "instanceType":"READ_WRITE",
        "maxCon":1000,
        "maxConnectTimeout":3000,
        "maxRetryCount":5,
        "minCon":1,
        "name":"master1",
        "password":"數(shù)據(jù)庫密碼",
        "type":"JDBC",
        "url":"jdbc:mysql://192.168.12.12:3306/abc_wms?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8",
        "user":"root",
        "weight":0
}

?以slave1為例:vim slave1.datasource.json

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從,數(shù)據(jù)庫,中間件,mycat2

{
        "dbType":"mysql",
        "idleTimeout":60000,
        "initSqls":[],
        "initSqlsGetConnection":true,
        "instanceType":"READ",
        "maxCon":1000,
        "maxConnectTimeout":3000,
        "maxRetryCount":5,
        "minCon":1,
        "name":"slave1",
        "password":"數(shù)據(jù)庫密碼",
        "type":"JDBC",
        "url":"jdbc:mysql://192.168.12.14:3306/abc_wms?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8",
        "user":"root",
        "weight":0
}

?5).啟動mycat2

mycat2命令:

后臺啟動MyCat:./mycat start
查看啟動狀態(tài):./mycat status
停止:./mycat stop
重啟:./mycat restart
前臺啟動并在控制臺打印日志(ctrl+c停止):./mycat console?

可以先用./mycat console,查看是否有報(bào)錯信息,后續(xù)正式用后臺啟動mycat。

三、使用mycat2

項(xiàng)目中配置信息,修改為mycat2的服務(wù)器地址,用戶名和密碼,即可使用mycat2,會根據(jù)配置的信息自動切換查詢和新增的服務(wù)器。

以spring-boot的java項(xiàng)目為例,在這里修改為mycat2的連接信息。

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從,數(shù)據(jù)庫,中間件,mycat2

遇到的問題:

本人才疏學(xué)淺,沒有找到這個問題如何解決,因?yàn)榇藛栴},項(xiàng)目可視化大屏數(shù)據(jù)無法展示,不清楚是什么問題導(dǎo)致的也沒有解決方案,因?yàn)橹苯由狭苏江h(huán)境,所以有點(diǎn)影響,結(jié)果mycat中間件不適用本項(xiàng)目,棄用了。

搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從,數(shù)據(jù)庫,中間件,mycat2文章來源地址http://www.zghlxwxcb.cn/news/detail-812787.html

到了這里,關(guān)于搭建開源數(shù)據(jù)庫中間件MyCat2-配置mysql數(shù)據(jù)庫雙主雙從的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包