大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 MySQL的分庫(kù)分表框架

MySQL的分庫(kù)分表框架

更新時(shí)間:2022-07-13 10:35:46 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1939次

MySQL教程中會(huì)學(xué)到分庫(kù)分表,下面就由動(dòng)力節(jié)點(diǎn)小編來(lái)給大家進(jìn)行詳細(xì)介紹。

MySQL 可擴(kuò)展設(shè)計(jì)

數(shù)據(jù)庫(kù)擴(kuò)展解決了什么問(wèn)題?

做熱備份,保證多活,方便故障切換

負(fù)載均衡、讀寫分離

1.主從架構(gòu):Master-Slaves

在實(shí)際應(yīng)用場(chǎng)景中,MySQL 復(fù)制 90% 以上都是一個(gè) Master 復(fù)制到一個(gè)或者多個(gè) Slave 的架構(gòu)模式。

缺點(diǎn):

master 不能停機(jī),停機(jī)就不能接收寫請(qǐng)求。

slave 過(guò)多會(huì)出現(xiàn)延遲。

由于 master 需要進(jìn)行常規(guī)維護(hù)停機(jī)了,那必須要把一個(gè)slave提成master,會(huì)存在某一個(gè) slave 提成 master 后,存在當(dāng)前 master 和掛掉之前的 master 數(shù)據(jù)不一致的情況,并且之前 master 并沒(méi)有保存當(dāng)前 master 節(jié)點(diǎn)的 binlog 文件和 pos 位置。

2.雙主架構(gòu):Master-Master

配合第三方的工具,比如 keepalived 輕松做到 IP 的漂移,當(dāng)一個(gè) master 掛掉后,請(qǐng)求轉(zhuǎn)移到另一個(gè) master。

3.級(jí)聯(lián)復(fù)制架構(gòu):Master-Slaves-Slaves…

如果讀壓力加大,就需要更多的 slave 來(lái)解決,但是如果 slave 的復(fù)制全部從 master 復(fù)制,勢(shì)必會(huì)加大 master 的復(fù)制 IO 的壓力,所以就出現(xiàn)了級(jí)聯(lián)復(fù)制,減輕 master 壓力。缺點(diǎn)是 slave 延遲更加大了。

4.雙主與級(jí)聯(lián)復(fù)制架構(gòu):Master-Master-Slaves

這樣解決了單點(diǎn) master 的問(wèn)題,解決了 slave 級(jí)聯(lián)延遲的問(wèn)題。

5.復(fù)制機(jī)制

MySQL 復(fù)制支持異步復(fù)制、半同步復(fù)制:異步復(fù)制時(shí)不需要等待 slave 返回。

半同步復(fù)制失敗后會(huì)切換為異步。

6.主從復(fù)制配置

master配置
server-id=135
log-bin=mysql-bin
auto_increment_increment=2
auto_increment_offset=1
lower_case_table_names=1
#binlog-do-db=mstest      //要同步的mstest數(shù)據(jù)庫(kù),要同步多個(gè)數(shù)據(jù)庫(kù)
#binlog-ignore-db=mysql  //要忽略的數(shù)據(jù)庫(kù)
slave配置
server-id=133
log-bin=mysql-bin
auto-increment-increment=2
auto-increment-offset=2
lower_case_table_names=1
#replicate-do-db  = wang           #需要同步的數(shù)據(jù)庫(kù)
#binlog-ignore-db  = mysql
#binlog-ignore-db  = information_schema

在 master mysql 添加權(quán)限

GRANT REPLICATION SLAVE,FILE,REPLICATION CLIENT ON *.* TO 'repluser'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;

在 master 上查看 master 的二進(jìn)制日志

show  master status;

在 slave 中設(shè)置 master 的信息

change master to master_host='192.168.88.135',master_port=3307,master_user='repluser',master_password='Jack@123456',master_log_file='mysql-bin.000001',master_log_pos=154;

開(kāi)啟 slave,啟動(dòng) SQL 和 IO 線程

start slave;

查看 slave 的狀態(tài)

show slave status\G

查看二進(jìn)制日志是否開(kāi)啟

show global variables like "%log%";

查看進(jìn)程信息

SHOW PROCESSLIST;

允許root遠(yuǎn)程連接

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;

7.半同步復(fù)制配置

加載 lib,所有主從節(jié)點(diǎn)都要配置

主庫(kù):install plugin rpl_semi_sync_master soname ‘semisync_master.so’;

從庫(kù):install plugin rpl_semi_sync_slave soname ‘semisync_slave.so’;

查看,確保所有節(jié)點(diǎn)都成功加載。show plugins;

啟用半同步

先啟用從庫(kù)上的參數(shù),最后啟用主庫(kù)的參數(shù)。

從庫(kù):set global rpl_semi_sync_slave_enabled = {0|1}; # 1:?jiǎn)⒂茫?:禁止

主庫(kù):

set global rpl_semi_sync_master_enabled = {0|1}; # 1:?jiǎn)⒂茫?:禁止

set global rpl_semi_sync_master_timeout = 10000; # 單位為ms

MySQL 切分

數(shù)據(jù)切分指通過(guò)某種特定的條件,將我們存放在同一個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)分散存放到多個(gè)數(shù)據(jù)庫(kù)(主機(jī))上面,以達(dá)到分散單臺(tái)設(shè)備負(fù)載的效果。

數(shù)據(jù)切分分為兩種:

垂直切分

水平切分

