版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
云計算集群技術(shù)與應(yīng)用教學(xué)設(shè)計課程名稱:云計算集群技術(shù)與應(yīng)用__授課年級:_______________________授課學(xué)期:_______________________教師姓名:_______________________年月日課程名稱第3章數(shù)據(jù)庫集群計劃學(xué)時4學(xué)時內(nèi)容分析本章主要介紹數(shù)據(jù)庫集群的相關(guān)知識,包含數(shù)據(jù)庫簡介、數(shù)據(jù)庫集群簡介、數(shù)據(jù)庫集群架構(gòu)、數(shù)據(jù)庫主從復(fù)制實戰(zhàn)、數(shù)據(jù)庫讀寫分離實戰(zhàn)。教學(xué)目標與教學(xué)要求【知識目標】理解數(shù)據(jù)庫簡介。理解數(shù)據(jù)庫集群簡介。理解數(shù)據(jù)庫集群架構(gòu)?!炯寄苣繕恕空莆詹渴饠?shù)據(jù)庫主從復(fù)制。掌握部署數(shù)據(jù)庫讀寫分離?!舅颊四繕恕恳龑?dǎo)學(xué)生認識學(xué)習(xí)的過程也是由簡入難的逐步積累過程,并且學(xué)習(xí)的過程也需要秉承嚴謹、踏實、精益求精的大國工匠精神。引導(dǎo)學(xué)生樹立科學(xué)嚴謹?shù)募軜?gòu)精神,數(shù)據(jù)安全意識。培養(yǎng)學(xué)生項目開發(fā)的全局觀和系統(tǒng)思維。教學(xué)重點數(shù)據(jù)庫集群架構(gòu)、數(shù)據(jù)庫主從復(fù)制實戰(zhàn)、數(shù)據(jù)庫讀寫分離實戰(zhàn)教學(xué)難點數(shù)據(jù)庫集群架構(gòu)、數(shù)據(jù)庫主從復(fù)制實戰(zhàn)、數(shù)據(jù)庫讀寫分離實戰(zhàn)教學(xué)方式課堂講解配合ppt演示2學(xué)時,上機演練2學(xué)時教學(xué)過程第一學(xué)時(數(shù)據(jù)庫簡介、數(shù)據(jù)庫集群簡介、數(shù)據(jù)庫集群架構(gòu))一、提出需求,導(dǎo)入學(xué)習(xí)任務(wù)(1)思考數(shù)據(jù)庫集群的學(xué)習(xí)應(yīng)該從何入手。通過MySQL宕機事故,引出數(shù)據(jù)庫集群的重要性。事件一:2012年9月10-11日,GitHub服務(wù)中斷,持續(xù)1.46小時。宕機的原因為GitHub將一對古老的、基于DRBD的MySQL服務(wù)器替換成一個擁有3個節(jié)點的集群。在合并到新系統(tǒng)時,“活動的”數(shù)據(jù)庫自動出現(xiàn)了多個故障轉(zhuǎn)移(failover),同時又因為集群管理軟件的錯誤操作導(dǎo)致性能下降,最終造成網(wǎng)站宕機。事件二:2012年6月29日,AmazonRDS宕機事件,持續(xù)時間3小時。一個被稱為derecho的強雷暴天氣系統(tǒng)通過弗吉尼亞州北部,使得亞馬遜在該地區(qū)的設(shè)施失去了動力,發(fā)電機不能正常運行,消耗應(yīng)急電源的不間斷電源(電源)系統(tǒng),從而導(dǎo)致運行在AmazonRDS上的大概上千個MySQL數(shù)據(jù)庫宕機。(2)明確學(xué)習(xí)方向。理解相關(guān)數(shù)據(jù)庫。理解數(shù)據(jù)庫集群。理解數(shù)據(jù)庫集群架構(gòu)。二、知識講解(一)數(shù)據(jù)庫簡介1.概念數(shù)據(jù)庫(Database)是按照一定的數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)的組織形式或數(shù)據(jù)之間的聯(lián)系)來組織、存儲及管理數(shù)據(jù)的倉庫,可視為電子化的文件柜,用戶可以對文件中的數(shù)據(jù)進行新增、查詢、更新、刪除等操作。2.數(shù)據(jù)庫模型早期比較受歡迎的數(shù)據(jù)庫模型有三種,分別為層次式數(shù)據(jù)庫、網(wǎng)絡(luò)式數(shù)據(jù)庫、關(guān)系型數(shù)據(jù)庫。而現(xiàn)代的互聯(lián)網(wǎng)世界中,最常用的數(shù)據(jù)庫模型只有兩種,關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫。關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫模型是把復(fù)雜的數(shù)據(jù)結(jié)構(gòu)歸結(jié)為簡單的二元關(guān)系(即二維表格形式)。在關(guān)系型數(shù)據(jù)庫中,對數(shù)據(jù)的操作幾乎全部建立在一個或多個關(guān)系表格上,通過這些關(guān)聯(lián)的表格分類、合并、連接或選取等運算來實現(xiàn)數(shù)據(jù)的管理。非關(guān)系型數(shù)據(jù)庫非關(guān)系型數(shù)據(jù)庫也被稱為NoSQL數(shù)據(jù)庫,NoSQL的本意是“NotOnlySQL”,指的是非關(guān)系型數(shù)據(jù)庫,而不是“NOSQL”的意思,因此,NoSQL的產(chǎn)生并不是要徹底否定關(guān)系型數(shù)據(jù)庫,而是作為傳統(tǒng)數(shù)據(jù)庫的一個有效補充。NoSQL數(shù)據(jù)庫在特定的場景下可以發(fā)揮難以想象的高效率和高性能。(二)數(shù)據(jù)庫集群簡介1.概念數(shù)據(jù)庫集群,顧名思義,配置若干(兩臺及以上)臺數(shù)據(jù)庫服務(wù)器組成一個系統(tǒng),作為一個整體為客戶端提供透明的數(shù)據(jù)服務(wù)。大量讀寫請求來臨時,數(shù)據(jù)庫集群可以將請求分發(fā)給不同的集群節(jié)點,這樣的處理使得數(shù)據(jù)的讀寫速度更快,也更好地解決了高并發(fā)情況下單節(jié)點數(shù)據(jù)庫的性能問題。2.分布式數(shù)據(jù)庫分布式數(shù)據(jù)庫是指利用網(wǎng)絡(luò)將分散的數(shù)據(jù)存儲節(jié)點連接起來組成一個整體提供數(shù)據(jù)庫服務(wù)。用戶通過分布式數(shù)據(jù)庫系統(tǒng)的就近訪問原則,可以訪問就近的數(shù)據(jù)庫節(jié)點,數(shù)據(jù)庫各節(jié)點之間能夠同步數(shù)據(jù)傳輸,實現(xiàn)了數(shù)據(jù)的一致性。3.數(shù)據(jù)庫集群與分布式數(shù)據(jù)庫系統(tǒng)的對比圖4.數(shù)據(jù)庫集群與分布式數(shù)據(jù)庫系統(tǒng)的區(qū)別數(shù)據(jù)庫可以具有多個相似或相同的數(shù)據(jù)集,分布式數(shù)據(jù)庫系統(tǒng)一般具有完全不同的數(shù)據(jù)集。數(shù)據(jù)庫集群的各節(jié)點使用相同的操作系統(tǒng)、數(shù)據(jù)庫版本,以及相同版本的補丁包,而分布式數(shù)據(jù)庫系統(tǒng)中各節(jié)點可以使用不同的操作系統(tǒng)和不同版本的數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫集群一般情況下是建立在高速局域網(wǎng)內(nèi),而分布式數(shù)據(jù)庫系統(tǒng)還可以建立在異地遠程網(wǎng)絡(luò)。(三)數(shù)據(jù)庫集群架構(gòu)主從復(fù)制主從復(fù)制架構(gòu),顧名思義,分為主數(shù)據(jù)庫和從數(shù)據(jù)庫。從數(shù)據(jù)庫要求與主數(shù)據(jù)庫有完全相同數(shù)據(jù)庫環(huán)境,當(dāng)主數(shù)據(jù)庫實時更新數(shù)據(jù)信息時,主數(shù)據(jù)庫會將更新信息寫入一個二進制文件binlog中,然后發(fā)送到從數(shù)據(jù)庫中。從服務(wù)器成功連接主服務(wù)器后,讀取主服務(wù)器的二進制文件,并執(zhí)行相應(yīng)的操作直至最后一次更新的位置,然后等待主服務(wù)器通知新的更新。數(shù)據(jù)的完整性依賴于主庫保存的binlog,比如主庫宕機了,還可以通過binlog把丟失的數(shù)據(jù)同步到從庫中,以加強數(shù)據(jù)的安全性。一主多從復(fù)制的邏輯圖。多級復(fù)制一主多從的復(fù)制架構(gòu)可以解決大部分請求壓力較大的場景需求,隨著業(yè)務(wù)量的增大,主庫發(fā)送binlog日志到從庫的I/O訪問頻率過高,網(wǎng)絡(luò)壓力也會隨著增大,這時多級復(fù)制架構(gòu)可以解決主庫額外的I/O線程壓力和網(wǎng)絡(luò)壓力。MySQL的多級復(fù)制邏輯圖。雙主復(fù)制雙主復(fù)制(DualMaster)又稱為主主復(fù)制,即兩個主數(shù)據(jù)庫,且兩個主庫互為主從。主主復(fù)制架構(gòu)常用于數(shù)據(jù)庫管理員做維護時需要主從切換的場景,從而避免了重復(fù)搭建從庫的麻煩。主主復(fù)制邏輯圖。多源復(fù)制MySQL5.7版本開始支持多源(Multi-Source)復(fù)制,實現(xiàn)了多主一從復(fù)制,將多個數(shù)據(jù)庫(Master)的數(shù)據(jù)集中發(fā)送到1臺從庫(Slave)上。多源復(fù)制結(jié)構(gòu)要求至少包含兩個主庫和一個從庫,常被用于復(fù)雜的業(yè)務(wù)需求,不但可以支撐OLTP(聯(lián)機事務(wù)處理),又能夠滿足OLAP(聯(lián)機分析處理)。多源復(fù)制的邏輯圖。三、知識鞏固(1)回顧上課前的學(xué)習(xí)目標,對本節(jié)課知識點進行總結(jié)。(2)使用第3章課后作業(yè)。第二學(xué)時(數(shù)據(jù)庫主從復(fù)制實戰(zhàn)、數(shù)據(jù)庫讀寫分離實戰(zhàn))一、回顧上節(jié)課內(nèi)容(1)對上節(jié)課布置的作業(yè)以及學(xué)生提出的問題進行答疑解惑。(2)回顧上節(jié)課內(nèi)容,引出本節(jié)課主題。(3)明確學(xué)習(xí)方向。掌握部署數(shù)據(jù)庫主從復(fù)制。掌握部署數(shù)據(jù)庫讀寫分離。二、知識講解(一)數(shù)據(jù)庫主從復(fù)制實戰(zhàn)1.MySQL主從復(fù)制原理MySQL的主從復(fù)制是一個異步的復(fù)制過程,數(shù)據(jù)將從一個MySQL數(shù)據(jù)庫(Master)復(fù)制到另外一個MySQL數(shù)據(jù)庫(Slave),是由三個線程參與完成了在Master與Slave之間數(shù)據(jù)復(fù)制的過程。其中有兩個線程(SQL線程和I/O線程)在Slave端,另外一個線程(I/O線程)在Master端。要實現(xiàn)MySQL的主從復(fù)制,首先必須打開Master端的binlog記錄功能,否則就無法實現(xiàn)。因為整個復(fù)制過程實際上就是Slave端從Master端獲取binlog日志,然后再在Slave上以相同的順序執(zhí)行獲取的binlog日志中所記錄的各種SQL操作。要打開MySQL的binlog記錄功能,可以通過在MySQL的配置文件f中的mysqld模塊增加log_bin參數(shù)來實現(xiàn)。MySQL主從復(fù)制的工作過程。2.實驗環(huán)境準備2臺VM虛擬機(或者物理服務(wù)器),一臺做主數(shù)據(jù)庫(master1),一臺從數(shù)據(jù)庫(slave1),具體如表。配置項主服務(wù)器從服務(wù)器HostNamemaster1slave1IP4445ServerID144145版本號MySQL5.7MySQL5.73.部署MySQL(1)配置MySQL鏡像源(2)下載并安裝MySQL查看Yum倉庫中提供的MySQL版本。市場中現(xiàn)在使用的是較穩(wěn)定的5.7版本,這里借助Yum管理工具包關(guān)閉MySQL8.0版本,開啟5.7版本進行實驗。首先下載Yum管理工具包。[root@qfedu~]#yum-yinstallyum-utils使用yum-config-manager命令關(guān)閉MySQL8.0版本,并開啟MySQL5.7版本。[root@qfedu~]#yum-config-manager--disablemysql80-community[root@qfedu~]#yum-config-manager--enablemysql57-community設(shè)置完成后再次確認目前倉庫中提供的MySQL版本。[root@qfedu~]#yumrepolistenabled|grepmysqlmysql-connectors-community/x86_64MySQLConnectorsCommunity221mysql-tools-community/x86_64MySQLToolsCommunity135mysql57-community/x86_64MySQL5.7CommunityServer使用Yum命令下載并安裝MySQL,具體如下所示。[root@qfedu~]#yum-yinstallmysql-community-server(3)初始化MySQL安裝完成后,啟動MySQL服務(wù)并設(shè)置開機自啟。[root@qfedu~]#systemctlstartmysqld[root@qfedu~]#systemctlenablemysqld查看系統(tǒng)為root用戶隨機生成的臨時密碼。[root@qfedu~]#cat/var/log/mysqld.log|grep"temporarypassword"2020-01-03T07:22:33.997442Z1[Note]Atemporarypasswordisgeneratedforroot@localhost:g8R4#F*4l,WX臨時密碼為“g8R4#F*4l,WX”。使用root用戶及臨時密碼,進入數(shù)據(jù)庫。[root@qfedu~]#mysql-uroot-p'g8R4#F*4l,WX'……mysql>看見mysql>提示符,說明數(shù)據(jù)庫登錄成功。更改數(shù)據(jù)庫的密碼為“QianFeng@123”。mysql>ALTERUSER'root'@'localhost'IDENTIFIEDBY'qianfeng@123';ERROR1819(HY000):Yourpassworddoesnotsatisfythecurrentpolicyrequirements由上述結(jié)果可知,返回了一個錯誤提示,設(shè)置的密碼不符合密碼安全策略。針對以上問題,需要在配置文件中設(shè)置密碼強度。[root@qfedu~]#vim/etc/f#在[mysqld]下添加如下內(nèi)容[mysqld]validate_password=off然后重啟數(shù)據(jù)庫,重新登錄數(shù)據(jù)庫,修改密碼。[root@qfedu~]#systemctlrestartmysqld[root@qfedu~]#mysql-uroot-p'g8R4#F*4l,WX'······此處省略部分代碼······mysql>alteruser'root'@'localhost'identifiedby'qianfeng@123';QueryOK,0rowsaffected(0.11sec)使用root用戶及設(shè)定的新密碼登陸數(shù)據(jù)庫,驗證密碼是否更改成功。[root@qfedu~]#mysql-uroot-p'QianFeng@123'······此處省略部分代碼······mysql>由上述結(jié)果可知,密碼更改成功,數(shù)據(jù)庫初始化完成。4.部署主從復(fù)制集群(1)配置主服務(wù)器在配置主從復(fù)制集群時,需要在主服務(wù)器上開啟二進制日志并配置唯一的服務(wù)器ID,配置完成后需要重新啟動mysqld服務(wù)。編輯主服務(wù)器的配置文件f。[root@master1~]#vi/etc/f[mysqld]#添加如下代碼log-bin=/var/log/mysql/mysql-binserver-id=144創(chuàng)建相關(guān)的日志目錄并賦予權(quán)限。[root@master1~]#mkdir/var/log/mysql[root@master1~]#chownmysql.mysql/var/log/mysql目錄創(chuàng)建完成后,重新啟動mysqld服務(wù)。[root@master1~]#systemctlrestartmysqld為了保證在使用帶事務(wù)的InnoDB進行復(fù)制設(shè)置時盡可能提高持久性和一致性,也需要在主服務(wù)器(master1)的f配置文件中加入以下配置項。innodb_flush_log_at_trx_commit=1sync_binlog=1在MySQL中查看skip_networking選項狀態(tài)。mysql>showvariableslike'%skip_networking%';+-----------------+-------+|Variable_name|Value|+-----------------+-------+|skip_networking|OFF|+-----------------+-------+1rowinset(0.00sec)由上述結(jié)果可知,skip_networking選項為關(guān)閉狀態(tài)。(2)創(chuàng)建指定用戶創(chuàng)建一個專門用于復(fù)制數(shù)據(jù)的用戶,每個從服務(wù)器需要使用MySQL主服務(wù)器上的用戶名和密碼連接到主服務(wù)器上。例如,在主服務(wù)上創(chuàng)建用戶repl,并允許該用戶可以從任何主機上連接到Master上進行復(fù)制操作。mysql>createuser'repl'@'%';QueryOK,0rowsaffected(0.02sec)mysql>grantreplicationslaveon*.*to'repl'@'%'identifiedby'qianfeng@123';QueryOK,0rowsaffected(0.02sec)用戶和權(quán)限設(shè)置完成后,可以嘗試在從服務(wù)器上使用剛才創(chuàng)建的用戶進行測試連接。[root@slave1~]#mysql-urepl-p'qianfeng@123'-hmaster1……mysql>由上述結(jié)果可知,用戶repl可以通過從服務(wù)器登陸主服務(wù)器。(3)拷貝數(shù)據(jù)在搭建主從復(fù)制集群時,主服務(wù)上可能會已經(jīng)存在數(shù)據(jù),為了模擬真實的生產(chǎn)環(huán)境,在主服務(wù)器上插入測試數(shù)據(jù)。mysql>createdatabasetest;mysql>createtabletest.t1(idint,namevarchar(50));mysql>insertintotest.t1values(1,"lucky"),(2,"Cookie"),(3,"Belle");在啟動復(fù)制之前,需要將主服務(wù)器中現(xiàn)有的數(shù)據(jù)與從服務(wù)器保持同步,在進行相關(guān)操作時需要保持客戶端的正常運行,以便鎖定保持不變。將主服務(wù)器中現(xiàn)有的數(shù)據(jù)導(dǎo)出,并將導(dǎo)出的數(shù)據(jù)復(fù)制到每個從服務(wù)器上。本次實例將使用mysqldump工具創(chuàng)建要復(fù)制的所有數(shù)據(jù)庫轉(zhuǎn)儲。[root@master1~]#mysqldump-uroot-p'qianfeng@123'--all-databases--master-data=1>dbdump.db查看備份中數(shù)據(jù)記錄的二進制日志的位置,以便在從服務(wù)器配置中使用。[root@master1~]#vimdbdump.db……22CHANGEMASTERTOMASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=1255;//省略部分內(nèi)容//使用scp或者rsync工具將備份出來的數(shù)據(jù)傳輸?shù)綇姆?wù)器上。[root@master1~]#scpdbdump.dbroot@slave1:/root/(4)配置從服務(wù)器數(shù)據(jù)拷貝完成后,在從服務(wù)器的f配置文件中添加ServerID。[root@slave1~]#vi/etc/f[mysqld]server-id=145需要注意,配置修改完成后需要重新啟動mysqld的服務(wù)。[root@slave1~]#systemctlrestartmysqld接下來,在從服務(wù)器的數(shù)據(jù)庫中導(dǎo)入備份數(shù)據(jù)。mysql>source/root/dbdump.db從服務(wù)器上連接主服務(wù)器,注意相關(guān)信息的準確性。mysql>CHANGEMASTERTO->master_host='master1',->master_user='repl',->master_password='qianfeng@123',->master_log_file='mysql-bin.000001',->master_log_pos=1255;在從服務(wù)器開始復(fù)制線程。mysql>startslave;在從服務(wù)器執(zhí)行如下操作可以驗證線程是否工作正常。mysql>showslavestatus\G……Slave_IO_Running:YesSlave_SQL_Running:Yes……I/O線程和SQL線程的狀態(tài)都為YES,證明主從復(fù)制線程啟動成功。5.測試數(shù)據(jù)同步(詳見第3章PPT)(1)復(fù)制狀態(tài)驗證(2)故障排除(3)加入新的從服務(wù)器(二)數(shù)據(jù)庫讀寫分離實戰(zhàn)1.數(shù)據(jù)庫代理(1)代理服務(wù)器是網(wǎng)絡(luò)信息的中轉(zhuǎn)站,是信息“交流”的使者,常見的數(shù)據(jù)庫代理架構(gòu)。(2)代理服務(wù)器提供統(tǒng)一的入口供用戶訪問,當(dāng)用戶訪問代理服務(wù)器時,代理服務(wù)器會將用戶請求平均的分發(fā)到后端的服務(wù)器集群,并且其本身并不會做任何的數(shù)據(jù)處理。這樣一來,代理服務(wù)器不僅起到負載均衡的作用,而且同時還提供了獨立的端口和IP。當(dāng)后端的服務(wù)器處理完請求后也會通過代理服務(wù)器返回給用戶,基本的網(wǎng)絡(luò)拓撲如圖。數(shù)據(jù)庫代理(DBProxy)又被稱為數(shù)據(jù)庫中間件,當(dāng)面對大量的應(yīng)用請求時,代理可以通過對數(shù)據(jù)進行分片以及自身的自動路由與聚合機制實現(xiàn)對不同請求的分發(fā),以此來達到數(shù)據(jù)庫的讀寫分離功能。2.Mycat讀寫分離原理Mycat是一款開源的數(shù)據(jù)庫代理軟件,由阿里巴巴在Cobar的基礎(chǔ)上進行改良,不僅支持市場上主流的數(shù)據(jù)庫(MySQL、Oracle、MongoDB等),而且還支持數(shù)據(jù)庫中的事務(wù)操作。通過搭建Mycat代理,實現(xiàn)MySQL雙主雙從集群的讀寫分離。讀寫分離集群架構(gòu)如圖。3.實驗環(huán)境讀寫分離集群中,各服務(wù)器的詳細參數(shù)如表。主機名稱主機IP系統(tǒng)Mycat40Centos7Master144Centos7Slave145Centos7Master241Centos7Slave242Centos74.部署流程(詳見第3章PPT)(1)配置Java環(huán)境在Mycat服務(wù)器中使用Wget工具下載相應(yīng)的JDK壓縮包并解壓。[root@mycat~]#lsjdk-8u311-linux-x64.tar.gz[root@mycat~]#tarxfjdk-8u311-linux-x64.tar.gz-C/usr/local/[root@mycat~]#ln-s/usr/localk1.8.0_311//usr/local/java解壓完成后需要在全局配置文件內(nèi)追加設(shè)置Java環(huán)境變量。[root@mycat~]#vim/etc/profileJAVA_HOME=/usr/local/javaPATH=$JAVA_HOME/bin:$PATHexportJAVA_HOMEPATH刷新全局變量,使環(huán)境變量生效。[root@mycat~]#source/etc/profile使用相關(guān)命令驗證Java環(huán)境是否安裝成功。[root@mycat~]#env|grepJAVAJAVA_HOME=/usr/local/java[root@mycat~]#java-versionjavaversion"1.8.0_311"Java(TM)SERuntimeEnvironment(build1.8.0_311-b11)JavaHotSpot(TM)64-BitServerVM(build25.311-b11,mixedmode)(2)配置MycatJava環(huán)境搭建完成后,即可部署Mycat服務(wù)。首先,為了讓應(yīng)用之間互不影響,可以為Mycat創(chuàng)建一個專屬的用戶。#查看是否已經(jīng)存在Mycat用戶[root@mycat~]#cat/etc/group|grepmycat[root@mycat~]#cat/etc/passwd|grepmycat#創(chuàng)建Mycat用戶[root@mycat~]#groupaddmycat[root@mycat~]#useradd-gmycatmycat在Mycat服務(wù)器中使用wget工具進行下載,下載完成后將壓縮包解壓至指定路徑即可。[root@mycat~]#wget//20190828135747/Mycat-server--release-20190828135747-linux.tar.gz[root@mycat~]#tarxfMycat-server--release-20190828135747-linux.tar.gz-C/usr/local/[root@mycat~]#ls/usr/local/mycat/bincatletconfliblogsversion.txt由上述結(jié)果可知,解壓在/usr/local/目錄下有一個mycat文件夾,將該文件夾的所有者設(shè)置為mycat用戶。[root@mycat~]#chown-Rmycat:mycat/usr/local/mycatetc文件下的profile文件是設(shè)置系統(tǒng)級別的環(huán)境變量和啟動程序的,其中的配置會對所有用戶生效。此時只需修改單個用戶的環(huán)境變量,編輯~/.bashrc文件。[root@mycat~]#vim~/.bashrc#添加如下代碼exportMYCAT_HOME=/usr/local/mycatexportPATH=$PATH:$MYCAT_HOME/bin刷新全局變量,使環(huán)境變量生效。[root@mycat~]#source/etc/profile修改server.xml配置文件。修改schema.xml文件。(3)配置MySQL集群Mycat代理配置完成后,需要在后端的MySQL集群上設(shè)置mycatproxy的訪問權(quán)限。例如,在Master1服務(wù)器上設(shè)置用戶權(quán)限。mysql>grantallon*.*to'mycatproxy'@'40'identifiedby'QianFeng@123';需要注意,40為Mycat服務(wù)器的IP地址。(4)啟動Mycat在MySQL服務(wù)器將權(quán)限開啟完成后,在Mycat服務(wù)器上啟動代理服務(wù)。[root@mycat~]#/usr/local/mycat/bin/mycatstartStartingMycat-server...當(dāng)執(zhí)行結(jié)果出現(xiàn)“StartingMycat-server”時,則表示代理服務(wù)正在啟動。另外,也可以查看通過查看相應(yīng)的端口來檢查服務(wù)器是否正常運行。(5)配置mycat后端數(shù)據(jù)庫當(dāng)Mycat代理服務(wù)器啟動起來后并不能直接使用,因為Mycat本身并不提供數(shù)據(jù)存儲功能,所以還需要將Mycat中虛擬的數(shù)據(jù)庫框架與后端真實的數(shù)據(jù)庫進行綁定。為了方便讀者理解,這里將在Mycat主機上安裝MySQL服務(wù),具體如下所示。[root@mycat~]#wget /get/mysql80-community-release-el7-4.noarch.rpm[root@mycat~]#yum-ylocalinstallmysql80-community-release-el7-4.noarch.rpm[root@mycat~]#yum-yinstallyum-utils[root@mycat~]#yum-config-manager--disablemysql80-community[root@mycat~]#yum-config-manager--enablemysql57-community[root@mycat~]#yumrepolistenabled|grepmysqlmysql-connectors-community/x86_64MySQLConnectorsCommunity221mysql-tools-community/x86_64MySQLToolsCommunity135mysql57-community/x86_64MySQL5.7CommunityServer544[root@mycat~]#yum-yinstallmysql-community-server[root@mycat~]#systemctlstartmysqld[root@mycat~]#systemctlenablemysqld[root@mycat~]#cat/var/log/mysqld.log|grep"temporarypassword"2022-01-21T08:54:26.713978Z1[Note]Atemporarypasswordisgeneratedforroot@localhost:&.XrF!?y,50F[root@mycat~]#vim/etc/f#添加以下內(nèi)容validate_password=off[root@mycat~]#mysql-uroot-p'&.XrF!?y,50F'……mysql>ALTERUSER'root'@'localhost'IDENTIFIEDBY'qianfeng@123';QueryOK,0rowsaffected(0.00sec)mysql>\q[root@mycat~]#mysql-h-uroot-pqianfeng@123-P9066……mysql>showdatabases;+----------+|DATABASE|+----------+|TESTDB|+----------+1rowinset(0.00sec)由上述結(jié)果可知,Mycat部署成功后已經(jīng)創(chuàng)建了虛擬數(shù)據(jù)庫TESTDB,但此時的數(shù)據(jù)庫中還不能插入數(shù)據(jù),需要綁定后端的數(shù)據(jù)庫才可以使用。此時,登錄Master1數(shù)據(jù)庫并創(chuàng)建與Mycat同名的數(shù)據(jù)庫。[root@master1~]#mysql-uroot-p'q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園紅色戲劇課程設(shè)計
- 2024年海南省建筑安全員-C證(專職安全員)考試題庫
- 2024云南省安全員-B證考試題庫附答案
- 電基實驗課程設(shè)計
- 立式壓機課程設(shè)計
- 組數(shù)游戲課課程設(shè)計
- 植物課課程設(shè)計模板
- 煤矸石燒結(jié)磚課程設(shè)計
- 石塑黏土創(chuàng)意課程設(shè)計
- 混凝土課程設(shè)計中So代表啥
- 基于LoRa通信的智能家居系統(tǒng)設(shè)計及研究
- YYT 0741-2009 數(shù)字化醫(yī)用X射線攝影系統(tǒng) 專用技術(shù)條件
- 《大數(shù)據(jù)分析技術(shù)》課程標準
- 2024屆高考考前強化之分析小說人物心理作用及變化過程
- 跟蹤審計服務(wù) 投標方案(技術(shù)方案)
- 管道基坑開挖施工方案
- 廣東省汕頭市金平區(qū)2023-2024學(xué)年七年級上學(xué)期期末語文試題
- 計算機組成原理(商洛學(xué)院)智慧樹知到期末考試答案2024年
- (2024年)電工安全培訓(xùn)(新編)課件
- 2024年度新型紡織纖維
- 2024年廣東珠海水務(wù)環(huán)境控股集團有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論