資料庫一直在專案擔當著一位核心的角色,是所有專案結構中的底層,說白了,我們程式員進行專案開發都是在和資料打交道,而資料都是保存在資料庫中,如mysql、oracle、postgresql等等,如果一個專案中資料庫垮掉了,那資料層就斷了,資料都沒了,還怎么進行專案中的資料互動,所以我們必須保證專案中資料庫這一層的高可用,高性能,避免在一些高并發的場景,資料庫層進入瓶頸,
現在大多數(幾乎所有)專案中,都在資料庫層前面加入快取這一層,避免頻繁的訪問資料庫,從而從快取中獲取資料,如現在主流的redis、MongoDB等等,雖說大大緩解了資料庫的壓力,但依然無法避免資料庫宕機,從而快取這一層就沒有任何作用了,因為有些業務必須從資料庫獲取最新的資料后才放到快取中,為解決資料庫的高可用,高性能,我們可以對資料庫進行主從備份,所謂主從備份就是一主一從或一主多從或多主多從的方式進行多資料庫之間的同步、關聯,也可以說就是集群,這樣就保證了資料庫的高可用,主庫掛了,從庫接替主庫干活,一定要記住,主庫只負責寫,從庫只負責讀,我這里只會給大家講解一主一從的方式實作資料庫的主從備份,大家可以根據目前專案的實際情況考慮什么方式,(ps:大家也可以在原有的方式中增加節點,比如我現在是一主一從,那可以自原有的配置中再增加一個從節點都是可以的)
主從配置
角色 環境 mysql版本 主機IP 埠
Master centerOS7 mysql5.7 192.168.1.206 3306
Slave centerOS7 mysql5.7 192.168.1.181 3306
Mysql和Mycat的安裝我就不演示了,各位可以自行百度
首先,我們使用xshell工具連接到我們兩個資料庫的環境中,編輯我們資料庫的my.cnf檔案(windows系統直接修改mysql安裝目錄下的my.ini檔案)
//修改資料庫組態檔 vi /etc/my.cnf
主庫(Master:192.168.1.206)
//必須保證唯一 server-id=1 #設定server-id //開啟binlog日志 log-bin=mysql-bin #開啟二進制日志 //關聯的資料庫,多個資料庫用不同的binlog-do-db,多資料庫不要以逗號隔開 binlog-do-db=test //不關聯的資料庫,多個資料庫用不同的binlog-do-db,多資料庫不要以逗號隔開 binlog-ignore-db=mysql //保存后重啟mysql服務 service mysqld restart
從庫(Slave:192.168.1.186)
//必須保證唯一 server-id=2 #設定server-id //保存后重啟mysql服務 service mysqld restart
連接到我們的主庫(Master:192.168.1.206)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/285996.html
標籤:架構設計