1.數(shù)據(jù)庫(kù)垂直切分

垂直切分的優(yōu)點(diǎn):

數(shù)據(jù)庫(kù)的拆分簡(jiǎn)單明了,拆分規(guī)則明確;

應(yīng)用程序模塊清晰明確,整合容易;

數(shù)據(jù)維護(hù)方便易行,容易定位;

垂直切分缺點(diǎn):

跨庫(kù) join

代碼要重構(gòu),會(huì)有分布式事務(wù)問(wèn)題

跨庫(kù)分頁(yè)問(wèn)題。

部分表關(guān)聯(lián)無(wú)法在數(shù)據(jù)庫(kù)級(jí)別完成,需要在程序中完成,存在跨庫(kù) join 的問(wèn)題,對(duì)于這類的表,就需要去做平衡,是數(shù)據(jù)庫(kù)讓步業(yè)務(wù),共用一個(gè)數(shù)據(jù)源,還是分成多個(gè)庫(kù),業(yè)務(wù)之間通過(guò)接口來(lái)做調(diào)用;在系統(tǒng)初期,數(shù)據(jù)量比較少,或者資源有限的情況下,會(huì)選擇共用數(shù)據(jù)源,但是當(dāng)數(shù)據(jù)發(fā)展到了一定的規(guī)模,負(fù)載很大的情況,就需要必須去做分割。

對(duì)于訪問(wèn)極其頻繁且數(shù)據(jù)量超大的表仍然存在性能瓶頸,不一定能滿足要求。

事務(wù)處理相對(duì)更為復(fù)雜。

切分達(dá)到一定程度之后,擴(kuò)展性會(huì)遇到限制。

過(guò)多切分可能會(huì)帶來(lái)系統(tǒng)過(guò)渡復(fù)雜而難以維護(hù)。

2.數(shù)據(jù)庫(kù)水平拆分

水平拆分不是將表做分類,而是按照某個(gè)字段的某種規(guī)則來(lái)分散到多個(gè)庫(kù)之中,每個(gè)表中包含一部分?jǐn)?shù)據(jù)。簡(jiǎn)單來(lái)說(shuō),我們可以將數(shù)據(jù)的水平切分理解為是按照數(shù)據(jù)行的切分,就是將表中的某些行切分到一個(gè)數(shù)據(jù)庫(kù),而另外的某些行又切分到其他的數(shù)據(jù)庫(kù)中。

水平切分的優(yōu)點(diǎn):

表關(guān)聯(lián)基本能夠在數(shù)據(jù)庫(kù)端全部完成;

不會(huì)存在某些超大型數(shù)據(jù)量和高負(fù)載的表遇到瓶頸的問(wèn)題;

應(yīng)用程序端整體架構(gòu)改動(dòng)相對(duì)較少;

事務(wù)處理相對(duì)簡(jiǎn)單;

只要切分規(guī)則能夠定義好,基本上較難遇到擴(kuò)展性限制;

水平切分的缺點(diǎn):

切分規(guī)則相對(duì)更為復(fù)雜,很難抽象出一個(gè)能夠滿足整個(gè)數(shù)據(jù)庫(kù)的切分規(guī)則;

后期數(shù)據(jù)的維護(hù)難度有所增加,人為手工定位數(shù)據(jù)更困難;

應(yīng)用系統(tǒng)各模塊耦合度較高,可能會(huì)對(duì)后面數(shù)據(jù)的遷移拆分造成一定的困難。

跨節(jié)點(diǎn)合并排序分頁(yè)問(wèn)題

多數(shù)據(jù)源管理問(wèn)題

以上就是關(guān)于“MySQL的分庫(kù)分表框架”的介紹,大家如果想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的MySQL視頻教程,里面的課程內(nèi)容細(xì)致全面,通俗易懂,很適合沒(méi)有基礎(chǔ)的小伙伴學(xué)習(xí),希望對(duì)大家能夠有所幫助哦。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 两个人高清视频图片中文字幕 | 国产区一区 | 全免费一级毛片在线播放 | 四虎在线视频观看大全影视 | 国产一级毛片一区二区三区 | 国内精品久久久久影院一蜜桃 | 破处一级片 | 亚洲成a人v欧美综合天 | 中国一级特黄大片毛片 | 噜噜嘿在线视频免费观看 | 狠狠色噜噜狠狠狠狠69 | 奇米影视777狠狠狠888不卡 | 久草欧美视频 | 高清中文字幕免费观在线 | 天天做.天天爱.天天综合网 | 免费女人18毛片a级毛片视频 | 精品国产调教最大网站女王 | 97精品视频共享总站 | 欧美成人一区二区三区不卡视频 | 日本护士一级毛片在线播放 | 50-60岁老妇女一级毛片 | 亚洲精品国产第一区第二区国 | 国产精品亚洲精品不卡 | 欧美大屁股精品毛片视频 | 午夜免费播放观看在线视频 | 中文字幕一区2区3区 | 久久精品中文字幕不卡一二区 | 亚洲国产www| 幻女bbwxxxxyounu | 午夜香蕉视频 | 男人天堂a在线 | 国产亚洲精品成人久久网站 | 香蕉依依精品视频在线播放 | 国产成人一区二区三区在线播放 | 香蕉视频黄色在线观看 | 六色视频 | 中文字幕一区二区三区精彩视频 | 狠狠色狠狠色综合久久第一次 | 中文一级片 | 看毛片免费 | 日韩射吧|