1. 什么是數(shù)據(jù)庫
數(shù)據(jù)庫是“按照數(shù)據(jù)結(jié)構(gòu)來組織托启、存儲(chǔ)和管理數(shù)據(jù)的倉庫”肋殴。是一個(gè)長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的以故、可共享的蜗细、統(tǒng)一管理的大量數(shù)據(jù)的集合。簡(jiǎn)單的來說就像是一個(gè)大型的衣柜怒详,你所有春夏秋冬的衣服都被統(tǒng)一放在了一個(gè)衣柜里炉媒,然后分類,分季節(jié)的有序擺放好昆烁。數(shù)據(jù)庫的優(yōu)點(diǎn)重點(diǎn)在于體量足夠的大吊骤,一般的數(shù)據(jù)存儲(chǔ)移動(dòng)硬盤完全就能解決我們的需求,當(dāng)在大體量數(shù)據(jù)計(jì)算和存儲(chǔ)上静尼,數(shù)據(jù)庫的優(yōu)勢(shì)就體現(xiàn)出來了白粉。
2. 數(shù)據(jù)庫如何運(yùn)行
數(shù)據(jù)庫里面放著數(shù)據(jù)传泊,既然說到數(shù)據(jù)庫,那么數(shù)據(jù)庫是怎么來運(yùn)行的呢鸭巴?SQL是用來操作數(shù)據(jù)庫里數(shù)據(jù)的工具眷细。
數(shù)據(jù)庫里面放著數(shù)據(jù),SQL是用來操作數(shù)據(jù)庫里數(shù)據(jù)的工具鹃祖。
之后回到我們衣柜的原理上溪椎,當(dāng)你把衣服存放在衣柜里,當(dāng)你想要穿一件衣服的時(shí)候恬口,只需要按照你的想法來進(jìn)行檢索就能找到你要的答案池磁。
說到數(shù)據(jù)庫,數(shù)據(jù)庫有一個(gè)非常重要的功能就是讀寫分離楷兽。
GaussDB(for MySQL)支持直接掛載只讀節(jié)點(diǎn)地熄,用于分擔(dān)主節(jié)點(diǎn)讀取壓力。
GaussDB(for MySQL)的主節(jié)點(diǎn)和只讀節(jié)點(diǎn)都具有獨(dú)立的連接地址芯杀,每個(gè)GaussDB(for MySQL)實(shí)例最多支持創(chuàng)建15個(gè)只讀節(jié)點(diǎn)端考。
用戶只需通過添加只讀節(jié)點(diǎn)的個(gè)數(shù),即可不斷擴(kuò)展系統(tǒng)的處理能力揭厚,無需更改應(yīng)用程序却特。
下面介紹一個(gè)基本場(chǎng)景。在工作當(dāng)中有的時(shí)候會(huì)因?yàn)閿?shù)據(jù)量大筛圆,導(dǎo)致單個(gè)數(shù)據(jù)庫已經(jīng)不足以支撐業(yè)務(wù)需求裂明,因此常常將數(shù)據(jù)庫的讀和寫的功能分離開,這樣讀取數(shù)據(jù)在一個(gè)數(shù)據(jù)庫上太援,寫數(shù)據(jù)在一個(gè)數(shù)據(jù)庫上闽晦,就減少了單個(gè)數(shù)據(jù)庫的工作,下面就描述一下具體步驟
實(shí)驗(yàn)環(huán)境
兩臺(tái)虛擬機(jī)
安裝mysql mariadb mariadb-server
開啟服務(wù)
systemctl start mariadb
配置遠(yuǎn)程訪問的用戶
mysql -uroot -p 進(jìn)到數(shù)據(jù)庫(root的默認(rèn)密碼為空所以輸入命令后直接回車就行)
use mysql
GRANT ALL PRIVILEGES ON . TO ‘wl’@’%'IDENTIFIED BY ‘123’ WITH GRANT OPTION; (設(shè)置遠(yuǎn)程登陸用戶wl ,IP為本機(jī)IP 密碼為123)
主數(shù)據(jù)庫設(shè)置:
vim /etc/my.cnf
在[mysqld]標(biāo)簽下面增加以下代碼:
server-id=1
log-bin=master-bin
重啟服務(wù)
systemctl restart mariadb.service
mysql -uroot -p 進(jìn)到數(shù)據(jù)庫
在主服務(wù)器的數(shù)據(jù)庫上查詢主服務(wù)狀態(tài)
SHOW MASTER STATUS
這里會(huì)出現(xiàn)日志文件的File和position提岔,這個(gè)在后面會(huì)用的到
從數(shù)據(jù)庫設(shè)置
1.用vim打開my.cnf:
vim /etc/my.cnf
2.在[mysqld]標(biāo)簽下面增加以下代碼:
server-id=2 #這個(gè)id必須不能和主數(shù)據(jù)庫相同
read-only=on #設(shè)置該數(shù)據(jù)庫是只讀狀態(tài)
relay-log=relay-bin
3.重啟服務(wù)
systemctl restart mariadb.service
4.進(jìn)入到數(shù)據(jù)庫
mysql -uroot -p
5.執(zhí)行下面語句仙蛉,
change master to master_host=‘192.168.0.220’,master_user=‘wl’,master_password=‘123’, master_log_file=‘master-bin.000003’,master_log_pos=2077;
(master_host:主數(shù)據(jù)庫IP
master_user:主數(shù)據(jù)庫所設(shè)置的遠(yuǎn)程連接用戶名
master_password:主數(shù)據(jù)庫所設(shè)置的遠(yuǎn)程連接密碼
master_log_file=‘master-bin.000003’:所生成的二進(jìn)制日志文件,在上一張圖片中有顯示)
master_log_pos=2077:二進(jìn)制日志文件的端口號(hào)(上張圖片有顯示)
啟動(dòng)slave同步(在數(shù)據(jù)庫中)
START SLAVE;
6.在slave服務(wù)器上查看slave同步的狀態(tài)
show slave status\G
當(dāng)圖片中的內(nèi)容為YES是說明兩個(gè)數(shù)據(jù)庫同步設(shè)置完成
你可以利用mysql工具進(jìn)行測(cè)試
下圖是我用mysql鏈接的兩個(gè)數(shù)據(jù)庫的圖片
其中master是主數(shù)據(jù)庫碱蒙,slave是從數(shù)據(jù)庫荠瘪,兩個(gè)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)同步是根據(jù)二進(jìn)制的日志文件進(jìn)行的,一開始的狀態(tài)兩個(gè)數(shù)據(jù)庫必須保持?jǐn)?shù)據(jù)庫名字相同赛惩,和表的名字相同哀墓,否則會(huì)出現(xiàn)找不到數(shù)據(jù)庫的錯(cuò)誤
出現(xiàn)這個(gè)錯(cuò)誤的主要原因是因?yàn)楫?dāng)時(shí)的日志文件只保存了當(dāng)時(shí)的數(shù)據(jù)庫狀態(tài),將當(dāng)下的兩個(gè)數(shù)據(jù)庫進(jìn)行了連接喷兼,當(dāng)主數(shù)據(jù)庫新增加一個(gè)數(shù)據(jù)庫時(shí)篮绰,從數(shù)據(jù)庫無法匹配到主數(shù)據(jù)庫,就出現(xiàn)了找不到數(shù)據(jù)庫的錯(cuò)誤
解決方法:
1 將主數(shù)據(jù)庫新建的數(shù)據(jù)庫刪除褒搔,在原有的數(shù)據(jù)庫上進(jìn)行增刪操作阶牍,再重新執(zhí)行上面的操作
2 在從數(shù)據(jù)庫中增加與主數(shù)據(jù)庫相同的數(shù)據(jù)庫,再重新執(zhí)行上面的操作
一星瘾、華為云數(shù)據(jù)庫的三大核心優(yōu)勢(shì)
針對(duì)華為云數(shù)據(jù)庫的優(yōu)勢(shì)走孽,專家總結(jié)了3點(diǎn):服務(wù)企業(yè)的基因、全面均衡的產(chǎn)品琳状、優(yōu)秀的軟硬件結(jié)合底層支撐磕瓷。
1****、服務(wù)企業(yè)扎根于華為的基因中
與如今許多以個(gè)人業(yè)務(wù)起家的互聯(lián)網(wǎng)公司不同念逞,華為自誕生起30多年以來的時(shí)間一直扎根于企業(yè)領(lǐng)域困食,在ToB領(lǐng)域有著相當(dāng)豐富的服務(wù)經(jīng)驗(yàn)。
比如在企業(yè)數(shù)據(jù)存儲(chǔ)上翎承,就有云盤和本地盤兩種存儲(chǔ)方式硕盹,其中本地盤在24x365長(zhǎng)時(shí)間運(yùn)行下很容易出問題,云盤的數(shù)據(jù)可靠性更高叨咖。多年經(jīng)驗(yàn)使華為深知對(duì)企業(yè)而言數(shù)據(jù)可靠性是最重要的一環(huán)瘩例,所以華為云數(shù)據(jù)庫服務(wù)方案選型階段就選擇了云盤存儲(chǔ),而許多云商最初存儲(chǔ)數(shù)據(jù)使用的是本地盤甸各,隨后才提供云盤存儲(chǔ)垛贤。細(xì)節(jié)之處以小見大,華為奉行“以客戶為中心”趣倾,華為云正是踐行這一企業(yè)文化的最佳示例聘惦。
2****、全面均衡的產(chǎn)品
與許多領(lǐng)域不同的是儒恋,云服務(wù)講究的是“木桶理論”善绎,此前就出現(xiàn)過云商丟失客戶千萬級(jí)數(shù)據(jù)的事故,一旦出現(xiàn)這種事故诫尽,對(duì)于企業(yè)客戶而言涂邀,其結(jié)果是災(zāi)難性的。
而華為是真的下大力氣做云服務(wù)箱锐,提供從軟件到硬件全面且均衡的企業(yè)級(jí)服務(wù)比勉。以數(shù)據(jù)庫為例,軟件上驹止,華為在國內(nèi)外有多個(gè)研究所和實(shí)驗(yàn)室浩聋,主攻數(shù)據(jù)庫架構(gòu)、數(shù)據(jù)庫內(nèi)核臊恋、數(shù)據(jù)庫分布式技術(shù)研究衣洁;硬件方面,華為是國內(nèi)毫無疑問的領(lǐng)導(dǎo)者之一抖仅,目前華為有國內(nèi)領(lǐng)先的專門從事數(shù)據(jù)庫研發(fā)的工程師團(tuán)隊(duì)坊夫,研發(fā)投入規(guī)模國內(nèi)也是首屈一指砖第。出眾的一軟一硬,不僅保證華為云順利騰飛环凿,也為客戶提供了更全面也更可靠的云數(shù)據(jù)庫服務(wù)梧兼。
3****、優(yōu)秀的軟硬件結(jié)合底層支撐
還是以云數(shù)據(jù)庫為例智听,它分為三部分?jǐn)?shù)據(jù)庫羽杰、算力、存儲(chǔ)到推。在這三方面考赛,華為云都做到他人難以企及的高度。數(shù)據(jù)庫方面莉测,華為具有數(shù)據(jù)庫研究室級(jí)別的內(nèi)核與架構(gòu)設(shè)計(jì)能力颜骤;算力方面,基于“鯤鵬+昇騰”的自研芯片捣卤,多樣化組合讓算力有巨大的突破复哆;存儲(chǔ)方面華為很早的時(shí)候就開發(fā)新一代的存儲(chǔ)架構(gòu),實(shí)現(xiàn)數(shù)據(jù)的高可靠性腌零。
基于在數(shù)據(jù)庫梯找、算力、存儲(chǔ)三方面的技術(shù)積累與全棧優(yōu)勢(shì)益涧,華為得以在云原生數(shù)據(jù)庫TaurusDB和GeminiDB產(chǎn)品的容量和性能上實(shí)現(xiàn)全新的高度锈锤。
服務(wù)企業(yè)的基因、全面均衡的產(chǎn)品闲询、優(yōu)秀的軟硬件結(jié)合這三個(gè)核心原因讓華為云數(shù)據(jù)庫獲得相當(dāng)高的起點(diǎn)與優(yōu)勢(shì)久免。
本文由博客群發(fā)一文多發(fā)等運(yùn)營(yíng)工具平臺(tái) OpenWrite 發(fā)布